13

コマンドラインからmsbuildを使用してVS2010をビルドしている場合、vcxprojファイルを編集せずに、コマンドラインからプラットフォームツールセットをv90(つまり、Visual Studio 2008ツールチェーン)に変更できますか?

現在、ビルドスクリプトで次のコマンドラインを使用しています。

mysystemf("msbuild %s.vcxproj /t:rebuild /p:configuration=release,platform=%s", prjname, platform);
4

4 に答える 4

26

はい、vcxproj ファイルを変更せずに PlatformToolset を設定できます。

vcxproj ファイルを開くと、PlatformToolsetプロパティがあることがわかります。Visual Studio 2012 の場合は v110 です。VS2010 の場合は v100 です。VS2008 の場合は v90 です。

このプロパティを で上書きし/p:PlatformToolset=v110/v100/v90て、ツールチェーンを変更できます。

注: msbuild が errorUnsupported platformtoolset valueで失敗する場合があります。ほとんどの場合、VisualStudioVersion.

于 2013-12-02T05:06:59.543 に答える
3

PlatformToolset は、構成の PropertyGroup の一部として構成されます。

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
  <ConfigurationType>Application</ConfigurationType>
  <UseDebugLibraries>true</UseDebugLibraries>
  <CharacterSet>Unicode</CharacterSet>
  <PlatformToolset>v90</PlatformToolset>
</PropertyGroup>

コマンド ラインからツールセットを変更する場合は、各ツールセットの構成を追加し (IDE を使用して簡単に実行できます)、ビルドのためにその構成を呼び出す必要があります。

msbuild %s.vcxproj /t:rebuild /p:構成= VC90Release、プラットフォーム=%s

于 2012-07-18T18:33:20.193 に答える
2

MSDNで答えを見つけました:

Visual C++ 9.0 ツールセットを使用してプロジェクトを再構築するには、次のいずれかのコマンドを入力します。

msbuild myproject.vcxproj /p:PlatformToolset=v90 /t:rebuild

于 2012-07-19T07:56:14.240 に答える
0

ここからhttp://msdn.microsoft.com/en-us/library/bb397428

/ToolsVersion:3.5 を追加すると、VS 2008 プロジェクトのようにビルドされると書かれています

于 2012-07-18T15:19:59.807 に答える