Không thể tìm thấy các công cụ xây dựng cho v120 (Platform Toolset = 'v120')


103

Sử dụng visual studio 2012 trên windows 8 x64, điều này là do msbuild được chuyển sang .net nhưng tôi vẫn chưa biết cách khắc phục.

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
Mẹo CLI: Để xây dựng bất kỳ giải pháp nào được ưu tiên PlatformToolset, bạn có thể ghi đè nó như vậy (VS2013): "\Program Files (x86)\MSBuild\12.0\Bin\MSBuild" .\path\to\MySolution.sln /p:PlatformToolset=v120(nếu bạn đang sử dụng PowerShell, hãy đặt &trước \Progr..). Đối với VS2015, nó sẽ trở thành "\Program Files (x86)\MSBuild\14.0\Bin\MSBuild"/p:PlatformToolset=v140vân vân.
con quạ vulcan

Câu trả lời:


73

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

Bạn đang sử dụng Visual C ++ 2012 là v110. v120 có nghĩa là Visual C ++ 2013.

Vì vậy, bạn thay đổi cài đặt dự án để sử dụng bộ công cụ v110 hoặc bạn cài đặt Visual Studio 2013 trên máy này và sử dụng VS2013 để biên dịch nó.


70
Nhưng, nhưng ... tôi gặp lỗi này mặc dù tôi đã cài đặt VS 2013 trên máy của mình!
Tim Lovell-Smith

5
Bạn đã có được điều này được giải quyết? Tôi đang gặp vấn đề tương tự. Nếu tôi xây dựng từ TFS Team Build, tôi gặp lỗi tương tự. Tuy nhiên, tôi có thể xây dựng tốt từ VS 2013 IDE và từ dấu nhắc lệnh VS 2013.
Ike Starnes

Tôi đã kiểm tra danh sách phần mềm được cài đặt trên Máy chủ bản dựng TFS tại đây: listofsoftwareontfshostedbuildserver.azurewebsites.net , nơi tôi cho rằng phần mềm này sẽ hoạt động (tôi nghi ngờ điều này nên xây dựng nhưng tôi chưa phải thử nó). Tôi lưu ý rằng VS 2013 không thực sự được cài đặt, chỉ một số bit của nó.
Được đổi 1

6
Tôi đã cài đặt VS 2013 trên máy chủ bản dựng và vẫn gặp sự cố.
Được đổi 1

4
Lưu ý rằng giải pháp của bạn có thể có nhiều dự án. Vì vậy, hãy kiểm tra Thuộc tính cho tất cả chúng bằng cách nhấp chuột phải vào dự án (không phải giải pháp) -> Thuộc tính cấu hình-> Chung-> Bộ công cụ nền tảng (đây là trên VS2013)
pixel

84

Nếu bạn đã cài đặt VS2013 và gặp lỗi này, có thể bạn đang gọi sai MSBuild. Với VS2013, Microsoft hiện bao gồm MSBuild như một phần của Visual Studio. Xem bài đăng trên blog Visual Studio này để biết chi tiết.

Đặc biệt, hãy lưu ý vị trí mới của các mã nhị phân:

Trên máy 32-bit, chúng có thể được tìm thấy trong: C: \ Program Files \ MSBuild \ 12.0 \ bin

Trên các máy 64 bit, các công cụ 32 bit sẽ nằm trong: C: \ Program Files (x86) \ MSBuild \ 12.0 \ bin

và các công cụ 64-bit trong: C: \ Program Files (x86) \ MSBuild \ 12.0 \ bin \ amd64

MSBuild trong %WINDIR%\Microsoft.NET\Framework\dường như không nhận ra bộ công cụ nền tảng VS2013 (v120).


2
Câu trả lời này hóa ra là câu trả lời đúng cho tôi khi tôi gặp phải vấn đề tương tự được mô tả trong OP.
Boinst

12
Làm cách nào để bạn thay đổi đường dẫn đến MSBuild?
rharrison 33

Bạn đang cố gắng làm gì?
Kevin Richardson

2
@ rharrison33 Khi tôi sử dụng dấu nhắc lệnh VS2013, phiên bản msbuild chính xác sau đó đã được sử dụng. Chạy dấu nhắc lệnh VS2012 đã sử dụng vị trí msbuild không chính xác. Không thực sự chắc chắn tại sao VS2013 cài đặt dấu nhắc lệnh VS2012, nhưng đó là điều cần chú ý ...
Jim Geurts

1
Việc xây dựng với bộ công cụ v120 phù hợp với tôi trong dấu nhắc lệnh VS2012 khi tôi sử dụng C:\Program Files (x86)\MSBuild\12.0\bin\MSbuild.exe.
Kevin Richardson

69

nếu bạn đang sử dụng visual 2012, hãy nhấp chuột phải vào tên dự án -> thuộc tính -> thuộc tính cấu hình -> chung -> bộ công cụ nền tảng -> Visual Studio 2012 (v110)


1
Điều này đã giải quyết nó trong trường hợp của tôi. Tôi đã thử sử dụng VS2013, sau đó gặp sự cố này khi quay lại VS2012. Lưu ý rằng bạn phải làm điều này cho mọi dự án trong giải pháp.
J. Peterson

