Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
302 views
Welcome To Ask or Share your Answers For Others

1 Answer

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share

548k questions

547k answers

4 comments

86.3k users

...