在Windows 7 IIS FTP 7.5缓存与自定义扩展(托管代码,C#)的组件。
一旦你启动服务器首次与该库文件,它的新版本将无法从海关总署等回升,无论是否重新启动服务器,安装,卸载
得到新的实现文件到IIS FTP的唯一方法是在强名称更改版本的名称。
有没有一种方法,以取代执行不改变版本号,只需替换文件?
这种怪异的行为使得调试和MGMT变化几乎是不可能的。
这个帖子由Artiom观察到类似的现象: http://www.flexlabs.org/IIS7-Modules/custom-authentication-extension
发现这个“缓存”的原因。
IIS运行在称为“Microsoft FTP发布服务扩展主机” COM +应用程序扩展组件。 一旦扩展被加载,该组件被装载到相应的处理(由DLLHOST.EXE托管),因此不会立即通过任何GAC变化的影响。
工作溶液(覆盖更多的元素比原始质询的范围):
FTP服务被配置为加载使用.NET 3.5我的扩展部件写入 - 因为它仅接受.NET 2.0运行; 如果实现在运行4扩展它根本不会运行
扩展组件,反过来,需求正在使用.NET 4.5中实现大的代码库 - 它通过COM这样做(这些API被注册COM,但不是在GAC)
当我重新编译FTP服务扩展,它足以更新GAC和关闭“微软FTP发布服务扩展主机” COM +应用程序,最好是FTP服务了。
现在我没有改变强名称(通过改变版本号)的FTP服务延伸组件的每一个变化。