我正在使用Assembly.LoadFrom加载我的dll并稍后创建它的实例。
这是我的问题。 有时候我可以修改我的dll。更准确地说,我删除它并创建一个具有相同名称和路径的新的。当我再次实例化它并调用方法时,我看到正在使用的实例是第一个。
如果我关闭我的应用程序并调用我的方法,则正在使用好的实例。
那么有没有办法解除分配资源或释放实例?这是我的示例代码
Assembly sampleAssembly = Assembly.LoadFrom(pathToDll);
MyClassEntity = sampleAssembly.CreateInstance("InstanceName") as MyClass;
MyClass是一个抽象类。
答案 0 :(得分:2)
程序集加载一次并保存在内存中。您必须将其加载到单独的AppDomain
中并删除域以清除加载的程序集。
请参阅此链接:http://msdn.microsoft.com/en-us/library/vstudio/ms173101.aspx