我有这样的大会,由于某种原因的Windows开始从这个路径加载:
C:UsersmariusAppDataLocalassemblydl3MP6PT6BV.2Z4GMRQEZL9.LCB46d762c58cf066ff_7eaecc01X.DLL
这意味着任何改变我做大会,它的新副本不是从它的输出文件夹,但是从缓存文件夹中加载。我试图删除文件夹,甚至重新启动Windows,它再次发生,并从那里组装加载。
所以,我怎么能摆脱它?什么我必须做的,告诉系统从它的输出文件夹,而不是从缓存中加载DLL?
解决方案我找到了答案,我的问题。这就是卷影副本文件夹中的.NET Framework在Windows注册表下HKCU 软件微软融合 DownloadCacheLocation规定。影子复制是.NET框架,允许在应用程序域使用的组件将不会卸载应用程序域更新的功能。更多关于此功能在MSDN http://msdn.microsoft.com/en-us/library/ms404279.aspx.
在应用程序域我在那里装载组件配置为卷影复制文件,由 ShadowCopyFiles
属性设置为真
。
I have this assembly that for some reason Windows started to load from this path:
C:UsersmariusAppDataLocalassemblydl3MP6PT6BV.2Z4GMRQEZL9.LCB46d762c58cf066ff_7eaecc01X.DLL
That means whatever changes I do to the assembly, the new copy of it isn't loaded from its output folder but from that cached folder. I tried deleting the folder, even restarting Windows, it is generated again and the assembly loaded from there.
So, how can I get rid of it? What do I have to do to tell the system to load the DLL from its output folder and not from the cache?
解决方案I found the answer to my question. That is the "shadow copy" folder for the .NET framework as specified in Windows Registry under HKCUSoftwareMicrosoftFusionDownloadCacheLocation. Shadow copying is a feature in the .NET framework to allow assemblies used in an app domain to be updated without unloading the app domain. More about this feature in MSDN http://msdn.microsoft.com/en-us/library/ms404279.aspx.
The app domain where I was loading the assembly was configured to shadow copy files, by setting the ShadowCopyFiles
property to true
.