2017-02-06 14 views
0

私はCompressionのために.netバージョン4.5が必要な小さなプロジェクトを持っています。これは私のApp.configファイルです:ターゲットフレームワークを4.5に設定する

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup> 
</configuration> 

しかし、私は株式のWindows 7システム上でプログラムを実行しようとすると、それは私がv4.0.30319をインストールする必要があると述べています。この方法では、まずv4.0をインストールし、次にv4.5をインストールする必要があります。デフォルトでv4.5が必要になるように設定する方法はありますか?

私はそれがどうやら何

+0

.NETのバージョンが少なくて済む他のコンポーネント/リファレンスはありますか?私が求めている理由:app.configからsupportedRuntime-Tagを完全に削除すると、.NETローダーはプロジェクトのを考慮に入れます。それが.NET 4.5の場合、これはデフォルトで.NETバージョンが必要です。 – PuerNoctis

+1

あなたの質問からは明らかではありません:前提条件をインストールするためにセットアップを使用していますか? – Dan

+1

@ダン・ノー、それはこのプロジェクトで過度のことです。 – Rothens

答えて

0

を変更した場合、<supportedRuntime>上のMSDNの記事(https://msdn.microsoft.com/en-US/library/w4atty68(v=vs.110).aspx)によると、あなたの現在のソリューションは、バージョンを確認する正しい方法でVS2015を使用しています。 .NET 4.0 Update 3 Frameworkは将来のバージョンのベースとして必要と思われます。しかし、これは前提です。私はここで訂正してうれしいです。

更新:私はリサーチを行い、.NET 4.5はシステム上の.NET 4.0を効果的に置き換えます。私が言及した記事によると、.NET 4.0以上のものはすべて、アセンブリのメタデータにバージョン文字列 "v4.0.30319"で識別されるようです。したがって、.NETローダーは常にと考えています。バージョンを最初にインストールする必要があります。

しかし、.NET 4.xは古いものを置き換えるので、.NET 4.0を最初にインストールする必要はなく、.NET 4.5+を直接インストールすることができます。

簡単に言えば、まず.NET 4.0をインストールせずに.NET 4.5を直接インストールできると仮定します。ユーザーがどちらかを持っていない場合、アプリケーションはに4.0をインストールするように指示しますが、これは必要ではありませんが、PEがローダーに通知するものです。私はあなたが何らかの "ブートストラップ"なしであなた自身を1回で確認できるとは思わない。これは、インストールされているバージョンのレジストリをチェックし、正しいバージョンがインストールされている場合は、実際のプログラムを起動する小さなプログラムを書くことを意味します。

+0

バージョンチェックは1回でできませんか? – Rothens

+0

私は確かに分かりませんが、そうであると私は想定しています。私は非常に面倒な自分自身を見つけることができればうまくいけば、誰かが私にこれを修正します。 – PuerNoctis

関連する問題