Saya telah menerima kesalahan ini untuk sementara waktu saat menggunakan devenv pada pembuatan otomatis. Saya telah melalui setiap situs web yang dapat saya temukan, dan jawaban yang biasa menyebutkan ketergantungan yang menyegarkan (Yang saya yakin memperbaikinya untuk penerapan manual, tetapi tidak untuk otomatis) dan menghapus kode kontrol sumber dari proyek, yang tidak membantu saya.
Kesalahan tidak terjadi setiap kali saya membuat, tetapi tampaknya acak pada proyek penerapan yang berbeda setiap kali.
Apakah ada yang punya saran tentang mengapa tepatnya kesalahan ini terjadi dan bagaimana cara memperbaikinya?
elegant solution
) di intinya, IMHO.Jawaban:
Ini adalah masalah yang diketahui di Visual Studio 2010 (kondisi balapan). Lihat item koneksi ini .
Kami juga mengalami ini, dan mendapat panggilan dukungan yang sangat tidak memuaskan tentang masalah ini dengan Microsoft. Singkat cerita: ini adalah masalah yang diketahui, ini tidak akan terpecahkan, dan Microsoft menyarankan untuk menjauh dari proyek Visual Studio Setup (.vdproj).
Kami telah mengatasi masalah ini dengan memicu MSI build untuk kedua kalinya ketika gagal untuk pertama kalinya. Tidak bagus, tetapi berfungsi sebagian besar waktu (tingkat kesalahan turun dari ~ 10% menjadi ~ 1%).
sumber
Pembaruan bagi mereka yang mendapat masalah ini untuk VS2013 atau VS2015 setelah memutakhirkan proyek penataan VS200X menggunakan ekstensi Proyek Penginstal Microsoft Visual Studio.
Mengikuti resep untuk v1.0.0.0 dari MS akhirnya berhasil untuk saya:
Proyek Penginstal Microsoft Visual Studio
sumber
Update per 14/6/2017
ekstensi Proyek Penginstal Microsoft Visual Studio 2017 sekarang menyertakan alat bantu baris perintah untuk membuat pengaturan registri lebih mudah untuk menerapkan Proyek Penginstal Microsoft Visual Studio 2017
Contoh jalur alat (berdasarkan versi Visual Studio yang diinstal)
Dari README
Alat sederhana ini dimaksudkan untuk membantu pengguna mengatur kunci registri yang diperlukan untuk mengatasi kesalahan ini yang dapat muncul saat membangun proyek penginstal menggunakan build baris perintah:
EROR: Terjadi kesalahan saat memvalidasi. HRESULT = '8000000A'
Alat ini dimaksudkan untuk Visual Studio 2017+ dan menetapkan kunci reg ini untuk contoh Visual Studio tertentu yang diinstal untuk pengguna saat ini. Jadi, jika Anda menyetel ini di agen build, pastikan untuk menggunakan akun pengguna yang akan digunakan build tersebut.
Jalankan "bantuan DisableOutOfProcBuild.exe" untuk detail penggunaan.
sumber
Saya membaca di suatu tempat secara online tentang ini, dan saya telah memperbaikinya seperti ini (disarankan oleh seseorang) :
hapus baris ini di awal file .vdproj:
Kesalahan itu tidak menghentikan saya untuk menerapkan, membangun, men-debug (atau melakukan apa pun) proyek saya, itu hanya mengganggu saya. Dan itu datang bahkan jika saya mengatur semua proyek untuk dibangun dalam konfigurasi saat ini dan proyek penyiapan tidak.
sumber
Solusi permanen (+ untuk mesin rakitan)
Visual Studio 2017
Untuk VS 2017, panggil skrip CMD berikut di bawah akun Windows target Anda:
Komunitas edisi
Professional edition
Perusahaan edisi
TL; DR. Catatan untuk yang buruk
DisableOutOfProcBuild.exe
, solusi yang ditawarkan Microsoft yang saya gunakan untuk VS 2017.DisableOutOfProcBuild.exe
tidak menganggap Anda akan memanggilnya keluar dari folder instalasinya . Jadi, Anda tidak dapat menyalin file .exe ini. (Ngomong-ngomong, jika Anda ingin membangun .vdproj, Anda harus menginstal VS.)DisableOutOfProcBuild.exe
hanya akan berfungsi jika direktori CMD saat ini disetel ke lokasi instalasi DisableOutOfProcBuild.exe.Sebagai contoh, untuk edisi VS Professional kami harus memanggil
Visual Studio 2015 dan yang lebih lama
oleh CMD untuk pengguna Windows saat ini
Bagi banyak orang, kreasi / koreksi di bawah
HKEY_CURRENT_USER\..
tidak selalu bekerja atau bekerja secara permanen.Mencoba menyelesaikan ini, saya menemukan bahwa sebenarnya saya harus membuat / mengubah beberapa kunci aneh di bawah HKEY_USERS
HKEY_USERS\S-1-5-xx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxxxx-xxxxx\...\MSBuild
Tetapi saya juga menemukan bahwa jika saya akan menggunakan konsol CMD untuk
HKCU
dengan perbaikan yang diusulkanREG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
ini akan menulis nilai persis ke dalam kunci aneh HKEY_USERS \ S-1-5-xx-xxxxxxxxxx-xx ... , bukan ke HKEY_CURRENT_USER .
Jadi, ini berfungsi dari bidikan pertama dan selamanya. Cukup gunakan konsol CMD.
Pemecah untuk Server Bangun
Di sisi lain, kode ini selalu berfungsi untuk akun pengguna saat ini yang meluncurkannya (karena HKEY_CURRENT_USER). Tetapi server build sering menggunakan akun khusus atau Sistem Lokal, dll.
Saya memperbaikinya di mesin build saya dengan menambahkan file batch sederhana berikut ke tugas build saya (Jenkins, TeamCity, CruiseControl)
VS-2015 , VS-2013 , VS-2017-Komunitas , VS-2017-Profesional , VS-2017-Perusahaan
sumber
Seperti yang ditunjukkan dalam komentar di sini , untuk VS2017 Anda perlu membuat DWORD HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 15.0_ [IDKey] _Config \ MSBuild \ EnableOutOfProcBuild Replace [IDKey] dengan akhiran ID dari subkunci 15.0 VisualStudio yang ada .
Misalnya, jika di bawah VisualStudio Anda melihat kunci "15.0_abcd1234" itu akan menjadi "15.0_abcd1234_Config".
sumber
Perbaikan terbaru sekarang diunggah di sini:
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=33186
Anda dapat membacanya di sini:
http://connect.microsoft.com/VisualStudio/feedback/details/595632/inconsistent-hanging-with-devenv-2010
sumber
Saya telah menghadapi masalah ini setelah saya memindahkan proyek saya ke PC lain (VS 2010, beberapa proyek dalam satu solusi).
Itu sudah membangun proyek saya di komputer sumber tetapi setelah saya menyalin ke target, saya tidak dapat membangun Proyek Pengaturan saya dan mengalami kesalahan ini.
Saya membuka
/Debug
folder di bawah jalur root Proyek Pengaturan saya, adaMyProject.msi
dansetup.exe
file, saya menghapusnya dan membangun proyek saya lagi, itu berhasil. Semoga berhasil untuk beberapa teman juga.sumber
Memeriksa ketergantungan proyek dapat membantu.
Di VS 2010, klik kanan di penjelajah solusi Anda lalu klik Ketergantungan Terdeteksi dan Segarkan Ketergantungan, terkadang menyelesaikan masalah.
sumber
Saya menggunakan VS 2017 tetapi tidak ada solusi di atas yang berfungsi. Jadi, tingkatkan versi terbaru VS 2017 dan terapkan solusi @AussieAsh dan berfungsi dengan baik ...
Saya berharap solusi ini semoga seseorang akan berhasil.
sumber
dengan saya itu disebabkan oleh file .suo yang salah. (disebabkan oleh skydrive) menghapus file ini memecahkan masalah.
sumber
Visual Studio 2017 menyimpan informasi yang sebelumnya disimpan di registri publik dalam registri pribadi baru: C: \ Users \\ AppData \ Local \ Microsoft \ VisualStudio \ 15.0_6de65198 \ privateregistry.bin
Di sinilah Anda perlu menambahkan EnableOutOfProcBuild sesuai petunjuk untuk VS2013 / VS2015.
Untuk memperbarui registri pribadi Anda dapat menggunakan Regedit.
Klik untuk memilih node HKEY_USERS.
Pilih File> Load Hive dan arahkan ke file privateregistry.bin. Saat Anda memilihnya, Regedit akan menanyakan nama - tidak masalah Anda menyebutnya apa karena kami akan segera selesai.
Sekarang struktur registri akan muncul dan Anda dapat menavigasi ke bawah ke Microsoft \ VisualStudio \ 15.0_Config \ MSBuild
Buat DWORD EnableOutOfProcBuild baru dengan nilai 0.
Setelah selesai pilih root sarang (apa pun yang Anda beri nama sebelumnya) dan gunakan File> Unload Hive untuk melepaskannya.
Sekarang seharusnya berfungsi: o)
sumber
Visual Studio 2013 saya entah bagaimana menjadi Eksperimental sehingga mulai menggunakan kunci registri lain untuk EnableOutOfProcBuild
Untuk memastikan saya baru saja menambahkan baris lain di file batch saya untuk mengatur nilai registri dan itu mulai berfungsi:
sumber
Jalankan saja exe ini
(Visual Studio 2017 edisi komunitas)
C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ CommonExtensions \ Microsoft \ VSI \ DisableOutOfProcBuild \ DisableOutOfProcBuild.exe
(Visual Studio 2017 edisi Enterprise)
C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ CommonExtensions \ Microsoft \ VSI \ DisableOutOfProcBuild \ DisableOutOfProcBuild.exe
sumber
Oke, saya memeriksa masalah ini sampai saya membiru di wajah, merah di wajah, kehilangan rambut, dan kehilangan akal sehat, dan mencoba setiap langkah yang bisa saya temukan. :-D
Solusi saya untuk Visual Studio 2017 / TeamCity adalah kombinasi dari dua solusi dari @ it3xl dan beberapa bantuan dari @ Night94 .
Masalahnya sepertinya kunci registri untuk pengguna TeamCity hilang.
DisableOutOfProcBuild.exe
seperti yang disebutkan oleh @AussieAsh tidak berfungsi karena hanya menambahkan kunci registri untuk pengguna saya.Oleh karena itu, solusinya adalah menambahkan yang berikut ini sebagai langkah pembuatan baris perintah dari TeamCity sebelum MSBuild:
Setelah langkah ini dijalankan, langkah tersebut dapat dihapus jika diperlukan.
Ringkasan solusi
Antara:
DisableOutOfProcBuild.exe
sebagai pengguna TeamCity , atauHKCU\SOFTWARE\Microsoft\VisualStudio
dan periksa versi yang terdaftar, lalu ubah yang di atasREG ADD
agar sesuai dengan versi (ingat untuk menambahkan_Config
) sebagai langkah dalam pembuatan TeamCity.Sekali lagi, hal di atas hanya perlu dilakukan sekali. Anda dapat menonaktifkan untuk melangkah di TeamCity meninggalkannya untuk referensi jika Anda mengalami masalah lagi.
sumber
Langkah-1 Saya telah "membuat kunci DWORD dengan nama" EnableOutOfProcBuild "dan menyetel nilainya menjadi" 0 "di jalur di bawah ini
Catatan: Pastikan Anda telah masuk dengan pengguna yang sama yang Anda coba untuk membangun proyek
Ini bekerja dengan baik untuk saya.
sumber
Punya masalah ini hari ini, coba mulai ulang Visual Studio, jika itu tidak berhasil membuat proyek baru, simpan dan kemudian salin file dari proyek masalah. kedua metode itu berhasil untuk saya.
sumber
Harap bersihkan solusinya terlebih dahulu, buat solusi, lalu coba buat penginstal. Ini akan menghapus kesalahan.
sumber