У меня есть сборка .NET, написанная на C #. Он помечен как ComVisible, имеет guid, подписан, regasm'd (/ codebase). Я не определял формально интерфейс для COM-части.
Я использую эту сборку через VBscript.
Есть перегруженный метод - одна форма принимает один строковый аргумент, а вторая - две строки. Оба возвращают другой тип .NET из той же сборки. Я называю это так:
set foo = WScript.CreateObject("Prog.Id")
' the following succeeds
set bar = foo.Method1("string")
' the following fails
set baz = foo.Method1("string1", "string2")
Первый вызов метода Method1 выполнен успешно. Второй терпит неудачу с
Msgstr "Неверное количество аргументов или неверное присвоение свойства".
Как я могу отладить это?
В тестировании, если я определю простой класс .NET с мертвыми мозгами с подобными перегрузками, я могу вызвать его из VBScript, без проблем. Есть что-то еще в моей «настоящей» сборке, которая приводит к сбою. Как мне понять, что это такое?