C# 如何删除应用于类属性的程序集?
我有一个类,它加载了C# 如何删除应用于类属性的程序集?,c#,.net,C#,.net,我有一个类,它加载了公共程序集Assembly{set;get;} var assemblyName = AssemblyName.GetAssemblyName(fullPathToDLLFile); myClass.LoadedAssembly = Assembly.Load(assemblyName); 这个类我保存在Application.Current.Properties[“MyClass”]下 我尝试将其设置为null,就像Application.Current.Properti
公共程序集Assembly{set;get;}
var assemblyName = AssemblyName.GetAssemblyName(fullPathToDLLFile);
myClass.LoadedAssembly = Assembly.Load(assemblyName);
这个类我保存在Application.Current.Properties[“MyClass”]
下
我尝试将其设置为null,就像Application.Current.Properties[“MyClass”]=null代码>但它没有帮助
我看到加载的程序集工作正常(它内部有一个计时器,正在工作)。
我怎样才能清洗它
(我不使用类似于AppDomain d=AppDomain.CreateDomain(“NewDomain”,null,domaininfo);
的方法来加载程序集。)不能任意卸载程序集,必须卸载加载程序集的AppDomain(卸载AppDomain中的所有程序集)。如果您没有将其加载到单独的AppDomain中,那么唯一的方法就是关闭应用程序
此问题中有各种链接,详细说明了不支持此操作的原因:您不能任意卸载程序集,必须卸载加载程序集的AppDomain(卸载AppDomain中的所有程序集)。如果您没有将其加载到单独的AppDomain中,那么唯一的方法就是关闭应用程序
此问题中有各种链接,详细介绍了不支持此功能的原因:您无法卸载程序集,但可以卸载加载程序集的AppDomain。
请参阅说明。您不能卸载程序集,但可以卸载加载程序集的AppDomain。
见解释