C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■93145 / )  vb.netで作成したCOMをvb.netでCOMとして参照
□投稿者/ まる (4回)-(2019/11/24(Sun) 10:23:28)

分類:[.NET 全般] 

お世話になっております。

VisualStudio2017,Framework4.7.1を使用しております。

VB.NETで作成したCOMのdllを、他のVB.NETのプロジェクトにて、dllとしてではなく、COMとして参照できる術はないかと考えております。

dllではなくCOMとして参照したい理由といたしましては、現在64bitのvb.netのアプリを開発しておりますが、
その中で参照して使用したいdllが32bitのものしかなく、こちらではコンパイルしなおしたり、作り直すことはできないもののため、困っておりました。
調べているうちに、32bitでも、COMであれば64bitから参照しても問題なく使用できる、といった記事がいくつかあったため、
COMのラッパーを作成して、そのCOMを64bitアプリが参照すればよいのではないか、と思い至りました。

vb.netでのCOMの作り方は以下を参考にして作成を試みましたが、MSDNには「VB.NETで作成したものは真のCOMではないため他のVB.NETでは作成できない」といったような注意書きがあり、実際、他のプロジェクトからCOMを参照しようとしたところ、そのような旨のエラーメッセージが出てきて読み込むことができませんでした。
参考URL:https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/com-interop/walkthrough-creating-com-objects

言語の問題かと思いC#でも作成を試みましたが、同じようなエラーが出てきてしまいました。
可能であれば、フレームワークを使用したvb.netやC#で、このようなことができるのが最善なのですが、
解決策についてご存知の方、もしくは、32bitのdllを64bitで使用する術についてご存知の方いらっしゃいましたら、
お知恵をお貸し頂けましたら幸いです。


説明不足な点がございましたら申し訳ございませんが、ご指摘いただけますと幸いです。何卒よろしくお願いいたします。
返信 編集キー/


管理者用

- Child Tree -