Yêu cầu chưa được đáp ứng của thành phố đội: MSBuildTools12.0_x86_Path tồn tại


117

Tôi có cài đặt TeamCity trên máy windows x32 Server2008. Tôi đã chạy cài đặt web .net 4.5. Tôi cũng đã sao chép các tệp từ máy x64 của mình dựa trên bài viết này để tôi không cần cài đặt vs2012 (tuy nhiên, tôi đã thay đổi đường dẫn để loại bỏ x86 trên máy 32 bit):

MSBuild trong giải pháp TeamCity of Visual Studio 2012

Tôi dường như không thể yêu cầu tác nhân cục bộ chạy bản dựng mà tôi đã thiết lập cho msbuild trên dự án vs2012 hoặc vs2010. Tôi tiếp tục nhận được:

Yêu cầu chưa được đáp ứng: tồn tại MSBuildTools12.0_x86_Path

Tôi đã khởi động lại máy chủ nhiều lần và cũng khởi động lại tác nhân. Tôi đã thử lộn xộn với các biến đường dẫn một chút, nhưng không thể tìm ra những gì tôi đang thiếu. Tôi cũng đã xem trong Tham số cấu hình và có thể thấy những điều sau:

MSBuildTools2.0_x86_Path C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727

MSBuildTools3.5_x86_Path C: \ Windows \ Microsoft.NET \ Framework \ v3.5

MSBuildTools4.0_x86_Path C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319

Làm cách nào để đạt được 12.0 trong đó?


Bạn vẫn gặp sự cố với TeamCity?
Daniel Hollinrake

Khoảng thời gian để tôi tìm ra điều này buộc tôi phải tạm dừng dự án. Tôi hy vọng sẽ trở lại với nó vào mùa xuân.
archangel76

Tôi đã mất một lúc để làm cho tất cả hoạt động. Tôi nghĩ ý chính của nó là cài đặt MSBuild và cập nhật Web Deploy.
Daniel Hollinrake vào

Câu trả lời:


149

Tôi cần cài đặt riêng MSBuild, sau đó khởi động lại tác nhân, biến đã ở đó.

(Từ bài viết MSDN) MSBuild hiện được cài đặt như một phần của Visual Studio thay vì một phần của .NET Framework. Số phiên bản MSBuild hiện tại là 12.0. Nếu bạn muốn cài đặt riêng MSBuild, hãy tải xuống gói cài đặt từ MSBuild Download.

chỉnh sửa: liên kết câu trả lời đã bị hỏng. Đây là liên kết cho Microsoft Build Tools 2015 (gần đây nhất cho đến hôm nay): https://www.microsoft.com/en-us/download/details.aspx?id=48159


8
Cần lưu ý rằng bạn sẽ cần phiên bản .NET Framework 4.5.1 (tìm thấy tại đây: microsoft.com/en-ca/download/details.aspx?id=40779 ) để cài đặt MSBuild12.0.
Brandon

37
Để khởi động lại tác nhân: 1. Đi tới máy chủ xây dựng. 2. Chạy services.msc từ menu bắt đầu. 3. Tìm Đại lý TeamCity, dừng dịch vụ và khởi động lại. Điều đó có vẻ hiển nhiên đối với các bác sĩ thú y dày dạn kinh nghiệm của TeamCity nhưng với những người dùng lần đầu như tôi thì không. :)
Chaim Eliyah

5
Mặc dù tôi đã cài đặt MS Build Tools 2013, nhưng biến MSBuildTools12.0_x86_Path vẫn chưa được đặt và tác nhân không chạy. Có cách nào để thiết lập thủ công không?
bdaniel7

Phải truy cập vào thư mục này và chạy vcvars64.bat: C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ bin \ amd64 Sau đó msbuild hoạt động với tôi.
user8128167

5
Theo mặc định khi tôi sử dụng tự động phát hiện tệp sln và giải pháp của tôi được đặt thành Visual Studio 2013. Tôi đã thay đổi cho Visual Studio 2015 được cài đặt trên tác nhân.
ptittof57.

33

