web-dev-qa-db-ja.com

Visual Studio2015-コマンドラインリターゲットソリューション

Visual Studio 2015を使用して古いプロジェクト(VS2010)をコマンドラインからビルドしようとしています。しかし、私はこれを手に入れています:

C:\ Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(55,5):エラーMSB8020:Visual Studio 2010のビルドツール(プラットフォームツールセット= 'v100 ') 見つからない。 v100ビルドツールを使用してビルドするには、Visual Studio 2010ビルドツールをインストールしてください。または、[プロジェクト]メニューを選択するか、ソリューションを右クリックし、[ソリューションのターゲットを変更]を選択して、現在のVisual Studioツールにアップグレードすることもできます。

コマンドラインから「ソリューションのターゲットを変更する」方法を知っている人はいますか?

14
Kit Plummer

C:\ Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(55,5):エラーMSB8020:Visual Studio 2010のビルドツール(プラットフォームツールセット= 'v100 ') 見つからない。

明らかに、Visual Studio 2010 (Platform Toolset = 'v100')ツールセットがインストールされておらず、古いプロジェクト(Visual Studio 2010)がそれを参照しています。

オプション:

  1. Visual Studio 2015でvcxprojファイルを開くと、_Go to project properties -> General settings._ PlatformToolsetプロパティがあることがわかります。 Visual Studio 2015の場合、それは_v140_です。 Visual Studio 2010の場合は、_v100_です。

    プラットフォームツールセットをVisual Studio 2015 (Platform Toolset = 'v140')に変更します。その後、コマンドラインおよびVSエディターからもビルドできる場合があります(注意してください。ソリューションをアップグレードしても、ソリューションが正常にビルドされるとは限りません。 )

  2. Vcxprojファイルを変更せずにPlatformToolsetを設定できます。 PlatformToolsetプロパティを_/p:PlatformToolset=v140_で上書きして、ツールセットを変更できます。

    例えば_msbuild myProject.vcxproj /p:PlatformToolset=v140_

プラットフォームツールセットとその値がわからない場合:

_Visual Studio .NET 2002 (Platform Toolset = 'v70')
Visual Studio .NET 2003 (Platform Toolset = 'v71')
Visual Studio 2005      (Platform Toolset = 'v80')
Visual Studio 2008      (Platform Toolset = 'v90')
Visual Studio 2010      (Platform Toolset = 'v100')
Visual Studio 2012      (Platform Toolset = 'v110')
Visual Studio 2013      (Platform Toolset = 'v120')
Visual Studio 2015      (Platform Toolset = 'v140')
Visual Studio 2017      (Platform Toolset = 'v141')
Visual Studio 2019      (Platform Toolset = 'v142')
...
_
22
user1