I have a .NET application which runs off of a handful of .NET assemblies (.dll's), each of which - more or less - facilitate a common group of several of my own COM dll's. (And to make things worse, some of those COM dll's reference other COM dll's within that group as well). The combination of the two technologies combined with my brief stint as a .NET developer has me wondering what is the best way of deploying this application.
Since each of the .NET assemblies were built individually they currently all contain individual Interop files - for the common COM dll's they facilitate - in their own directory. This causes quite a stir when I try to bring the .NET assemblies into the setup project as each one is looking for their own interops.
For the COM.dll's that the assemblies share, should I throw a common interop in to the GAC, create a Primary Interop Assembly or keep them all private? Is there any rule of thumb when working with COM in this manner that I should know. Any help would be appreciated.
Since each of the .NET assemblies were built individually they currently all contain individual Interop files - for the common COM dll's they facilitate - in their own directory. This causes quite a stir when I try to bring the .NET assemblies into the setup project as each one is looking for their own interops.
For the COM.dll's that the assemblies share, should I throw a common interop in to the GAC, create a Primary Interop Assembly or keep them all private? Is there any rule of thumb when working with COM in this manner that I should know. Any help would be appreciated.