Câu trả lời hơi muộn, nhưng nếu dự án của bạn là từ VS 2012 và bạn đang sử dụng bước xây dựng tệp giải pháp tự động phát hiện, chỉnh sửa bước đó và chọn "Microsoft Visual Studio 2012" từ trình đơn thả xuống "Visual Studio" sẽ khắc phục sự cố này cũng như (và, IMHO, chính xác hơn).


2
Không muộn chút nào! Tôi gặp sự cố này hôm nay và việc thay đổi phiên bản VS thành VS 2015 đã loại bỏ thông báo yêu cầu chưa được đáp ứng
Sudhanshu Mishra

Điều này đã làm việc cho tôi máy chủ mới TeamCity 10 VS2015 (là dự án cũ năm 2013)
Rippo

2
Vâng, vấn đề của tôi là phiên bản Visual Studio bị "tự động chọn" bởi Team City khi chọn tự động phát hiện các bước xây dựng từ tùy chọn "Tạo dự án từ URL", vì vậy tôi chỉ cần đi đến bước xây dựng và thay đổi Phiên bản Visual Studio để sửa lỗi này. Tôi hy vọng mọi người kiểm tra câu trả lời của bạn trước khi cố gắng cài đặt những thứ họ có thể không cần trong câu trả lời của jmw.
starmandeluxe

18

Tôi đã gặp vấn đề tương tự và cuối cùng thì hóa ra là bước xây dựng đã xác định của tôi để chạy MSBuild đã bị định cấu hình sai.

Trong bước xây dựng MSBuild của tôi, cài đặt "MSBuild ToolsVersion" được đặt thành 12.0 (mặc định), dẫn đến lỗi "Yêu cầu chưa được đáp ứng: MSBuildTools12.0_x86_Path tồn tại" trên hệ thống của tôi. Vì tôi không cần MSBuild 12.0 mới để chạy bản dựng của mình, nên tôi đã thay đổi cài đặt này thành 4.0 trong bước xây dựng của mình. Phiên bản MSBuild này được cài đặt chính xác trên hệ thống của tôi. Điều này đã giải quyết vấn đề cho tôi.


10

Tôi cũng hơi muộn đến bữa tiệc nhưng tôi nghĩ tôi sẽ chia sẻ những điều sau đây để phòng trường hợp nó giúp ích cho bất kỳ tâm hồn nghèo nào ngoài kia.

  • Tôi đã ở trên lỗi được đề cập trên một tươi cài đặt của TeamCity 8.1.4 trên mới Windows Server 2012 R2 hộp
  • Đã làm theo các hướng dẫn trong chủ đề này và lỗi vẫn xuất hiện mặc dù đã khởi động lại nhiều lần và cài đặt lại.
  • Tôi nhận thấy rằng thông tin tác nhân như hệ điều hành và CPU không xuất hiện trên trang chi tiết tác nhân. Điều này chỉ ra rằng vấn đề không phải do điều kiện tiên quyết .NET và MSBUILD mà thay vào đó liên quan đến việc dịch vụ tác nhân không thể đọc thông tin về máy.
  • Tác nhân đang chạy trong tài khoản của người dùng (với tất cả các quyền cần thiết theo tài liệu TeamCity ). Nhưng tôi nghĩ tôi sẽ thấy điều gì sẽ xảy ra nếu tôi truy cập Công cụ quản trị> Dịch vụ và thay đổi Đăng nhập thành tài khoản hệ thống Cục bộ.
  • Đã khởi động lại dịch vụ đại lý.
  • Thành công lớn.

Việc thay đổi đại lý để chạy như dịch vụ cục bộ cũng đã khắc phục sự cố này cho tôi. Tôi không hiểu tại sao mặc dù. Tôi đã thêm người dùng mà tôi đang sử dụng vào nhóm quản trị viên cục bộ để xem liệu đó có phải là vấn đề về quyền hay không nhưng điều đó không giúp được gì;
user381624

8

MSBuild hiện là một phần của Visual Studio. Nếu bạn cần cài đặt công cụ xây dựng trên đại lý của mình nhưng không muốn cài đặt VS, bạn sẽ cần cài đặt Công cụ xây dựng mới của Microsoft có sẵn tại http://www.microsoft.com/en-us/download/ details.aspx? id = 40760 .


