Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
307 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 Reply

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...