Persyaratan kota tim yang belum terpenuhi: MSBuildTools12.0_x86_Path ada

117

Saya memiliki TeamCity menginstal pada mesin windows x32 Server2008. Saya telah menjalankan instalasi web .net 4.5. Saya juga menyalin file dari mesin x64 saya berdasarkan artikel ini sehingga saya tidak perlu menginstal vs2012 (meskipun, saya memang memiliki perubahan jalur untuk menghapus x86 pada mesin 32bit):

MSBuild dalam solusi TeamCity dari Visual Studio 2012

Sepertinya saya tidak bisa mendapatkan agen lokal untuk menjalankan build yang telah saya siapkan untuk msbuild pada proyek vs2012 atau vs2010. Saya terus mendapatkan:

Persyaratan yang belum terpenuhi: MSBuildTools12.0_x86_Path ada

Saya telah merestart server beberapa kali, dan juga merestart agen. Saya sudah mencoba mengotak-atik variabel jalur sedikit, tetapi tidak dapat menemukan apa yang saya lewatkan. Saya telah melihat juga di Parameter Konfigurasi, dan dapat melihat ini:

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

Bagaimana cara mendapatkan 12.0 di sana?

malaikat agung76
sumber
Apakah Anda masih mengalami masalah dengan TeamCity?
Daniel Hollinrake
Jumlah waktu yang saya butuhkan untuk memikirkan hal ini mengharuskan saya untuk menunda proyek. Saya berharap bisa kembali melakukannya di musim semi.
malaikat
Butuh beberapa saat bagi saya untuk membuat semuanya berfungsi. Saya pikir intinya adalah menginstal MSBuild dan memperbarui Web Deploy.
Daniel Hollinrake

Jawaban:

149

Saya perlu menginstal MSBuild secara terpisah, kemudian setelah agen restart, variabel itu ada.

(Dari artikel MSDN) MSBuild sekarang diinstal sebagai bagian dari Visual Studio daripada sebagai bagian dari .NET Framework. Nomor versi MSBuild saat ini adalah 12.0. Jika Anda ingin menginstal MSBuild secara terpisah, unduh paket penginstalan dari Unduh MSBuild.

edit: link jawaban rusak. Berikut ini tautan untuk Microsoft Build Tools 2015 (terbaru hingga saat ini): https://www.microsoft.com/en-us/download/details.aspx?id=48159

jmw
sumber
8
Perlu dicatat bahwa Anda memerlukan .NET Framework versi 4.5.1 (ditemukan di sini: microsoft.com/en-ca/download/details.aspx?id=40779 ) untuk menginstal MSBuild12.0.
Brandon
37
Untuk memulai ulang agen: 1. Buka server build. 2. Jalankan services.msc dari menu start. 3. Temukan Agen TeamCity, hentikan layanan, dan mulai ulang. Itu mungkin tampak jelas bagi dokter hewan TeamCity yang berpengalaman tetapi tidak untuk pengguna pertama kali seperti saya. :)
Chaim Eliyah
5
Meskipun saya telah menginstal MS Build Tools 2013, variabel MSBuildTools12.0_x86_Path masih belum disetel dan agen tidak berjalan. Apakah ada cara untuk mengaturnya secara manual?
bdaniel7
Harus pergi ke direktori ini, dan menjalankan vcvars64.bat: C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ bin \ amd64 Kemudian msbuild bekerja untuk saya.
pengguna8128167
5
Secara default ketika saya menggunakan deteksi otomatis file SLN dan solusi saya ditetapkan ke Visual Studio 2013. Saya diubah untuk Visual Studio 2015 diinstal pada agen.
ptittof57
33

Sedikit jawaban yang terlambat, tetapi jika proyek Anda berasal dari VS 2012, dan Anda menggunakan langkah pembuatan file solusi yang terdeteksi otomatis, mengedit langkah tersebut dan memilih "Microsoft Visual Studio 2012" dari drop-down "Visual Studio" memperbaiki masalah ini juga (dan, IMHO, lebih tepatnya).

Harper Shelby
sumber
2
Tidak terlambat sama sekali! Saya mengalami masalah ini hari ini dan mengubah versi VS ke VS 2015 menyingkirkan pesan persyaratan yang tidak terpenuhi
Sudhanshu Mishra
Ini bekerja untuk saya server baru TeamCity 10 VS2015 (adalah proyek 2013 lama)
Rippo
2
Ya, masalah saya adalah bahwa versi Visual Studio yang salah "dipilih secara otomatis" oleh Team City saat memilih untuk mendeteksi otomatis langkah-langkah pembuatan dari opsi "Buat Proyek dari URL", jadi saya cukup pergi ke langkah pembuatan dan mengubah Versi Visual Studio untuk memperbaiki ini. Saya harap orang-orang memeriksa jawaban Anda terlebih dahulu sebelum mencoba menginstal hal-hal yang mungkin tidak mereka butuhkan di jawaban jmw.
starmandeluxe
18

Saya memiliki masalah yang sama dan pada akhirnya ternyata langkah build yang saya tentukan untuk menjalankan MSBuild salah dikonfigurasi.