1
Xem thêm: link phiên bản Build Tools 2015 (link đề cập là 2013 tools).
Jeroen

đây là 2017 phiên bản (Tools cho Visual Studio 2017 -> Công cụ xây dựng cho Visual Studio 2017)
fuglede

5

Trong trường hợp của tôi - chỉ cài đặt riêng của MSBuild cho VS2013 đã giúp ích. (đây là liên kết - https://www.microsoft.com/en-us/download/confirmation.aspx?id=40760 ) Nó đã tạo thư mục này C:\Program Files (x86)\MSBuild\12.0Cài đặt công cụ MSBuild cho VS2015 đã tạo C:\Program Files (x86)\MSBuild\14.0thư mục này và TC không muốn sử dụng nó.


2

Tôi gặp sự cố này trên đại lý xây dựng thứ cấp của mình.

Tôi đã sao chép thư mục MSBuild từ máy tính tác nhân xây dựng chính sang máy tính tác nhân xây dựng phụ (giống như tôi đã làm với một số tệp Visual Studio như được mô tả ở đây: MSBuild trong giải pháp TeamCity of Visual Studio 2012 ), thay vì cài đặt MSBuild.

Tuy nhiên, có vẻ như các dịch vụ đại lý TeamCity kiểm tra sổ đăng ký cho các mục nhập MSBuild khi nó khởi động (dường như nó không thực hiện điều này với các tệp Visual Studio mà tôi đã đề cập ở trên). Vì tôi chỉ cần sao chép các tệp từ máy tính khác, không có mục nhập MSBuild cho phiên bản 12.0 tồn tại, vì vậy TeamCity đã không phát hiện ra các tệp MSBuild mặc dù chúng có trong thư mục Program Files (x86) \ MSBuild.

Khi tôi cài đặt Microsoft Build Tools từ liên kết ở trên http://www.microsoft.com/en-us/download/details.aspx?id=40760 TeamCity đã tìm thấy mục nhập phiên bản 12.0 trong sổ đăng ký và tác nhân có thể xây dựng các dự án giống như đại lý chính.

Hãy nhớ khởi động lại dịch vụ đại lý TeamCity sau khi cài đặt MS Build Tools.


1

Trong trường hợp của tôi, tôi có TeamCity Professional 2018.1 trên Windows 2016 Server. Tôi đã tải xuống Công cụ xây dựng cho Visual Studio 2017 từ đây: https://visualstudio.microsoft.com/downloads/ và chọn tất cả các tùy chọn cho các công cụ xây dựng. Sau khi cài đặt, tôi đã thêm MSBuild vào biến môi trường PATH toàn cục. C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin trong trường hợp của tôi.


0

Trong trường hợp của tôi, đó là một máy mới chưa được cài đặt visual studio và tôi vừa khôi phục Teamcity từ một máy khác. Vì vậy, tôi đã cài đặt visual studio 2013 và giải quyết vấn đề tác nhân teamcity.


0

Như đã nói ở trên, bước xây dựng tự động phát hiện có thể đã chọn sai phiên bản Visual Studio. Thay đổi nó bằng cách sử dụng Visual Studio thả xuống trong phần Các bước xây dựng trên trang cài đặt Cấu hình Xây dựng :

nhập mô tả hình ảnh ở đây


-1

Tôi dường như giải quyết vấn đề này bằng cách vào sổ đăng ký và xóa tất cả các mục nhập cho MSBuild không có trong phiên bản 12, sau đó khởi động lại tác nhân.

Để làm điều đó, hãy vào Start> Run và nhập Regedit

Sau đó điều hướng đến phím:

HKEY_LOCAL_MACHINE> SOFTWARE> Microsoft> MSBuild

Xóa tất cả các phiên bản ngoại trừ phiên bản 12.0.

Đi xuống cấp tiếp theo đến ToolsVersions và xóa các phiên bản không phải 12.0 ở đó.


1
Đây là một ý tưởng tồi, điều cuối cùng bạn nên làm trong CI / CD là chơi với các sổ đăng ký
goamn
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.