0

DotNet2.0アプリケーションでDotNet4.0DLLを使用する際に問題が発生しました。問題をグーグルで検索すると、適切な解決策が1つ示されました。COM

とにかく私は今それをやろうとしていますが、アプリケーションに参照を追加すると次のエラーが発生し続けます(参照はtlbです):

ActiveXタイプライブラリ'MyLib.tlb'は.NETアセンブリからエクスポートされたため、参照として追加できません。アセンブリを直接参照してください。

私は何かが足りませんか?多くのウェブサイトで、このオプションが機能するはずだと述べられています: Example1Example2

一方、マイクロソフトの古いリンクには、このオプションは「設計上」不可能であると記載されています。

何か案は?ヒント?

ホーム私は物事を混乱させていません。

ありがとうございました。

4

1 に答える 1

3

.NET2 ランタイムが既にロードされているプロセスで .NET4 ランタイムをロードすることにつながるため、これは設計上不可能です。1 つのプロセスでの .NET バージョンの混在のサポートは、.NET 4 で導入されました。

本当にこれを機能させる必要がある場合:

  • その .NET4 DLL を使用するネイティブのアウトプロセス COM サーバーを作成する
  • 次に、.NET2 プロセスからそのサーバーを使用します (直接 .NET4 DLL ではありません!)

備考 - EF4 に関するコメントを見た後:

.NET2 アプリケーションを .NET 4 に変換することを強くお勧めします。それ以外は、メンテナンスの悪夢です!

于 2012-06-08T08:38:03.217 に答える