Bài đăng này với giải pháp và hướng dẫn rất rõ ràng và dễ làm theo .. Thật tệ là năm 2012 vẫn mang đến cho tôi một đống lỗi, sau khi tôi sửa lỗi v110 đó .. Tôi có thể chạy chính xác cùng một mã C chạy trên 2013 mà không có vấn đề gì, nhưng 2012 vẫn có thể quản lý để tìm ra lỗi. 2012 làm chậm quá trình viết mã, đó là lý do tại sao tôi chỉ sử dụng 2013 bây giờ.
T. Webster

Đã thay đổi Bộ công cụ nền tảng và Phiên bản Windows SDK. Đã làm việc!
Fırat Esmer


7

Để bổ sung câu trả lời của Kevin và Lex:

Chúng tôi đã gặp trường hợp tương tự tại nơi làm việc khi cả nhà phát triển và máy chủ xây dựng đều có Visual Studio 2013. Giải pháp của chúng tôi có dự án VS 2013 C ++ và được biên dịch tốt khi được xây dựng trên máy của nhà phát triển hoặc trên máy chủ xây dựng trong IDE. Vấn đề là khi kích hoạt các bản dựng bằng định nghĩa bản dựng TFS. Chúng tôi vẫn đang sử dụng mẫu bản dựng cũ (phiên bản 11.1) thay vì 12.0. May mắn thay, một bổ sung thuộc tính đơn giản cho tệp xaml mẫu đã giải quyết được vấn đề. Trong phần Trình tự "Biên dịch Dự án", có một nút xaml bắt đầu bằng

mtbwa:MSBuild CommandLineArgument=....

Bạn có thể thêm thuộc tính "ToolPath" và trỏ nó đến đúng đường dẫn của MSBuild.exe mà bạn muốn gọi, dựa trên câu trả lời của Kevin. Ví dụ:

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

4

Để thêm vào câu trả lời của Louis:

Ngoài ra, bạn có thể sử dụng thuộc tính ToolVersion="12.0"nếu bạn đang sử dụng Visual Studio 2013 thay vì sử dụng ToolPathThuộc tính. Chi tiết truy cập http://msdn.microsoft.com/en-us/library/dd647548.aspx

Vì vậy, bạn không bị buộc phải sử dụng đường dẫn tuyệt đối.


4

Lãng phí hơn 4 giờ cho việc này.

Tôi có Visual Studio 2017 Enterprise , một trong các dự án có lỗi bên dưới:

Không thể tìm thấy các công cụ xây dựng cho v120 (Platform Toolset = 'v120')

Để giải quyết lỗi trên, tôi đã cố gắng cài đặt tất cả bên dưới:

Tuy nhiên, không có cách nào ở trên hoạt động.

Sau đó, đã cài đặt Visual Studio 2013 Ultimate , sau đó tất cả đều hoạt động tốt.

Có vẻ như, Visual studio cũ hơn là phải giải quyết vấn đề này.

Hy vọng nó giúp.


3

Khi dự án VS2013 C ++ được mở trong VS2015 và có cảnh báo về "Không thể tìm thấy công cụ xây dựng cho v120 ...", tôi chỉ cần chỉnh sửa tệp .vcxproj và thay đổi <PlatformToolset>v120</PlatformToolset>thành <PlatformToolset>v140</PlatformToolset>, đồng thời đóng và mở lại giải pháp .


1

Trong VS 2012, tôi nhận được "SMB2 sẽ không xây dựng: Lỗi 1 lỗi MSB8020: Không thể tìm thấy công cụ xây dựng cho Visual Studio 2010 (Platform Toolset = 'v100'). Để xây dựng bằng công cụ xây dựng v100, hãy nhấp vào menu Dự án hoặc bấm chuột phải vào giải pháp, sau đó chọn "Cập nhật dự án VC ++ ...". Cài đặt Visual Studio 2010 để xây dựng bằng cách sử dụng công cụ xây dựng Visual Studio 2010. "

Cẩn thận với gió, tôi đã thử đề xuất: Chọn Giải pháp trong Giải pháp Explorer, sau đó nhấp vào mục menu "Cập nhật VC ++". Điều này đã thực hiện một số cập nhật và sau đó bắt đầu xây dựng thành công.

Mục menu "Cập nhật VC ++" không còn xuất hiện trong menu giải pháp.


1

tôi gặp sự cố tương tự khi xóa Bản cập nhật 5 cộng đồng VS 2013 và chuyển sang phiên bản cộng đồng VS 2015

và vấn đề gặp phải trong các dự án windows phone 8.1 mà nó phàn nàn về việc không có bộ công cụ msbuild phù hợp và về việc các trình giả lập không được cài đặt ngay cả khi chúng có.

Tôi biết rằng nguồn gốc của vấn đề là do cài đặt cộng đồng VS 2013 đã bị bỏ lại bởi lần gỡ cài đặt cuối cùng đó, điều này đã làm rối tung mọi thứ đối với tôi mặc dù quá trình gỡ cài đặt diễn ra suôn sẻ mà không gặp sự cố nào từ bảng điều khiển.

