.NET 4.0 で 32 ビット COM オブジェクトを作成しようとしています。COM オブジェクトのコンシューマーは単純な JScript です。
Visual Studio の "Register for COM interop" 設定のチェックボックスを 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が行っていることはありますか?
可能であれば、アセンブリに署名する必要はありません。