.NET 3.5向けに作成されたソフトウェア用のプラグインを作成します。このプラグインでは、.NET 3.5で動作するサードパーティの.DLLを参照しています。主なソフトウェアは現在.NET 4.0に組み込まれており、サードパーティの.DLLは2つの.DLLに分割されています。アセンブリの解決
私たちが避けたいのは、ほぼ同じコード(4.0 DLLを参照する.NET 4.0に構築されたコードと3.5 DLLを参照する3.5に構築されたコード)を持つ2つの別個のソリューションがあることです。すべてのお客様がすぐにプラグインを作成する最新バージョンのソフトウェアにアップグレードするわけではなく、一部のソフトウェアは数年待つかもしれません。 EDITED
QUESTION:
は3.5 DLLを参照する.NET 3.5に構築し、その後、実行時に所定の位置に2 .NET 4.0のDLLをロードするために、いくつかのアセンブリの決意を実行するために継続するどのような方法があります元のものの?
以前のバージョンのメインソフトウェアがプラグインをロードし続けるように、3.5フレームワークへの構築を継続したい/したい。 4.0にビルドすると、古いバージョンは、後のフレームワークにビルドされるため、プラグインをロードしようとするとエラーが発生します。
実際にこれを試したことがありますか、それとも問題があるかもしれないと推測していますか?もしあなたがしたのであれば、*正確に*はエラーメッセージですか? –
ソフトウェアの古いバージョンで4.0プラグインをロードしようとすると、次のエラーが表示されます。 アセンブリをロードできません。エラー詳細:System.BadImageFormatException: ファイルまたはアセンブリをロードできません 'file:/// C:\ Users \ ******* \ Documents \ Visual Studio 2010 \ Projects \ RandomProjects \ A2013テスト\ bin \ Debug \ A2013Testing.dll 'またはその依存関係の1つ。このアセンブリは、現在ロードされているランタイムより新しいランタイム によって構築され、ロードできません。 ファイル名: 'file:/// C:\ Users \ ******* \ Documents \ Visual Studio 2010 \ Projects \ RandomProjects \ A2013Testing \ bin \ Debug \ A2013Testing.dll' at System.Reflection –