回答:
これは、Framework and ReferencesダイアログでF1を押すと表示されます。
新しいプロジェクトのデフォルトでは、ターゲットフレームワークは.NET Framework 4に設定されています。IDEはターゲットフレームワークの変更をサポートしていませんが、手動で変更できます。プロジェクトファイル(.vcxproj)では、デフォルトのターゲットフレームワークはv4.0プロパティ要素で表されます。ターゲットフレームワークを変更するには、プロジェクトをアンロードし、テキストエディターを使用してプロジェクトファイルを開き、プロパティ要素の値をv4.0からサーバーにインストールされている別のバージョンに変更します。たとえば、.NET Framework v3.5を表すv3.5を指定する場合、Visual Studio 2008 SP1をインストールする必要があります。ファイルを保存して閉じ、プロジェクトをリロードし、ターゲットフレームワークがプロパティページに表示されることを確認します。*
これは、変換されたプロジェクトではそれほど正確ではありません<TargetFrameworkVersion>
。自分で要素を追加する必要があります。「Globals」というラベルの付いたPropertyGroupに配置します。
<PropertyGroup Label="Globals">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<others...>
</PropertyGroup>
ストーリーは、VS2012以降を使用する場合は異なります。VS2012の最初のバージョンは、[全般]プロパティページでプラットフォームツールセットの設定を取得しました。次に、「v90」を選択して、3.5をターゲットとする適切なビルドを取得する必要があります。しかし、それは不器用です。選択を利用できるようにするには、マシンにVSのすべての中間バージョンをインストールする必要があります。
VS2008をインストールする必要がある理由は、それ自体で説明が必要です。中心的な問題は、Cランタイムライブラリ(msvcrt100.dll以降)に、マネージコードの実行をサポートする.NETコードが含まれていることです。重要な詳細は、C ++がC ++ / CLIコードを使用するプログラムで正しく初期化されるようにするモジュール初期化子です。このコードは常に.NET 4をターゲットにしており、msvcrt100.dll(およびそれ以降)にハードベイクされているため、v4.0.30319ランタイムへの絶対的な依存関係があります。古いCランタイムであるmsvcrt90.dllを使用する場合、純粋なv2.0.50727の依存関係しか持てません。VS2008のコンパイラの#includeファイルを使用する場合にのみ、msvcrt90.dll依存関係があることを確認できます。
すぐに.NET 4に移行する必要があるという冷酷な事実、そうしないと、このようなビルドの問題に苦しむことになります。実用的な障害はほとんどなく、.NET 4は、想像するすべてのターゲットで無料で広く利用できます。上位のランタイムバージョンへの移行に関連するFUDを克服することは、通常、実際の問題にすぎません。恐れや疑いの理由はありません、それは安定しています。
はい、マネージC ++プロジェクトでもターゲットを変更できます。
C ++ / CLIのターゲット.NET Frameworkの変更(VS 2010)C ++ / CLIプロジェクトの.NET Frameworkのバージョンを変更するには(VS 2010)
ソリューションエクスプローラでプロジェクトを右クリックし、ソリューションエクスプローラで、無負荷のプロジェクトをクリックし、[編集]を選択しアンロードプロジェクトを右をクリックし
<projectname>.vcxproj
てプロジェクトのXMLファイルをノードを見つけ<PropertyGroup Label="Globals">
、そのノードにノードを見つけ<TargetFrameworkVersion>
(ノードは、それを追加し、見つからない場合)は、ノードの定義の内部テキストターゲットフレームワーク。v2.0、v3.0、v3.5、v4.0のいずれかです。vcxprojファイルを保存して閉じます。ソリューションエクスプローラーでアンロードされたプロジェクトを右クリックし、[プロジェクトの再読み込みの例]をクリックします。<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
注:これらの手順は新しい形式のC ++プロジェクトファイルを使用するため、Visual Studio 2010にのみ適用されます。
匿名ユーザー:
(私は新しいユーザーであり、これに応答できないため、編集して、誰でもこれを自由に送信してください。)ツールセットをv100に変更すると、実際にはVS2010が.NET 4.0をターゲットにします。プロジェクトのプロパティ。VS2010は、これに関する警告を実際に吐き出すはずです。現在、あなたは.NET 3.5をターゲットにすることができますが、それはできません。