出现这个问题的原因是因为Activator.CreateInstance方法选择了旧的引用dll,导致无法正常工作。解决这个问题的方法是通过使用Assembly.LoadFrom方法加载最新的dll。
以下是一个示例代码,展示了如何使用Assembly.LoadFrom方法来解决这个问题:
// 加载最新的dll
Assembly assembly = Assembly.LoadFrom("path/to/your/new/dll");
// 创建实例
Type type = assembly.GetType("YourNamespace.YourClass");
object instance = Activator.CreateInstance(type);
// 调用方法
MethodInfo method = type.GetMethod("YourMethod");
method.Invoke(instance, null);
请确保将"path/to/your/new/dll"替换为最新的dll的实际路径,将"YourNamespace.YourClass"替换为包含你要创建实例的类的命名空间和类名,将"YourMethod"替换为你要调用的方法名。
通过使用Assembly.LoadFrom方法加载最新的dll,你可以确保Activator.CreateInstance方法选择的是最新的引用dll,从而解决了无法正常工作的问题。