Я пытаюсь создать 32-битный COM-объект в .NET 4.0. Потребителем COM-объекта является простой JScript.Регистрация с опцией Com Interop в Visual Studio работает, но вызов Regasm напрямую не
Когда установлен флажок в поле «Регистрация для COM-взаимодействия» в Visual Studio, все работает нормально. Я могу создать COM-объект в своем JScript и запустить весь свой тестовый код.
Однако я хочу иметь возможность развернуть это на 32-разрядной машине (которая работает .NET 4.0), на которой нет Visual Studio. Так что у меня есть простой install.bat
файл для регистрации DLL:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm ComTest.dll /codebase /tlb:ComTest.tlb
Как это 32 разрядная сборка, я забочусь, чтобы использовать 32 бит regasm.exe
. Это говорит мне, что он успешно регистрируется. Я получаю предупреждение за использование опции /codebase
, указывающей, что я могу наступить на существующие пространства имен, но это не будет проблемой в среде развертывания.
Но теперь, когда я иду, чтобы создать свой объект в моем JScript я получаю
Could not create object named "COMTest".
Есть ли что-то особенное Visual Studio делает это правильно, что зарегистрировав его, что я не хватает?
Я бы предпочел не подписывать сборку, если это возможно.