views:

155

answers:

1

I've just stumbled across this folder structure on my machine which contains lots of .NET assemblies similar to what you might find in the system GAC. This puzzled my as I've never seen this folder structure before and it makes me wonder, is there such a thing as a local user assembly cache?

The folder structure is: C:\Documents and Settings\ [username] \Local Settings\Application Data\assembly\

and contains folders and files that look like:

  • \dl3\8M830QM6.ON7\NJ9Q0EA9.TZO\623c8efc\00461250_47f4c901\System.Windows.Controls.Data.Input.VisualStudio.Design.dll

  • dl3\8M830QM6.ON7\NJ9Q0EA9.TZO\57af86f9\3835d02d_e76cca01\MyOwnAssembly.dll

Each assembly is accompanied with an AsemblyInfo.ini file

As far as I can see the dll's are mostly silverlight related. I am running VS2008 with Silverlight SDK and November Toolkit.

Cheers

+2  A: 

Hi,

ms .net has a feature called "shadow copy cache" for assemblies that allows the application to use the assemblies from that location so that they are not locked during an update process.

i know that this is used for asp.net applications and it might very well be the case that it is used for silverlight as well.

[msdn article on shadow copy cache for assemblies in .net 3.0] http://msdn.microsoft.com/en-us/library/ms404279%28VS.85%29.aspx

[brief info on shadow copy cache] http://www.blogcatalog.com/search.frame.php?term=appdomain&id=e60b6687509782d13115f96d24c2f850

[shadow copy cache for office - same paths like you mention] http://msdn.microsoft.com/en-us/library/aa206854%28office.11%29.aspx

Salo
The msdn article states that the CLR is supposed to clear un-used assemblies from the cache, though mine has built up quite a bit. I assume it is safe to delete the assemblies providing they are not being used?
SciFi
@SciFi, yes it should be safe to clear it.
Salo