问题陈述:实现一个插件系统,允许覆盖关联的程序集(避免文件锁定).在.Net中,可能无法卸载特定程序集,只能卸载整个AppDomain.
我发布这个是因为当我试图解决问题时,每个解决方案都参考了使用多个AppDomain.即使在项目开始时进行架构,多个AppDomain也很难正确实现.
此外,AppDomains对我不起作用,因为我需要跨域传输Type作为Speech Server worfklow的InvokeWorkflow活动的设置.不幸的是,跨域发送类型会导致程序集注入本地AppDomain.
此外,这与IIS相关.IIS具有卷影复制设置,允许执行程序集在加载到内存时被覆盖.问题是(至少在XP下,没有在生产2003服务器上测试)当您以编程方式加载程序集时,卷影副本不起作用(因为您正在加载DLL,而不是IIS).