v120のビルドツール(プラットフォームツールセット= 'v120')が見つかりません


103

Windows 8 x64でVisual Studio 2012を使用すると、これはmsbuildが.netに移動されたために発生しますが、修正方法はまだわかりません。

4>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.    
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5):
error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.    
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.

1
CLIヒント:preferredを使用してソリューションを構築するにはPlatformToolset、次のようにオーバーライドできます(VS2013):("\Program Files (x86)\MSBuild\12.0\Bin\MSBuild" .\path\to\MySolution.sln /p:PlatformToolset=v120PowerShellを使用している場合は、の&前に配置します\Progr..)。VS2015のために、それはなるだろう"\Program Files (x86)\MSBuild\14.0\Bin\MSBuild"/p:PlatformToolset=v140し、上のようにします。
バルカンレイヴン2015

回答:


73

http://en.wikipedia.org/wiki/Visual_C++

v110であるVisual C ++ 2012を使用しています。v120はVisual C ++ 2013を意味します。

したがって、ツールセットv110を使用するようにプロジェクト設定を変更するか、このマシンにVisual Studio 2013をインストールし、VS2013を使用してコンパイルします。


70
しかし、しかし...マシンにVS 2013がインストールされているにもかかわらず、このエラーが発生します。
Tim Lovell-Smith、

5
これは解決しましたか?同様の問題が発生しています。TFSチームビルドからビルドすると、同じエラーが発生します。ただし、VS 2013 IDEおよびVS 2013コマンドプロンプトから正常にビルドできます。
Ike Starnes、

TFSビルドサーバーにインストールされているソフトウェアのリストをここで確認しました:listofsoftwareontfshostedbuildserver.azurewebsites.netこれが機能すると思います(これはビルドするはずですが、まだ試す必要はありません)。VS 2013は実際にはインストールされておらず、一部のみがインストールされています。
引き換え1 2014

6
ビルドサーバーにVS 2013をインストールしましたが、まだ問題があります。
引き換え1 2014

