Przy korzystaniu z Visual Studio 2012 w Windows 8 x64 jest to najprawdopodobniej spowodowane przeniesieniem msbuild do .net, ale nie widziałem jeszcze, jak to naprawić.
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.
visual-studio
msbuild
klient
źródło
źródło
PlatformToolset
, możesz je zastąpić w następujący sposób (VS2013):"\Program Files (x86)\MSBuild\12.0\Bin\MSBuild" .\path\to\MySolution.sln /p:PlatformToolset=v120
(jeśli korzystasz z programu PowerShell, wstaw&
wcześniej\Progr..
). Dla VS2015, stanie"\Program Files (x86)\MSBuild\14.0\Bin\MSBuild"
i/p:PlatformToolset=v140
i tak dalej.Odpowiedzi:
http://en.wikipedia.org/wiki/Visual_C++
Używasz programu Visual C ++ 2012 w wersji 110. v120 oznacza Visual C ++ 2013.
Więc albo zmień ustawienia projektu, aby użyć zestawu narzędzi w wersji 110, albo zainstaluj program Visual Studio 2013 na tym komputerze i użyj VS2013 do skompilowania.
źródło
Jeśli masz zainstalowany VS2013 i otrzymujesz ten błąd, być może wywołujesz niewłaściwy program MSBuild. Wraz z VS2013 firma Microsoft zawiera teraz MSBuild jako część programu Visual Studio. Aby uzyskać szczegółowe informacje, zobacz ten wpis w blogu programu Visual Studio .
W szczególności zwróć uwagę na nową lokalizację plików binarnych:
Wydaje się, że MSBuild w
%WINDIR%\Microsoft.NET\Framework\
nie rozpoznaje zestawu narzędzi platformy VS2013 (v120).źródło
C:\Program Files (x86)\MSBuild\12.0\bin\MSbuild.exe
.jeśli używasz programu Visual 2012, kliknij prawym przyciskiem myszy nazwę projektu -> właściwości -> właściwości konfiguracji -> ogólne -> zestaw narzędzi platformy -> Visual Studio 2012 (v110)
źródło
Pobierz i skonfiguruj Microsoft Build Tools 2013 ze strony http://www.microsoft.com/en-US/download/details.aspx?id=40760
źródło
Aby dodać do odpowiedzi Kevina i Lexa:
Mieliśmy podobną sytuację w pracy, gdzie zarówno programiści, jak i serwer kompilacji mieli Visual Studio 2013. Nasze rozwiązanie miało projekt VS 2013 C ++ i zostało dobrze skompilowane, gdy zostało zbudowane na komputerze dewelopera lub na serwerze kompilacji w IDE. Problem występował podczas wyzwalania kompilacji przy użyciu definicji kompilacji TFS. Nadal używaliśmy starego szablonu kompilacji (wersja 11.1) zamiast 12.0. Na szczęście prosty dodatek atrybutu do szablonu pliku xaml rozwiązał problem. W części sekwencji „Kompiluj projekt” znajduje się węzeł XAML rozpoczynający się od
Możesz dodać atrybut „ToolPath” i wskazać właściwą ścieżkę do pliku MSBuild.exe, który chcesz wywołać, na podstawie odpowiedzi Kevina. Na przykład:
źródło
Aby dodać do odpowiedzi Louisa:
Alternatywnie możesz użyć atrybutu,
ToolVersion="12.0"
jeśli używasz programu Visual Studio 2013 zamiast używaćToolPath
atrybutu. Szczegóły można znaleźć pod adresem http://msdn.microsoft.com/en-us/library/dd647548.aspxWięc nie jesteś zmuszony do używania ścieżki absolutnej.
źródło
Zmarnowałem na to ponad 4 godziny.
Mam Visual Studio 2017 Enterprise , jeden z projektów ma poniższy błąd:
Aby rozwiązać powyższy błąd, próbowałem zainstalować wszystkie poniższe:
Jednak żadne z powyższych nie zadziałało.
Później zainstalowałem Visual Studio 2013 Ultimate , a potem wszystko działało dobrze.
Wygląda na to, że starsze Visual Studio jest konieczne, aby rozwiązać ten problem.
Mam nadzieję, że to pomoże.
źródło
Kiedy projekt jest VS2013 C ++ jest otwarty w VS2015, a tam są ostrzeżenia o „narzędzia budowania dla V120 ... nie można znaleźć”, po prostu trzeba edytować plik .vcxproj i zmiany
<PlatformToolset>v120</PlatformToolset>
na<PlatformToolset>v140</PlatformToolset>
i zamknąć i ponownie otworzyć rozwiązanie .źródło
W VS 2012 otrzymywałem komunikat „SMB2 nie będzie budować: błąd 1 błąd MSB8020: Nie można znaleźć narzędzi kompilacji dla programu Visual Studio 2010 (zestaw narzędzi platformy =„ v100 ”). Aby utworzyć kompilację przy użyciu narzędzi do kompilacji w wersji 100, kliknij menu Projekt lub kliknij prawym przyciskiem myszy rozwiązanie, a następnie wybierz opcję „Aktualizuj projekty VC ++ ...”. Zainstaluj program Visual Studio 2010, aby kompilować za pomocą narzędzi do kompilacji programu Visual Studio 2010 ”.
Rzucając ostrożność na wiatr, wypróbowałem sugestię: Wybrałem rozwiązanie w Eksploratorze rozwiązań, a następnie kliknąłem element menu „Aktualizuj VC ++”. Spowodowało to pewne aktualizacje, a następnie rozpoczęło się kompilowanie, które się powiodło.
Pozycja menu „Aktualizacja VC ++” nie pojawia się już w menu rozwiązania.
źródło
Miałem podobny problem, gdy usunąłem aktualizację społeczności VS 2013 5 i przełączyłem się na wersję społeczności VS 2015
oraz problem napotkany w projektach Windows Phone 8.1, gdzie narzekał na brak odpowiedniego zestawu narzędzi msbuild i na to, że emulatory nie są zainstalowane, nawet jeśli są.
Wiem, że źródłem problemu były ustawienia społeczności VS 2013, które pozostały po ostatniej deinstalacji, która zepsuła mi wszystko, mimo że proces odinstalowywania przebiegał sprawnie i bez problemów z panelu sterowania.
Starałem się usunąć wszystkie pozostałe pliki, ale zawsze coś zostało.
i to, co tylko dla mnie naprawiło, to nowa instalacja systemu Windows 10 x64, a następnie zainstalowałem wersję społeczności VS 2015 i to wszystko !! koniec z błędami dla mnie i emulator wp8.1 też działał dobrze !!
w moim przypadku jestem teraz całkowicie pewien, że poprzednie ustawienia instalacji Visual Studio zepsuły mi wszystko, a ponieważ nie znalazłem i nie próbowałem całkowicie usunąć plików i ustawień społeczności VS 2013, musiałem za to zapłacić i ponownie zainstalować mój system operacyjny.
możesz uniknąć ponownej instalacji systemu operacyjnego, jeśli znajdziesz sposób na całkowite usunięcie ostatnich plików instalacyjnych programu Visual Studio.
PS: spróbuj tego rozwiązania (reinstalacja systemu operacyjnego) dopiero po wypróbowaniu wszystkich możliwych sposobów, a następnie, jeśli nic nie działa, a dopiero potem ... zastosuj to rozwiązanie w ostateczności.
źródło
W VS2013, aby skonfigurować wszystkie projekty do poprawnego budowania narzędzi, możesz kliknąć prawym przyciskiem myszy rozwiązanie w eksploratorze rozwiązań i wybrać opcję „Retarget solution”. Zmieni to wszystkie progekty (wszystko, co sprawdzisz za pomocą pola wyboru w otwartym oknie dialogowym), więc błąd zniknie.
źródło
W moim przypadku dwukrotnie kliknąłem plik sln Visual 2013 i otworzyłem Visual 2012 (zamiast Visual 2013). Podczas próby kompilacji z programem Visual 2012 projekt, w którym zestaw narzędzi platformy ustawiono na „v120”, wykazał wspomniany powyżej błąd. Jednak po ponownym otwarciu sln z Visual 2013, zestaw narzędzi platformy został ustawiony na „Visual Studio 2013 (v120)” - proszę zanotować tym razem pełną nazwę - faktycznie wykonał zadanie za mnie. Projekt dobrze się teraz kompiluje.
źródło
Otrzymałem ten sam błąd podczas tworzenia projektu USBView w VS2015. Usunąłem ten błąd, wybierając ustawienia „Platform Toolset” na „Visual Studio 2015 (v140)”, a następnie kliknij prawym przyciskiem myszy rozwiązanie (w VS2015) i wybierz „Retarget Solution” i w tym oknie dialogowym wybrałem 10.0.10240.0.
Wygląda na to, że istnieje również ProjectUpgradeTool firmy Microsoft, który powinien konwertować starsze projekty w celu uaktualnienia do wersji VS2012 VS, ale nie mogłem zlokalizować tego narzędzia na moim komputerze.
Nadal muszę naprawić jakiś nowy błąd linkera za pomocą tego .
źródło
Miałem podobny problem. Społeczność VS 2015 (MSBuild 14) budująca aplikację C ++, chciała użyć narzędzi VS 2010 (v100). Wszystko zepsuło się, dając msbuildowi nieprawidłową opcję konfiguracyjną. Dziwne.
Dlatego ponownie sprawdź wszystkie te opcje i parametry.
źródło
Jeśli używasz generatorów make, takich jak cmake, JUCE itp., Spróbuj ustawić poprawną wersję docelową VS (2013, 2015, 2017) i ponownie wygeneruj rozwiązanie .
źródło
Miałem ten sam problem podczas tworzenia niektórych projektów.
Użyłem Visual Studio 2015 IDE, tam działało dobrze, ale podczas tworzenia kompilacji ze skryptu PowerShell dawało to zestaw narzędzi związany z „Nie można znaleźć narzędzi kompilacji dla v140 (Platform Toolset = 'v140')”. błąd
Ostatecznie więc chodziło o wskazanie nieprawidłowego pliku MSBUILD exe dla odpowiedniego projektu.
Wcześniej wskazywałem na $ MSBUILD = "C: \ windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe
Kompilacja przebiegła pomyślnie, gdy zaktualizowałem skrypt, aby wskazywał na $ MSBUILD = "C: \ Program Files (x86) \ MSBuild \ 14.0 \ Bin \ MSBuild.exe"
Dlatego, aby rozwiązać problem, upewnij się, że używasz poprawnego MSBUILD.
źródło