2011-08-16 22 views
5

私はいくつかのアセンブリで構成された.NETソリューションを開発しました。そのほとんどは、.NET Frameworkのバージョン2.0をターゲットとする小さなヘルパーアセンブリです。残りのアセンブリはMVC 3 Webアプリケーションであり、.NET Frameworkのバージョン4.0を対象とする必要があります。私のソリューションには、.NETおよびMVCフレームワーク以外の外部依存関係はありません。.NET 2.0アセンブリは.NET 4.0で実行できますか?

私の質問は次のとおりです。このソリューションを顧客に展開すると、.NET Frameworkの両方のバージョンを展開する必要がありますか、または単にバージョン4.0を展開できますか? .NET 2.0アセンブリは.NET 4.0で実行できますか?

+0

を私は一つだけを受け入れることができますので、すべての3つの答えは、同様に有効ですが、私は最初に投稿されたものを、受け入れました。 – pyon

答えて

3

最新バージョンが必要です。下位互換性があります。

+0

これは条件付きの真実です。私の答えは以下のとおりです。 – mhvelplund

1

答えはイエスである、.NET 2.0用に開発されたアセンブリは、.NET 4.0

7

はい、.NET 2.0にアセンブリに埋め込まれた依存関係がアセンブリが自動的に4.0バージョンに変換されているの下で正しく動作します。しかし、テストされたことのないバージョンのアセンブリで動作します。それらは高度に互換性がありますが、いくつかのバグ修正、あなたが知らないうちに依存しているかもしれないバグを含んでいます。誰もあなたに100%保証を与えることはできません。

ただ試してみてください。

+0

幸いにも、私の.NET 2.0アセンブリはかなりシンプルです。それらのほとんどは単なる旧式のデータ型であり、MVCアプリケーションのモデルです。 PODタイプだけでなく、ヘルパークラスであり、データベースからデータを取得し、それらのPODタイプのインスタンスをそのクラスに埋め込むヘルパークラスです。 – pyon

0

はい、いいえ(少なくとも.Net 4.5の場合)それは下位互換性がありますがhereを述べたように、デフォルトでは、関連する.NETバージョンでコードを実行することです:

の.NET Framework 4.5とそのポイントリリースは、以前のバージョンで構築されたアプリケーションとの下位互換性があり

.NET Frameworkの言い換えれば、以前のバージョンで構築されたアプリケーションやコンポーネントは、.NET Framework 4.5で変更することなく動作します。ただし、既定では、開発された共通言語ランタイムバージョンでアプリケーションが実行されるため、.NET Framework 4.5でアプリケーションを実行できるように構成ファイルを用意する必要があります。詳細については、この記事の前半の「アプリケーションのバージョンの互換性」を参照してください。 MyLovely.exe.configがすべてをファイル追加した後

がうまく働いた:

<configuration> 
    <startup> 
    <supportedRuntime version="v4.0"/> 
    </startup> 
</configuration> 
関連する問題