Я только что сделал обновление для DLL, которая вызывается из VBA в Powerpoint. Вся разработка прошла нормально, но когда я попытался развернуть на компьютере другого пользователя, у меня возникла проблема, я не знаю, как отлаживать.
В результате получается, что при создании объекта .Net в VBA возвращается ссылка на неверный объект, поэтому следующая строка завершается с ошибкой, когда метод не найден.
Dim myObj As Foo.Bar
Public Sub RefreshData()
//'instantiate object
Set myObj = New Foo.Bar
//'call a method
myObj.HelloWorld
Последняя строка завершается с ошибкой Ошибка времени выполнения '438' Объект не поддерживает это свойство или метод , что связано с тем, что myObj имеет тип "Wrong.Type" вместо " Foo.Bar».
«Wrong.Type» также находится в сборке, поэтому я предполагаю, что что-то не так с библиотекой типов, но я попытался восстановить (используя regasm / codebase / tlb MyLib.dll), и это не помогло.
Я не знаю, как диагностировать это дальше. Надеемся, что кто-то там может перечислить некоторые шаги по диагностике такого рода проблемы?