一連のプロジェクトを VB6 から VB.NET 2.0 にアップグレードしようとしています。このプロジェクトには、一連のライブラリ コードとアプリケーション コードが含まれています。アップグレードする前は、私の VB6 アプリケーション コードは、標準メカニズムの CreateObject() と ProgID を使用してライブラリ コードをロードしていました。
私は約 8 つの異なるライブラリ アセンブリを持っています。それらはすべて厳密な名前を持ち、同じ .NET バージョン (2.0) を使用し、x86 互換でコンパイルされ、GAC に含まれています。CreateObject と ProgID を使用してライブラリをロードしようとすると、ActiveX エラーが発生します。ADODB ("ADODB.Command") でテストしたところ、COM オブジェクトを正常に取得できました。何が間違っているのかわかりません。
また、ライブラリ クラスに System.Runtime.Interop クラス属性を使用する必要があるのか、それとも ComClass 実装として構成する必要があるのかについても混乱しています。AssemblyInfo.vb ファイル内で同じ属性を使用する必要があるかどうかもわかりません。
私が気づいたもう1つの違いは、アップグレードされたvbプロジェクトのAssemblyInfo.vbがルートディレクトリにあることです。これは、新しいプロジェクトを作成して「MyProject」の下にある場合とは対照的に、問題ではないかもしれませんが、すべての情報を提供したいですできる。提供できるどんな助けも素晴らしいでしょう。
ありがとう!