When you are creating a deployment package, that ships .NET assemblies as part of it, you need to be aware of two things when installing them.

1. Register in GAC, so that the .NET Runtime will be able to find and load that assembly. This can be done by running gacutil –I on that assembly.

2. When your customer wants to add a reference to that Assembly via the “Add Reference” Dialog in Visual studio, then you need to perform some more steps to make your assembly show over there.

The myth is that not all paths the .NET runtime resolves will be resolved by Visual Studio. We need to put these paths in specific places where the Visual Studio will look up. One such place is the registry location in 32-bit machines is

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx

and in 64-bit machines is

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx

Add a new key under the above key

<SomeKeyName> and its value for default is the path where your assemblies are located.

 

Now restart visual studio, and WHEW! you should be able to see your assemblies show up in the Add Reference Dialog.