0

What is the difference and purpose of assemblies located

in C:\Windows\assembly
in C:\Windows\Microsoft.NET\assembly

Which one are used by intelisense?

EOF
  • 6,273
  • 2
  • 26
  • 50

2 Answers2

1

It is just the old and new location for GAC assemblies.

Prior .NET 4.0, it was %windir%\assembly\

After 4.0, it is %windir%\Microsoft.NET\assembly\

Vincenzo
  • 1,549
  • 1
  • 9
  • 17
1

They are both locations for the Global Assembly Cache and are resolved if referenced as libraries in Visual Studio (IntelliSense included).

Global Assembly Cache on MSDN

As the page on MSDN states:

Starting with the .NET Framework 4, the default location for the global assembly cache is %windir%\Microsoft.NET\assembly. In earlier versions of the .NET Framework, the default location is %windir%\assembly.

You can use the Global Assembly Cache in order to share common libraries with your applications without the need to include local copies of the assemblies in the deployed application although I discourage such an approach as it might lead to unexpected behavior caused by bad versioning.

Sam Aleksov
  • 1,201
  • 6
  • 12