Visual Studio 2010 から生成された DLL がありますが、さまざまな理由で 2008 のままにしておく必要がある 2008 プロジェクトにリンクする必要があります。誰かが同様の問題に遭遇したり、アドバイスをしたりしますか?
2 に答える
VS2010 は .NET 4.0
VS2008 は .NET 3.5
したがって、dll が特定の .NET 4 機能を利用している場合、3.5 環境では実行されないため、質問に対する答えは NO です。また、両方の .NET バージョンでアセンブリ マッピングが異なる場合があり、それが 4.0 dll が 3.5 env で実行されない理由の 1 つになる可能性があります。
よくわかりませんが、COM 相互運用機能を参照してください。あなたが望むものを達成するのに役立つかもしれません。しかし、それは面倒すぎるでしょう!!
ダイナミック リンク ライブラリ (DLL) は、Windows プラットフォームの最初から統合された部分です。DLL を使用すると、外部ユーザーが使用できる C 関数の明示的なリストを使用して、機能の一部をスタンドアロン モジュールにカプセル化できます。1980 年代に Windows DLL が世界に導入されたとき、幅広い開発対象者と話す唯一の実行可能なオプションは C 言語でした。したがって、当然のことながら、Windows DLL はその機能を C 関数およびデータとして公開しました。内部的には、DLL は任意の言語で実装できますが、他の言語や環境から使用できるようにするには、DLL インターフェイスを最小公分母である C 言語にフォールバックする必要があります。
http://www.codeproject.com/Articles/28969/HowTo-Export-C-classes-from-a-DLL
標準化された C スタイルのインターフェイスは問題ありませんが、これは管理されていない C++ にのみ関係します。