views:

35

answers:

2

I'm trying to index the GAC and use the ResolveAssemblyReferences target. However, some assemblies (such as Unity application block) seem to be missing from the GAC and yet VS happily shows them in the Add Reference dialog. My question: how can this be? I always thought that only GAC-registered assemblies appear there. Am I missing something?

+1  A: 

There is actually a registry setting which allows you to add directories to the list of locations where Visual Studio will search for assemblies to display in the "Add References" dialog.

Here is a quick overview of where it is and how to add your own paths to it.

ckramer
Nope, Unity isn't there.
Dmitri Nesteruk
+2  A: 

In addition to the registry setting ckramer mentioned, there is also HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx and HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx.

Tip: if you download the VS 2010 Pro Power Tools extension, the updated "Add Reference" dialog clearly distinguishes between Framework assemblies and Framework Extension assemblies.

Stephen Cleary
Thanks, didn't know that!
Dmitri Nesteruk