什么是缓存AppData \ Local \ assembly \ dl3?

时间:2011-11-29 10:42:14

标签: .net caching .net-assembly

我有这个程序集,由于某种原因,Windows开始从这条路径加载:

C:\Users\marius\AppData\Local\assembly\dl3\MP6PT6BV.2Z4\GMRQEZL9.LCB\46d762c5\8cf066ff_7eaecc01\X.DLL

这意味着我对程序集所做的任何更改都不会从其输出文件夹加载它的新副本,而是从该缓存文件夹加载。我尝试删除该文件夹,甚至重新启动Windows,它再次生成并从那里加载程序集。

那么,我怎么能摆脱它呢?我该怎么做才能告诉系统从其输出文件夹而不是从缓存中加载DLL?

1 个答案:

答案 0 :(得分:23)

我找到了问题的答案。这是在.NET注册表中HKCU \ Software \ Microsoft \ Fusion \ DownloadCacheLocation下指定的.NET框架的“卷影复制”文件夹。卷影复制是.NET框架中的一项功能,允许在不卸载应用程序域的情况下更新应用程序域中使用的程序集。有关MSDN http://msdn.microsoft.com/en-us/library/ms404279.aspx中此功能的更多信息。

通过将ShadowCopyFiles属性设置为true,将我加载程序集的应用程序域配置为卷影复制文件。