I'm developing a .NET class library. I want this to be callable by VB6 (COM
/ ActiveX) clients. In Project Properties, under Application | Assembly
Information, I see an option titled "Make Assembly COM-Visible". How does
this differ from "Register for COM Interop" in the Output section of the
Build tab?
Thanks for your advice!
- Joe Geretz -
I think Make Assembly COM Visible will create ComVisible line in the
AssemblyInfo file. Register for COM Interop will actually run Regasm after
every build to register the types with COM (which you probably shouldn't do
until you're stable because your COM Guids will change whenever you change
the methods unless you specify Guids explicitly, so your registry could end
up with a lot of registration junk for versions that will never be used).

Signature
Phil Wilson [MVP Windows Installer]
----
> I'm developing a .NET class library. I want this to be callable by VB6
> (COM / ActiveX) clients. In Project Properties, under Application |
[quoted text clipped - 5 lines]
>
> - Joe Geretz -
Gaurav Vaish (www.EduJini.IN) - 31 May 2006 03:27 GMT
> every build to register the types with COM (which you probably shouldn't
> do until you're stable because your COM Guids will change whenever you
> change the methods unless you specify Guids explicitly, so your registry
> could end up with a lot of registration junk for versions that will never
> be used).
That's true.
To just let you my first experience with COM-Interops, I ended up having 14
junk GUIDs in CLSID. I had to manually clean the registry. Well, I got away
without destablizing the OS. :))

Signature
Happy Hacking,
Gaurav Vaish
http://www.mastergaurav.org
http://webservices.edujini.in
-------------------