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?
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?
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\
They are both locations for the Global Assembly Cache and are resolved if referenced as libraries in Visual Studio (IntelliSense included).
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.