Mar*_*ila 18 .net caching .net-assembly
我有这个程序集,由于某种原因Windows开始从这个路径加载:
C:\Users\marius\AppData\Local\assembly\dl3\MP6PT6BV.2Z4\GMRQEZL9.LCB\46d762c5\8cf066ff_7eaecc01\X.DLL
Run Code Online (Sandbox Code Playgroud)
这意味着我对程序集所做的任何更改,它的新副本不会从其输出文件夹加载,而是从该缓存文件夹加载.我尝试删除该文件夹,甚至重新启动Windows,它再次生成并从那里加载程序集.
那么,我怎么能摆脱它呢?我该怎么做才能告诉系统从其输出文件夹而不是从缓存加载DLL?
Mar*_*ila 24
我找到了问题的答案.这是在.NET注册表中HKCU\Software\Microsoft\Fusion\DownloadCacheLocation下指定的.NET框架的"卷影复制"文件夹.卷影复制是.NET框架中的一项功能,允许在不卸载应用程序域的情况下更新应用程序域中使用的程序集.有关MSDN中此功能的更多信息,请访问http://msdn.microsoft.com/en-us/library/ms404279.aspx.
通过将ShadowCopyFiles
属性设置为,我将加载程序集的应用程序域配置为卷影复制文件true
.