2012-03-17 10 views
8

システムデータを収集してテキストボックスに出力する小さなユーティリティを作成しました。何も複雑ではありませんが、その目的は、ソフトウェア導入の準備としてユーザーのマシンを監査することです。.NET 2/3アプリケーションが.NET 4で実行することを拒否しました

ユーザーが操作する.NETのバージョンがわからないので、ソリューションを作成するときにフレームワーク2.0を選択しました。

私のマシンでリリースされたEXEをデバッグしてテストするのは問題ありません。 .NET 4.0(フル)のあるXPマシンにロードすると、実行を拒否し、.NET 2.0をインストールする必要があることを通知します。 その後、リリースを3.0にアップデートしましたが、これは同じことでした。

私は.NET 4.0をマシンにインストールしていますが、なぜこのアプリケーションをインストールした方がいいのでしょうか?また、すべての.NETバージョンでアプリケーションを実行するにはどうしたらいいですか?私が過去にやった

答えて

9

は私の.NET 2.0アプリケーションの「* .exe.config」ファイルに以下の設定を追加しました:

<?xml version="1.0" encoding="utf-8"?> 

<configuration> 
    <startup> 
     <supportedRuntime version="v2.0.50727"/> 
     <supportedRuntime version="v4.0"/> 
    </startup> 
</configuration> 

supportedRuntime element指定する.NETランタイムのバージョンあなたのアプリケーションは下で実行できます。

+5

.NET 4はフレームワークの主要なリリースであり、大きな変化をもたらした可能性があるため、アプリケーションを.NET Framework 4でテストする必要があることに注意してください。 –

+0

@DBM良い点、言及いただきありがとうございます! –

+1

"は"?した。そのため、プログラムはデフォルトで互換性をマークできません。簡単な例として、 'List 'は.NET 4では 'IEnumerable 'を実装していますが、それ以前には実装していません。 – hvd

関連する問題