F
Frank Rizzo
I am writing a library in .net that will be used by VB6 clients.
I initially wrote the library,
generated a strong key (via sn –k mykey.snk),
added it to AssemblyInfo.vb class (via <Assembly:
AssemblyKeyFile("c:\tgol\phpclass\mykey.snk")> statement),
registered assembly in the registry (via regasm
c:\code\project\bin\myassembly.dll /tlb:myassembly.tlb command),
added the assembly to the GAC (via gacutil /i
c:\code\project\bin\myassembly.dll)
I was then able to use it from my VB6 project, however, I wasn't getting
intellisense on my classes. Someone mentioned that this is because by
default, .NET classes only expose the auto-dispatch interface which is
not readable by VB6. So I added
<ClassInterface(ClassInterfaceType.AutoDual)> attribute to all my
classes and now I get the intellisense.
My question is whether this is all I have to do to make sure that my
..NET assembly will behave fine when used from VB6.
Thanks.
I initially wrote the library,
generated a strong key (via sn –k mykey.snk),
added it to AssemblyInfo.vb class (via <Assembly:
AssemblyKeyFile("c:\tgol\phpclass\mykey.snk")> statement),
registered assembly in the registry (via regasm
c:\code\project\bin\myassembly.dll /tlb:myassembly.tlb command),
added the assembly to the GAC (via gacutil /i
c:\code\project\bin\myassembly.dll)
I was then able to use it from my VB6 project, however, I wasn't getting
intellisense on my classes. Someone mentioned that this is because by
default, .NET classes only expose the auto-dispatch interface which is
not readable by VB6. So I added
<ClassInterface(ClassInterfaceType.AutoDual)> attribute to all my
classes and now I get the intellisense.
My question is whether this is all I have to do to make sure that my
..NET assembly will behave fine when used from VB6.
Thanks.