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

Categories

0 votes
311 views
in Technique[技术] by (71.8m points)

.net - what is cache AppDataLocalassemblydl3?

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

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

1 Answer

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...