Saya terus mendapatkan kesalahan ini selama membangun proyek VS2012 C # saya
Error 41 Could not copy "obj\Debug\WeinGartner.WeinCad.exe" to
"bin\Debug\WeinGartner.WeinCad.exe".
Exceeded retry count of 10. Failed.
Error 42 Unable to copy file "obj\Debug\WeinGartner.WeinCad.exe" to
"bin\Debug\WeinGartner.WeinCad.exe". The process cannot access the file
'bin\Debug\WeinGartner.WeinCad.exe' because it is being used by another
process.
Sekarang saya sudah tahu bahwa membunuh prosesnya
Weingartner.WeinCad.vhost.exe
bekerja (kadang-kadang) tetapi ini membuat saya gugup. Adakah cara untuk menghentikan ini terjadi sama sekali?
Pengaturan debugger saya adalah
c#
visual-studio-2012
build
process
bradgonesurfing
sumber
sumber
Jawaban:
Saya telah menemukan pesan kesalahan serupa di Visual Studio 2013.
Sebagian besar, saya telah menemukan bahwa situasi ini telah terjadi ketika proses debug dihentikan karena pengecualian.
Ketika clean + build belum menyelesaikan masalah ini untuk saya, saya berhasil dengan melakukan hal berikut:
bin
danobj
folder, dan"Bug" ini sudah ada sejak Visual Studio 2003.
Akhirnya, saya juga menemukan bahwa saya sering dapat mengatasi masalah ini dengan hanya mengubah nama file yang dapat dieksekusi dan kemudian menghapusnya.
sumber
Dalam Visual Studio Premium 2013 (Pembaruan 3), saya memecahkan ini dengan pra-build one-liner:
Ini dengan anggun menghapus semua file PDB lama (jika bisa), lalu mengganti nama apa pun yang tersisa dengan
.old.pdb
ekstensi. Efek samping yang bagus adalah bahwa jika PDB lama masih terkunci, itu hanya menambahkan sepotong .old ke nama file, dan mereka semua akan dibersihkan saat berikutnya Anda me-restart Visual Studio dan melakukan build.Sebagai contoh, sesi build / debug 1 tidak
MyProject.pdb
terkunci.Lain kali Anda membangun:
MyProject.pdb
->MyProject.old.pdb
Kemudian, bangun / debug sesi 2 dimulai, dan keduanya
MyProject.pdb
danMyProject.old.pdb
masih terkunci:MyProject.old.pdb
->MyProject.old.old.pdb
MyProject.pdb
->MyProject.old.pdb
Akhirnya, me-restart Visual Studio dan melakukan build baru akan menghilangkan keduanya, dan melanjutkan proses seperti biasa.
sumber
Itu karena Anda telah menutup aplikasi Anda, tetapi masih berjalan di latar belakang.
Solusi sementara:
Solusi permanen: Anda harus menutup aplikasi Anda melalui pengkodean. Ini kodenya ...
Anda harus memasukkan kode ini ke acara penutupan formulir di semua formulir. Contoh:
sumber
.vhost.exe adalah proses debugger, sehingga tampaknya proses yang sedang di-debug belum ditutup dengan benar. Kemungkinan Anda memiliki bug yang menjaga agar tetap hidup dan tidak menghentikan proses debug dengan benar - ada opsi untuk melepaskan dari proses ketika Anda mengklik 'hentikan debugging' daripada benar-benar membunuh debugger jadi mungkin Anda memiliki set itu.
Tapi itu masalahnya - file yang Anda coba salin dikunci (yaitu masih digunakan) oleh OS sehingga mencegah salinan. Pastikan file itu gratis dan Anda dapat menyalin.
sumber
Visual Studio 2019
, saya mendapatkan pesan serupa, meskipun sekarang menyebutkan proses di beberapa output (tidak semua). Itu testhost.x86.exe yang harus saya bunuh viaTask Manager
. Setelah itu sepertinya berhenti mendeteksi salah satu proses pengujian.Saya telah menyelesaikannya dengan membunuh IISExpress di task manager
sumber
Anda harus menonaktifkan antivirus Anda (terutama jika itu Avast) dan coba lagi. Itu membantu saya. Masalahnya adalah bahwa debugger / builder membuat file .exe yang diidentifikasi sebagai ancaman oleh Avast dan karenanya dihapus tepat sebelum bisa dieksekusi oleh VS.
sumber
Saya dapat memperbaiki masalah ini (VS 2010) melalui penyediaan tindakan pra-bangun berikut;
sumber
Mengutip:
Cuplikan Kode
sumber
Pengecualian
Dalam beberapa kasus di Visual Studio ketika Anda (Bangun || Membangun kembali) di atas menjalankan IISExpress Anda dihadapkan dengan Pengecualian ini:
Larutan
Anda baik-baik saja, 2 PERGI!
sumber
Tampaknya dengan mengubah nama rakitan suatu proyek memperbaiki masalah.
Jadi, bukannya ini
Saya mengubahnya menjadi ini
Perhatikan bahwa saya baru saja mengubahnya dari
Increment and Recall
menjadiIncrement_Recall
, saya baru saja menghapus spasi. Sekarang bekerja dengan baik untuk saya.sumber
Membunuh proses w3wp.exe (IIS) akan sering menyelesaikan ini.
Secara umum, Anda dapat mengetahui proses yang memiliki kunci pada file dengan menavigasi ke folder bin dan mencoba menghapusnya. Pesan kesalahan yang akan muncul, jika proses lain menggunakannya, akan berisi nama proses yang perlu dibunuh.
sumber
Saya menghadapi masalah yang sama pada VS 2012 Versi 11.0.60610.01 Pembaruan 3 pada Windows 8
Tidak ada jendela desainer terbuka dan proyek itu adalah aplikasi konsol sederhana.
Penghapusan proses vshost mengakses file tidak berfungsi sebagian besar waktu karena proses tidak mengakses file.
Solusi paling sederhana yang berfungsi dan membutuhkan waktu paling sedikit adalah menghapus proyek dari solusi, membangun proyek lain dalam solusi dan kemudian menambahkan yang asli kembali.
Ini adalah iritasi dan buang-buang waktu, tetapi ini adalah yang paling murah dari semua opsi lain yang saya tahu.
Semoga ini membantu...
sumber
Saya pikir saya menyelesaikannya dengan menghapus tanda centang
Break all processes when one process breaks
di opsi Debug (tangkapan layar pertama op-> opsi kedua).Sudah membangun / berjalan dengan baik untuk sementara sejak saya tidak mencentangnya.
Saya menggunakan MySql NET Connector dan kontrol DevExpress di proyek saya. Mungkin salah satu dari mereka tidak membuang koneksi, binding, dll. Baik karena bendera ini diaktifkan.
Diedit: pasti berhasil! Tidak ada lagi 'Tidak dapat menyalin file' dan tidak ada lagi kesalahan perancang formulir.
sumber
Tambahkan acara pra-bangun proyek master Anda tugas Anda / f / fi "pid gt 0" / im "YourProcess.vshost.exe"
sumber
Kontribusi 10 sen saya.
Saya masih memiliki masalah ini sesekali di VS 2015 Pembaruan 2.
Saya menemukan bahwa mengganti target kompilasi memecahkan masalah.
Coba ini: jika Anda berada di DEBUG beralih ke RELEASE dan membangun, lalu kembali ke DEBUG. Masalahnya hilang.
Stefano
sumber
Ikuti langkah-langkah di bawah ini
Langkah-langkah di atas menyelesaikan kesalahan secara permanen :)
sumber
Jika tidak ada jawaban yang berfungsi, coba cek sederhana ini. Temukan untuk MSbuild.exe yang menjalankan dan menahan EXE proyek Anda. Bunuh MSBuild.exe dan Anda harus melakukannya dengan baik.
sumber
Saya tidak bisa memberikan solusi untuk mencegah hal ini terjadi tetapi Anda setidaknya dapat MEMPERBARUI kembali file yang terkunci (windows explorer, atau jendela perintah klasik) dan kemudian mengkompilasi / membangun. Tidak perlu reboot atau memulai ulang VS201x. Dengan beberapa pengalaman Anda dapat menambahkan skrip pra-bangun untuk menghapus file lama atau mengganti nama lalu keluar dari jalan jika ada kunci.
sumber
Lihat jawaban lain ini . Pada dasarnya, Anda bisa menjalankan proses MSBuild.exe di latar belakang menggunakan file sumber daya. Jika Anda memiliki tugas membangun pra atau pasca yang menyebabkan MSBuild ditendang melalui baris perintah, coba tambahkan bendera "/ nr: false" ke perintah ini. Tetapi sekali lagi, lihat jawaban sebelumnya untuk perincian yang lebih spesifik.
sumber
Saya akhirnya bagaimana memperbaikinya. Mengapa kami tidak dapat melanjutkan debug setelah debug pertama karena exe debug pertama masih berjalan. Jadi, setelah debug pertama, Anda harus pergi ke Task Manager -> Process Tab -> [exe nama proyek Anda] mengakhiri proses exe.
ini bekerja untuk saya :)
sumber
@ Geoff ( https://stackoverflow.com/a/25251766/3739540 ) jawabannya bagus, tetapi ia melempar kode kesalahan 1 saat dikompilasi ulang.
Inilah yang bekerja untuk saya (2> nul 1> nul di akhir + keluar 0):
sumber
Jika Anda men - debug templat T4 , maka ini terjadi setiap saat. Solusi saya (sebelum perbaikan MS ini) akan hanya untuk membunuh proses ini:
Manajer Tugas -> Pengguna -> T4VSHostProcess.exe
Proses ini hanya muncul ketika Anda men-debug template T4, bukan ketika Anda menjalankannya.
sumber
Berikut ini adalah skrip untuk menyingkirkan masalah ini:
Script perlu dipanggil dari setiap acara pra proyek VS build.
sumber
[Bekerja untukku]
sumber
Pertanyaan ini adalah hasil pertama ketika mencari kesalahan berikut:
saat membangun di Visual Studio 2013 (Pembaruan 3).
Solusi: Menghapus Instalasi "Alat Daya Produktivitas" di Visual Studio 2013.
https://connect.microsoft.com/VisualStudio/feedback/details/533411
sumber
Dalam kasus saya itu adalah pelari Resharper Unit Tests (ditambah tes NUnit, tidak pernah memiliki masalah dengan MsTests). Setelah membunuh proses, dapat membangun kembali proses, tanpa me-restart OS atau VS2013
sumber
JetBrains.Resharper.TaskRunner.*
Saya tidak menyadari bahwa saya masih memiliki debugger saya terpasang dan sedang mencoba untuk membangun dalam contoh Visual Studio yang sama. Setelah saya menghentikan debugger saya bisa membangun.
sumber
Membunuh proses vstest.executionengine.exe menyelesaikan masalah ini 90% dari waktu bagi saya. Jika itu tidak berhasil, maka bunuh juga QTAgent32.exe dan kemudian hapus folder / bin dan / obj untuk proyek yang dimaksud berfungsi.
Ini adalah bagian paling menjengkelkan dari hari kerja saya. :)
sumber
Bagi saya itu adalah antivirus Avast yang tidak akan membiarkan visual studio untuk menulis / membaca / mengeksekusi file. Jadi saya harus menambahkan folder Visual studio 2010/2012 ke daftar pengecualian antivirus. Dan tepat setelah baam itu ... itu berhasil.
sumber
Pastikan Anda menutup semua instance wcfSvcHost dan coba lagi. Itu berhasil untuk saya!
sumber