使插件文件夹在ASP.NET中可写
我正在一个基于插件的ASP.NET应用程序中使用使插件文件夹在ASP.NET中可写,asp.net,plugins,mef,shadow-copy,Asp.net,Plugins,Mef,Shadow Copy,我正在一个基于插件的ASP.NET应用程序中使用MEF。将文件系统监视程序与Container.Refresh()连接起来任何新插件在复制到插件文件夹时都会自动加载 问题是当我想删除或替换加载的插件时。它被w3wp锁定,无法删除。我读过有关卷影复制的文章,但找不到好的示例或文章。尝试将插件文件夹添加到。此属性是一个分号分隔的目录列表,其中包含应通过卷影副本加载的程序集 通常您还需要设置为“true”,但我认为这已经是ASP.NET appdomains的默认设置 但是,请注意,加载插件的新版本不
MEF
。将文件系统监视程序
与Container.Refresh()连接起来
任何新插件在复制到插件文件夹时都会自动加载
问题是当我想删除或替换加载的插件时。它被w3wp锁定,无法删除。我读过有关
卷影复制的文章,但找不到好的示例或文章。尝试将插件文件夹添加到。此属性是一个分号分隔的目录列表,其中包含应通过卷影副本加载的程序集
通常您还需要设置为“true”
,但我认为这已经是ASP.NET appdomains的默认设置
但是,请注意,加载插件的新版本不会神奇地卸载旧版本。唯一的方法是卸载包含它的AppDomain。因为这需要您在单独的appdomain中加载插件,所以这可能会带来更多麻烦
停止服务、更新DLL并重新启动可能更简单、更安全、更有效。尝试将插件文件夹添加到。此属性是一个分号分隔的目录列表,其中包含应通过卷影副本加载的程序集
通常您还需要设置为“true”
,但我认为这已经是ASP.NET appdomains的默认设置
但是,请注意,加载插件的新版本不会神奇地卸载旧版本。唯一的方法是卸载包含它的AppDomain。因为这需要您在单独的appdomain中加载插件,所以这可能会带来更多麻烦
停止服务、更新DLL并重新启动可能更简单、更安全、更有效。请确保您是。听起来您可能已经打开了一个文件流,但没有正确地关闭/处理它,这可能会通过最初处理文件的进程锁定该文件。有关使用此处的
语句的更多信息:请确保您是。听起来您可能已经打开了一个文件流,但没有正确地关闭/处理它,这可能会通过最初处理文件的进程锁定该文件。有关使用语句的更多信息,请参见此处: