2012-10-22 18 views
5

可能性の重複:
Can I use a .NET 4.0 library in a .NET 2.0 application?.NET 2アプリケーション内で.NET 4アプリケーションを実行できますか?

だから私は、レガシー.NET 2 GUIアプリケーションを持っています。このアプリケーションのやり直しは問題になりません。

また、FTPなどの作業を行うコンソール.NET 4アプリケーションもあります。それはLINQを使用します。

は今、私は私が行うことができるようにしたい何など、再利用可能なDLLに

を(.NET 4である)コンソールアプリケーションを抽象化していますと、GUIアプリケーション(.NET 2)のことができるように持っていますそれらのDLLを含めて呼び出してください。それから、戻り値を取得するだけです。

私はそれをコンソールアプリケーションにしておけば、.NET 2で外部から実行できるようになると思います。しかし、私は、GUIアプリケーションが.NET 4からメソッドを実行できるようにしたいと思います。このアプリのすべてを実行します

クライアントは、.NET 4

感謝を持っています。

答えて

8

私は従来の.NET 2 GUIアプリケーションを持っています。このアプリケーションのやり直しは問題になりません。

フレームワークターゲットを.NET 4に変更して再構築することもできますか?これはおそらく最も簡単な方法でしょう。です。実際にCLR v2で動作していて、CLR v4(および.NET Framework v4アセンブリ)を必要とするアセンブリをロードしようとすると、奇妙な状況に陥ることはありません。

ほとんどの場合、後方互換性は100%ではありませんが、かなり良いです。

+0

私は実際にそれについて考えました。会社の方針はGUIを人間的に可能な限り変更しないことです。実際には、おそらく私は、最初に.NET 2を使用するように、新しいコンソールアプリケーション(およびクラス)を変更するように指示します。しかし、私はGUIを更新するための長い間言い訳を探していました!だから、私はそれを試して、どんなプッシュバックがあるかを見ているかもしれません。 – cbmeeks

1

ここで必要なことは、共有ユーティリティを2.0フレームワークを対象とするDLLに取り除くことです。これらのDLLは、2.0と4.0の両方の.Netプロセスで使用できます。 .Netは下位互換性が非常に高く、ほとんどのシナリオで4.0のDLLを変更せずに実行できます。