2

我正在使用 Assembly.LoadFrom 加载我的 dll 并稍后创建它的实例。

这是我的问题。有时我可以修改我的 dll。更准确地说,我将其删除并创建一个具有相同名称和路径的新文件。当我再次实例化它并调用方法时,我看到正在使用的实例是第一个。

如果我关闭我的应用程序并调用我的方法,则正在使用好的实例。

那么有没有办法释放资源或释放实例?这是我的示例代码

Assembly sampleAssembly = Assembly.LoadFrom(pathToDll);
MyClassEntity = sampleAssembly.CreateInstance("InstanceName") as MyClass;

MyClass 是一个抽象类。

4

1 回答 1

3

程序集加载一次并保存在内存中。您必须将其加载到单独AppDomain的域中并摆脱域以摆脱加载的程序集。

请参阅此链接:http: //msdn.microsoft.com/en-us/library/vstudio/ms173101.aspx

还有这个: 如何为 .NET 应用程序域重新加载程序集?

于 2013-06-06T12:26:24.157 回答