检测文件覆盖,以便我可以先删除原始文件

时间:2016-04-19 16:01:32

标签: c# mef appdomain filesystemwatcher

我一直在MEF上使用the master theorem教程并即时加载程序集,而且在大多数情况下,它似乎都有效。然而,只有一个问题。要使用新版本替换现有程序集并让影子副本和MEF选择更改,您必须实际删除原始,然后复制新版本。您不能简单地将新版本拖到监视文件夹中并使其正常工作。

来自文章:

  

double runner.Recompose()调用的原因是DLL的Exports签名与先前版本匹配,并且MEF没有看到更改,因为它没有查看FileInfo的差异。然后,它告诉AppDomain DLL也没有改变,并且ShadowCopyFiles没有启动进行更改。简单的解决方法是删除原始,重构,放置新的,并重新组合一次。我能看到的唯一缺点是在重构过程中应用程序的性能会暂时下降。

他们唯一的缺点就是错过了我认为不能拖放覆盖原件的更大的缺点。

这有什么办法吗?是否有可能首先检测并覆盖和删除原始文件?或者其他一些方法迫使它注意到差异?

0 个答案:

没有答案