我正在尝试在 .NET 4.0 中创建一个 32 位 COM 对象。COM 对象的使用者是一个简单的 JScript。
当我将 Visual Studio 的“注册 COM 互操作”设置的复选框设置为 true 时,一切正常。我能够在我的 JScript 中创建 COM 对象并运行我的所有测试代码。
但是,我希望能够将它部署在没有 Visual Studio 的 32 位机器(运行 .NET 4.0)上。所以我有一个简单的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 正在做正确注册我丢失的事情?
如果可能的话,我宁愿不必签署大会。