I have a COM dll called "Magic.dll." I did not make it. It exposes some classes which are useful to me, but referencing it directly creates a large number of warnings. Refrencing it directly *also* generates two new assemblies, "Interop.Magic.dll" and "Interop.VBA.dll."
I found that if I copy+paste these two assemblies, then remove the references to Magic, and add references to these interops instead, the warnings go away completely, and the code still works. However, now I need to ensure anyone building my project has these interops, rather than the COM magic dll. The GAC seems like the intuitive standard place to put them. But if I drag either of them into c:\windows\assembly, nothing happens. I've tried a bunch of things with tlbimp, trying to make strong-named assemblies and use various other options that I half understand, but I'm not really sure what I'm doing, and everything I have tried went wrong in some way.
So, what do I need to do? Or rather, what do I need to know, that I don't already know?
I found that if I copy+paste these two assemblies, then remove the references to Magic, and add references to these interops instead, the warnings go away completely, and the code still works. However, now I need to ensure anyone building my project has these interops, rather than the COM magic dll. The GAC seems like the intuitive standard place to put them. But if I drag either of them into c:\windows\assembly, nothing happens. I've tried a bunch of things with tlbimp, trying to make strong-named assemblies and use various other options that I half understand, but I'm not really sure what I'm doing, and everything I have tried went wrong in some way.
So, what do I need to do? Or rather, what do I need to know, that I don't already know?