В настоящее время я работаю над приложением в VB6, которое использует библиотеки COM Interop, написанные на C # с использованием платформы .NET 2.0.
Я использовал regasm.exe для регистрации файлов tlb из библиотек .NET с помощью ключа / codebase. Затем я смог успешно собрать и запустить приложение в VB6 IDE без проблем. Код .NET использует файл конфигурации, поэтому я добавил его в каталог VB6, и он отлично считывает данные из конфигурации.
Однако затем я скомпилировал файл EXE из проекта и запустил его на той же машине, на которой работает IDE. Я связал EXE с файлом конфигурации точно так же, как и при отладке с помощью VB6.EXE, но когда приложение выполняет первый вызов метода в одном из классов .NET, оно выдает ошибку времени выполнения, указывающую " Ошибка автоматизации ".
В моих декларациях я создаю экземпляры следующих объектов из классов .NET, которые, кажется, работают нормально.
Private objSession As New Session
Private curFolder As Folder
Private colFolderTemplates As New FolderTemplateCollection
Private objLicense As New License
Однако ошибка автоматизации возникает во время выполнения при выполнении первой строки:
Call objSession.Configuration.Configure(connectionString)
Я попытался добавить dll-файлы .NET в тот же каталог, что и Release EXE-файл, и заново зарегистрировать tlb-файлы, но это не помогло. Любые предложения о том, что я мог бы проверить?