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

.net 什么是缓存AppData\Local\assembly\dl3?,.net,caching,.net-assembly,.net,Caching,.net Assembly,我有一个程序集,由于某些原因Windows开始从此路径加载该程序集: C:\Users\marius\AppData\Local\assembly\dl3\MP6PT6BV.2Z4\GMRQEZL9.LCB\46d762c5\8cf066ff_7eaecc01\X.DLL 这意味着无论我对程序集做什么更改,它的新副本都不会从其输出文件夹加载,而是从该缓存文件夹加载。我尝试删除文件夹,甚至重新启动Windows,它会再次生成并从那里加载程序集 那么,我怎样才能摆脱它呢?我该怎么做才能告诉系统从输

我有一个程序集,由于某些原因Windows开始从此路径加载该程序集:

C:\Users\marius\AppData\Local\assembly\dl3\MP6PT6BV.2Z4\GMRQEZL9.LCB\46d762c5\8cf066ff_7eaecc01\X.DLL
这意味着无论我对程序集做什么更改,它的新副本都不会从其输出文件夹加载,而是从该缓存文件夹加载。我尝试删除文件夹,甚至重新启动Windows,它会再次生成并从那里加载程序集


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

我找到了问题的答案。这是在Windows注册表中HKCU\Software\Microsoft\Fusion\DownloadCacheLocation下指定的.NET framework的“卷影副本”文件夹。卷影复制是.NET framework中的一项功能,允许在不卸载应用程序域的情况下更新应用程序域中使用的程序集。有关此功能的详细信息,请参见MSDN


通过将
ShadowCopyFiles
属性设置为
true

,我加载程序集的应用程序域被配置为卷影复制文件。这也是即将发布的VS 11中出现错误的原因,如图所示:感谢您发布此问题!:d如果您不想使用该功能,您必须确保
ShadowCopyFiles
为false。@MariusBancila如何将其设置为false?我一直在尝试各种方法来做到这一点,但似乎都没有奏效。VS中有设置还是有其他方法?@MariusBancila在Visual Studio中将ShadowCopyFiles设置为false的位置?@Erick:似乎是运行时的事情@我试过了,但没有成功。这就是我问的原因。从来没有这样做过,现在我在别处工作。但是如果你真的找到了,请把它贴给其他人。