tôi đã cố gắng hết sức để xóa bất kỳ tệp nào còn lại nhưng vẫn luôn có một số thứ còn sót lại.

và điều duy nhất đã sửa nó cho tôi là cài đặt windows 10 x64 mới, sau đó tôi đã cài đặt phiên bản cộng đồng VS 2015 và thế là xong !! không còn lỗi nào đối với tôi và trình giả lập wp8.1 cũng hoạt động tốt !!

trong trường hợp của tôi bây giờ hoàn toàn chắc chắn rằng cài đặt cài đặt visual studio trước đó đã làm rối tung mọi thứ đối với tôi và vì không có cách nào tôi tìm thấy và cố gắng xóa hoàn toàn các tệp và cài đặt cộng đồng VS 2013, tôi đã phải trả giá cho nó và cài đặt lại hệ điều hành của tôi.

bạn có thể tránh cài đặt lại hệ điều hành nếu bạn có thể tìm cách xóa hoàn toàn các tệp cài đặt studio trực quan cuối cùng.

Tái bút: chỉ thử giải pháp này (cài đặt lại hệ điều hành) sau khi bạn đã thử mọi cách có thể trước sau đó nếu không có gì hoạt động và chỉ sau đó ... hãy thực hiện giải pháp này như một phương sách cuối cùng.


Gặp lỗi này khi cài đặt mới VS 2015 Community. Microsoft không có đường dẫn chính xác cho x64.
Michaelangel007

0

Trong VS2013 để thiết lập tất cả các dự án để sửa các công cụ xây dựng, bạn có thể nhấp chuột phải vào giải pháp trong trình khám phá giải pháp và chọn "Mục tiêu lại giải pháp". Nó sẽ thay đổi tất cả progects (tất cả những gì bạn kiểm tra bằng hộp kiểm trong hộp thoại đã mở), do đó lỗi sẽ biến mất.


Đã thử điều đó. Không giúp được gì trong trường hợp của tôi với VS Community 2015.: - /
Michaelangel007

0

Trong trường hợp của tôi, tôi đã nhấp đúp vào tệp sln Visual 2013 và Visual 2012 đã được mở (thay vì Visual 2013). Đang cố gắng biên dịch với Visual 2012, một dự án có Bộ công cụ nền tảng được đặt thành "v120" đã cho thấy lỗi được đề cập ở trên. Tuy nhiên, khi mở lại sln với Visual 2013, Bộ công cụ nền tảng được đặt thành "Visual Studio 2013 (v120)" - xin lưu ý tên đầy đủ lần này -, thực sự đã thực hiện công việc cho tôi. Dự án biên dịch tốt ngay bây giờ.


0

Tôi gặp lỗi tương tự khi xây dựng dự án USBView trong VS2015. Tôi đã xóa lỗi này bằng cách chọn cài đặt 'Bộ công cụ nền tảng' thành "Visual Studio 2015 (v140)" và nhấp chuột phải vào giải pháp (trong VS2015) và chọn 'Giải pháp mục tiêu lại' và chọn 10.0.10240.0 trên hộp thoại đó.

Có vẻ như cũng có ProjectUpgradeTool từ microsoft, giả sử chuyển đổi các dự án cũ hơn để nâng cấp lên đăng VS2012 VS nhưng tôi không thể tìm thấy công cụ đó trên máy của mình.

Tôi vẫn phải sửa một số lỗi trình liên kết mới với sự trợ giúp của điều này .


0

Tôi đã có một vấn đề tương tự. VS 2015 Community (MSBuild 14) đang xây dựng ứng dụng c ++, muốn sử dụng các công cụ VS 2010 (v100). Tất cả đã xảy ra với msbuild một tùy chọn cấu hình không hợp lệ. Thật kỳ lạ.

Vì vậy, hãy kiểm tra lại tất cả các tùy chọn và thông số đó.


0

Nếu bạn sử dụng trình tạo tạo như cmake, JUCE, v.v., hãy cố gắng đặt mục tiêu phiên bản VS chính xác (2013, 2015, 2017) và tạo lại giải pháp .


0

Tôi đã phải đối mặt với cùng một vấn đề trong khi xây dựng một số dự án.

Tôi đã sử dụng Visual Studio 2015 IDE, nó hoạt động tốt nhưng trong khi cung cấp bản dựng từ tập lệnh PowerShell, nó đã đưa ra bộ công cụ liên quan "Không tìm thấy công cụ bản dựng cho v140 (Platform Toolset = 'v140')."lỗi

Vì vậy, cuối cùng vấn đề là trỏ đến exe MSBUILD không chính xác cho dự án tương ứng.

Trước đó tôi đã trỏ đến $ MSBUILD = "C: \ windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe

Và quá trình xây dựng đã thành công khi tôi cập nhật tập lệnh để trỏ tới $ MSBUILD = "C: \ Program Files (x86) \ MSBuild \ 14.0 \ Bin \ MSBuild.exe"

Do đó, để giải quyết vấn đề, hãy đảm bảo sử dụng MSBUILD chính xác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.