4
ソリューションには複数のプロジェクトがある場合があることに注意してください。だから、プロジェクト(ソリューションではなく)を右クリックしてそれらのすべてのプロパティをチェック- > [コンフィグレーションプロパティ- >一般- >プラットフォームツールセット(これはVS2013である)
ピクセル

84

VS2013をインストールしていて、このエラーが発生する場合は、間違ったMSBuildを呼び出している可能性があります。VS2013では、Microsoftは現在、MSBuildをVisual Studioの一部として組み込んでいます。詳細については、このVisual Studioブログ投稿を参照てください。

特に、バイナリの新しい場所に注意してください。

32ビットマシンでは、C:\ Program Files \ MSBuild \ 12.0 \ binにあります。

64ビットマシンでは、32ビットツールはC:\ Program Files(x86)\ MSBuild \ 12.0 \ binにあります。

C:\ Program Files(x86)\ MSBuild \ 12.0 \ bin \ amd64にある64ビットツール

MSBuild %WINDIR%\Microsoft.NET\Framework\はVS2013(v120)プラットフォームツールセットを認識しないようです。


2
OPで説明されているのと同じ問題が発生したとき、この答えは私にとって正しい答えであることがわかりました。
Boinst 2014年

12
MSBuildへのパスをどのように変更しますか?
rharrison33 2014

何をしようとしていますか?
ケビンリチャードソン

2
@ rharrison33 VS2013コマンドプロンプトを使用すると、正しいバージョンのmsbuildが使用されました。VS2012コマンドプロンプトを実行すると、不適切なmsbuildの場所が使用されました。VS2013がVS2012コマンドプロンプトをインストールした理由はよくわかりませんが、注意が必要です...
Jim Geurts

1
v120ツールセットを使用したビルドは、VS2012コマンドプロンプトで使用すると機能しますC:\Program Files (x86)\MSBuild\12.0\bin\MSbuild.exe
Kevin Richardson、

69

Visual 2012を使用している場合は、プロジェクト名を右クリック->プロパティ->構成プロパティ->一般->プラットフォームツールセット-> Visual Studio 2012(v110)


1
これは私の場合それを解決しました。VS2013を使用してみましたが、VS2012に戻ったときにこの問題が発生しました。ソリューションのすべてのプロジェクトでこれを行う必要があることに注意してください。
J.ピーターソン

解決策と方向性を含むこの投稿は非常に明確でわかりやすいものです。v110の問題を修正した後も、2012年の問題が山積みですが、2013年でもまったく同じCコードを問題なく実行できますが、 2012はまだエラーを見つけることができます。2012はコーディングが遅くなるため、現在2013のみを使用しています。
T.ウェブスター、

変更されたプラットフォームツールセットとWindows SDKバージョン。働きました!
FıratEsmer


7

ケビンとレックスの答えを合計するには:

開発者とビルドサーバーの両方にVisual Studio 2013が存在する同様の状況がありました。このソリューションにはVS 2013 C ++プロジェクトがあり、開発者のマシンまたはIDE内のビルドサーバーでビルドすると問題なくコンパイルされました。この問題は、TFSビルド定義を使用してビルドをトリガーするときに発生しました。12.0ではなく、古いビルドテンプレート(バージョン11.1)を使用していました。幸い、テンプレートxamlファイルに単純な属性を追加することで問題は解決しました。シーケンス部分「プロジェクトのコンパイル」には、次で始まるxamlノードがあります。

mtbwa:MSBuild CommandLineArgument=....

「ToolPath」属性を追加して、ケビンの答えに基づいて、呼び出したいMSBuild.exeの正しいパスを指すことができます。例えば:

ToolPath="C:\Program Files (x86)\MSBuild\12.0\Bin"


4

これで4時間以上無駄になりました。

私がしているのVisual Studio 2017エンタープライズ、プロジェクトの一つは、エラーの下にあります。

v120のビルドツール(プラットフォームツールセット= 'v120')が見つかりません

上記のエラーを解決するために、以下のすべてをインストールしようとしました:

ただし、上記のいずれも機能しませんでした。

その後、Visual Studio 2013 Ultimateをインストールすると、すべて正常に動作しました。

古いVisual Studioはこれを解決するために必須のようです。

それが役に立てば幸い。


3

VS2013でVS2013 C ++プロジェクトを開いたときに「v120のビルドツールが見つかりません...」という警告が表示された場合、.vcxprojファイルを編集してに変更<PlatformToolset>v120</PlatformToolset><PlatformToolset>v140</PlatformToolset>、ソリューションを閉じて再度開くだけです。 。


1

VS 2012で、「SMB2はビルドされません:エラー1エラーMSB8020:Visual Studio 2010(Platform Toolset = 'v100')のビルドツールが見つかりません。v100ビルドツールを使用してビルドするには、[プロジェクト]メニューをクリックしてください。またはソリューションを右クリックし、[VC ++プロジェクトの更新...]を選択します。VisualStudio 2010をインストールして、Visual Studio 2010ビルドツールを使用してビルドします。

風に注意を払って、ソリューションエクスプローラーでソリューションを選択し、[VC ++の更新]メニュー項目をクリックしました。これにより、更新が行われ、ビルドが開始され、成功しました。

[Update VC ++]メニュー項目は、ソリューションメニューに表示されなくなりました。


1

VS 2013コミュニティアップデート5を削除してVS 2015コミュニティエディションに切り替えたときに、同様の問題が発生しました

また、Windows Phone 8.1プロジェクトで取得された問題で、適切なmsbuildツールセットがないこと、およびエミュレータがインストールされていないことについて不満がありました。

問題の原因は、最後のアンインストールによって残ったVS 2013コミュニティの設定であり、コントロールパネルから問題なくアンインストールプロセスがスムーズに進んでも、すべてを台無しにしてしまったことを知っています。

残っているファイルを削除するために最善を尽くしましたが、常に何かが残っていました。

そして、私のためにそれを修正したのは、新鮮なWindows 10 x64インストールであり、その後、VS 2015コミュニティエディションをインストールしました。私にとってこれ以上のエラーはなく、wp8.1エミュレーターも問題なく動作しました!!

私の場合、以前のVisual Studioインストール設定がすべてを台無しにしてしまったことを完全に確信しています。VS2013コミュニティファイルと設定を見つけて完全に消去しようとする方法がなかったため、その代金を支払って再インストールする必要がありました。私のOS。

最後のVisual Studioインストールファイルを完全に消去する方法を見つけることができれば、OSの再インストールを回避できる可能性があります。

PS:このソリューションを試してみてください(OSの再インストール)可能な限りの方法を最初に試してから、何も機能しない場合にのみ、最後の手段としてこのソリューションを作成してください。


VS 2015 Communityの新規インストールでこのエラーを取得します。Microsoftにはx64の正しいパスがありません。
Michaelangel007 2016年

0

VS2013では、すべてのプロジェクトを設定してビルドツールを修正するために、ソリューションエクスプローラーでソリューションを右クリックして、[ソリューションのターゲット変更]を選択できます。すべてのプロジェクト(開いているダイアログのチェックボックスでチェックしたすべて)が変更されるため、エラーは発生しません。


それを試しました。VS Community 2015の私の場合は役に立ちません。:-/
Michaelangel007

0

私の場合、Visual 2013 slnファイルをダブルクリックし、Visual 2013の代わりにVisual 2012を開きました。Visual 2012でコンパイルしようとすると、プラットフォームツールセットが「v120」に設定されているプロジェクトで、上記のエラーが表示されました。ただし、Visual 2013でslnを再度開くと、プラットフォームツールセットは「Visual Studio 2013(v120)」に設定されました。今回は完全な名前に注意してください-実際に機能しました。これでプロジェクトはうまくコンパイルされました。


0

VS2015でUSBViewプロジェクトをビルドすると、同じエラーが発生しました。「プラットフォームツールセット」設定を「Visual Studio 2015(v140)」に選択し、ソリューション(VS2015)を右クリックして「ソリューションのターゲット変更」を選択し、そのダイアログで10.0.10240.0を選択して、このエラーを削除しました。

古いプロジェクトを変換してVS2012 VSにアップグレードすることを想定しているMicrosoftのProjectUpgradeToolもあるようですが、自分のマシンでそのツールを見つけることができませんでした。

私はまだこれの助けを借りていくつかの新しいリンカーエラーを修正する必要があります。


0

同様の問題がありました。VS 2015コミュニティ(MSBuild 14)は、VS 2010(v100)ツールを使用したいc ++アプリを構築しています。それはすべてmsbuildに無効な構成オプションを与えてダウンしました。奇妙な。

したがって、これらのオプションとパラメーターをすべて再確認してください。


0

cmake、JUCEなどの makeジェネレーターを使用する場合は、正しいVSバージョンターゲット(2013、2015、2017)を設定して、ソリューションを生成してください


0

いくつかのプロジェクトの構築中に同じ問題に直面していました。

私はVisual Studio 2015 IDEを使用しましたが、正常に機能していましたが、PowerShellスクリプトからのビルドを提供しているときに、「v140のビルドツール(プラットフォームツールセット= 'v140')が見つからない」というツールセットを提供していました。エラー

したがって、最終的には、それぞれのプロジェクトに対して誤ったMSBUILD exeをポイントする問題でした。

以前、私は$ MSBUILD = "C:\ windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exeを指していた

そして、$ MSBUILD = "C:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin \ MSBuild.exe"を指すようにスクリプトを更新すると、ビルドは成功しました

したがって、問題を解決するには、必ず正しいMSBUILDを使用してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.