Dalam langkah pembuatan MSBuild saya, pengaturan "MSBuild ToolsVersion" diatur ke 12.0 (default), yang menyebabkan kesalahan "Persyaratan yang tidak terpenuhi: MSBuildTools12.0_x86_Path ada" di sistem saya. Karena saya tidak memerlukan MSBuild 12.0 baru untuk menjalankan build saya, saya mengubah pengaturan ini menjadi 4.0 di langkah build saya. Versi MSBuild ini diinstal dengan benar di sistem saya. Ini memecahkan masalah saya.

Andreas Schuermann
sumber
10

Saya juga agak terlambat ke pesta tetapi saya pikir saya akan membagikan hal-hal berikut jika itu membantu jiwa yang malang di luar sana.

  • Aku punya yang disebutkan di atas kesalahan pada segar menginstal dari TeamCity 8.1.4 pada baru Windows Server 2012 R2 kotak
  • Mengikuti instruksi di utas ini dan kesalahan masih muncul meskipun banyak restart dan instal ulang.
  • Saya perhatikan bahwa info agen seperti OS dan CPU tidak muncul di halaman detail agen. Ini menunjukkan bahwa masalahnya bukan dengan prasyarat .NET dan MSBUILD, tetapi terkait dengan layanan agen yang tidak dapat membaca info tentang mesin.
  • Agen berjalan di bawah akun pengguna (dengan semua izin yang diperlukan sesuai dokumentasi TeamCity ). Tetapi saya pikir saya akan melihat apa yang akan terjadi jika saya masuk ke Alat Admin> Layanan dan mengubah Masuk ke akun sistem Lokal.
  • Memulai kembali layanan agen.
  • Sukses besar.
Robert Hardy
sumber
Mengubah agen untuk dijalankan sebagai layanan lokal memperbaiki masalah ini untuk saya juga. Saya tidak mengerti mengapa. Saya menambahkan pengguna yang saya gunakan ke grup admin lokal untuk melihat apakah itu masalah perizinan tetapi itu tidak membantu;
pengguna381624
5

Dalam kasus saya - hanya instalasi terpisah dari MSBuild untuk VS2013 yang membantu. (di sini adalah tautan - https://www.microsoft.com/en-us/download/confirmation.aspx?id=40760 ) Itu membuat folder ini C:\Program Files (x86)\MSBuild\12.0Instalasi alat MSBuild untuk VS2015 membuat C:\Program Files (x86)\MSBuild\14.0folder ini, dan TC tidak mau Gunakan.

miotis
sumber
2

Saya mengalami masalah ini di agen build sekunder saya.

Saya telah menyalin folder MSBuild dari pc agen build utama ke pc agen build sekunder (seperti yang saya lakukan dengan beberapa file Visual Studio seperti dijelaskan di sini: MSBuild dalam solusi TeamCity of Visual Studio 2012 ), daripada menginstal MSBuild.

Tampaknya, bagaimanapun, bahwa layanan agen TeamCity memeriksa registri untuk entri MSBuild ketika dijalankan (tampaknya tidak melakukan ini dengan file Visual Studio yang saya sebutkan di atas). Karena saya baru saja menyalin file dari komputer lain, tidak ada entri MSBuild untuk v. 12.0, jadi TeamCity tidak menemukan file MSBuild meskipun file tersebut ada di folder Program Files (x86) \ MSBuild.

Ketika saya menginstal Microsoft Build Tools dari tautan di atas http://www.microsoft.com/en-us/download/details.aspx?id=40760 TeamCity menemukan entri v. 12.0 di registri dan agen dapat membangun proyek yang sama dengan agen utama.

Ingatlah untuk memulai ulang layanan agen TeamCity setelah menginstal MS Build Tools.

Hildesheim
sumber
1

Dalam kasus saya, saya memiliki TeamCity Professional 2018.1 di Windows 2016 Server. Saya mengunduh Build Tools untuk Visual Studio 2017 dari sini: https://visualstudio.microsoft.com/downloads/ dan memilih semua opsi untuk alat pembuatan. Setelah menginstal saya menambahkan MSBuild ke variabel lingkungan PATH global. C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin dalam kasus saya.

DerSkythe
sumber
0

Dalam kasus saya, itu adalah mesin baru tanpa studio visual terpasang dan saya baru saja memulihkan Teamcity dari komputer lain. Jadi saya telah menginstal visual studio 2013 dan memecahkan masalah agen kota.

Shantu
sumber
0

Seperti yang dinyatakan di atas, langkah pembuatan yang terdeteksi otomatis mungkin mengambil versi Visual Studio yang salah. Ubah menggunakan dropdown Visual Studio di bawah bagian Build Steps pada halaman pengaturan Konfigurasi Build :

masukkan deskripsi gambar di sini

Aleksei Mialkin
sumber
-1

Sepertinya saya menyelesaikan masalah ini dengan masuk ke registri dan menghapus semua entri untuk MSBuild yang bukan untuk versi 12, lalu memulai ulang agen.

Untuk melakukan itu, buka Start> Run dan ketik Regedit

Kemudian navigasikan ke kunci:

HKEY_LOCAL_MACHINE> PERANGKAT LUNAK> Microsoft> MSBuild

Hapus semua versi kecuali 12.0.

Turun ke tingkat berikutnya ke ToolsVersions dan hapus versi non-12.0 di sana.

HCdev
sumber
1
Ini adalah ide yang buruk, hal terakhir yang harus Anda lakukan di CI / CD adalah bermain dengan pendaftar
goamn