我是否需要明确卸载动态加载的程序集?

jac*_*jac 1 c# garbage-collection

我正在使用一些开发人员编写的.NET程序集,以便从较旧的VB6应用程序中使用.它们仅用于我们的一些客户,所以我使用Assembly.LoadFrom(file)方法并调用方法.我打算在打电话后卸载/释放对象.我是否需要明确地做某事,或者垃圾收集器会自动处理它吗?

Ste*_*dit 6

您无法卸载程序集.

(你最接近的是将它加载到AppDomain你卸载的那个.)

  • 将程序集动态加载到单独的AppDomain中实际上是正确的设计模式.这样,如果在动态加载的程序集中抛出未处理的异常,它将与加载它的应用程序隔离.此外,正如Steven所说,您可以在需要时关闭动态加载的AppDomain. (2认同)