【问题标题】:what is cache AppData\Local\assembly\dl3?什么是缓存 AppData\Local\assembly\dl3?
【发布时间】:2011-11-29 10:42:14
【问题描述】:

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

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

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

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

【问题讨论】:

标签: .net caching .net-assembly


【解决方案1】:

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

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

【讨论】:

  • 如果您不想使用该功能,则必须确保 ShadowCopyFiles 为 false。
  • @MariusBancila 您如何将其设置为 false?我一直在尝试各种方法来做到这一点,但似乎都没有奏效。 VS中有设置还是有其他方式?
  • @MariusBancila 在哪里可以在 Visual Studio 中将 ShadowCopyFiles 设置为 false?
  • @Erick:似乎是运行时的东西? msdn.microsoft.com/en-us/library/…
  • @MooingDuck 我试过了,但从来没有成功过。这就是我问的原因。从来没有让它工作,现在正在其他地方工作。但是,如果您确实找到了,请将其发布给其他人。
猜你喜欢
  • 1970-01-01
  • 2011-03-19
  • 1970-01-01
  • 2023-02-16
  • 1970-01-01
  • 2018-12-04
  • 2020-02-11
  • 2010-10-07
  • 1970-01-01
相关资源
最近更新 更多