Я использую COM без регистрации для доступа к сборкам взаимодействия .NET.
Сначала необходимо создать манифест сборки с помощью mt.exe
и дополнительно подписать строгие имена с помощью sn.exe
, например,
mt.exe -managedassemblyname:{Your_DLL} -nodependency -out:{Your_DLL}.manifest
mt.exe -manifest {Your_DLL}.manifest -outputresource:%{Your_DLL};1
sn -Ra {Your_DLL} {Your_PFX}
Затем укажите этот манифест сборки в своем манифесте приложения следующим образом:
<dependency>
<dependentAssembly>
<assemblyIdentity name="{Your_DLL}" version="1.0.0.0" publicKeyToken="hash_here" processorArchitecture="x86" />
</dependentAssembly>
</dependency>
, где assemblyIdentity
соответствует assemblyIdentity
в манифесте сборки {Your_DLL}.
На клиентских компьютерах исполняемый файл VB6 и DLL-библиотека .NET должны находиться в одной папке. Нет необходимости в регазме и регистрации в GAC.
Я использую UMMM для автоматизации процесса создания манифеста, но вы можете сделать это вручную, если это однократная настройка.