Tidak dapat menyalin file - akses ke jalur ditolak

238

Saya menggunakan Visual Studio 2005. Setelah mengambil kode dari kontrol versi terlebih dahulu, aplikasi c # .net berjalan dengan benar. Tapi, setelah melakukan beberapa modifikasi, ketika saya membangun saya mendapatkan kesalahan berikut:

Kesalahan 383 Tidak dapat menyalin file ".. \ root \ leaf \ Bin \ Debug \ test.Resources.xml" ke "Bin \ Debug \ test.Resources.xml". Akses ke jalur 'Bin \ Debug \ test.Resources.xml' ditolak. li.rollmodel

Adakah yang tahu mengapa masalah ini terjadi?

Sunting Saya dapat melihat bahwa seluruh folder kode sumber proyek saya hanya-baca, dan saya tidak dapat menghapus properti hanya-baca.

Pertama, ada yang bisa memberi tahu saya cara menghapus properti Read-only untuk folder ini? Saya telah mencoba menghapusnya tetapi properti read-only tetap ada. Saya mencoba dari sisi kontrol versi juga dan itu tidak berhasil.

ricky
sumber
Apakah ini berbagi jaringan? Apakah Anda memiliki akses administratif pada mesin Anda? Pertanyaan ini mungkin lebih cocok untuk serverfault atau superuser.
arunkumar
tidak ,, saya menggunakan mesin saya sendiri saya punya akses administratif
ricky
saya memecahkan masalah itu dengan menyalin file secara manual dari satu lokasi ke lokasi yang diperlukan, dan masalahnya adalah terkait dengan MSBUILD dengan file readonly
ricky

Jawaban:

277

Saya memecahkan masalah ini dengan menghapus file yang kontroversial dari folder bin dan membangun kembali proyek.

DiligentKarma
sumber
50
posting lama, saya tahu, tapi saya punya masalah yang sama sekarang. Pastikan VS juga ditutup karena akan menolak akses untuk menghapus folder dalam beberapa kasus
Eon
1
Catatan kecil: Saya tidak mengerti, pada awalnya, saya harus menghapus file-file ini di folder output proyek utama dan tidak di folder output dll. Jadi, beri peringatan di sini :)
Piero Alberto
6
Dalam kasus saya, bahkan menutup VS tidak cukup untuk membebaskan folder dan memungkinkan saya untuk menghapusnya - ProcessExplorer menunjukkan bahwa "VBCSCompiler.exe" masih menggunakannya. Dalam hal ini, keluar dari dan ke Windows (atau hanya membunuh proses) melakukan trik, memungkinkan saya untuk membangun kembali solusi dan membuat semuanya berfungsi kembali.
S. Jensen
2
dalam kasus saya alasan folder dan solusi berubah menjadi ReadOnly dan kemudian VS kesulitan membangunnya, adalah karena beberapa file gagal disinkronkan ke GoogleDrive dan entah bagaimana terkunci oleh proses itu. Jadi bagi saya untuk membangun kembali dengan benar saya harus menutup GoogleDrive dan kemudian dibangun dengan baik.
konrad
1
Saya menemukan Bitdefender Antivirus Free menjadi pelakunya.
Warwick
123

Pastikan bahwa folder tersebut TIDAK Read-Only dan membangun kembali solusinya

Wahid Bitar
sumber
12
Saya mencoba menghapus centang 'Read-only' yang diisi dengan warna hijau. Ketika saya mengklik 'Terapkan' dan kemudian 'Oke', dan kemudian periksa properti folder itu lagi, saya bisa melihat lagi di negara sebelumnya (lagi-lagi memiliki 'Read-only' kotak centang diisi dengan warna hijau). Adakah yang punya solusi tentang ini?
Vikram
Juga, pastikan file tidak dikunci. Dalam kasus saya, file tersebut dibagikan dan orang lain membukanya.
Dan Bechard
Tutup Visual Studio sebelum menghapus atribut read only. Karena file yang dimaksud mungkin sedang digunakan (dikunci)
Gautam Jain
4
Membuat Ekstensi Visual Studio untuk membersihkan atribut ReadOnly dan Hidden dll. Yang memblokir build. UnBlockDllExtension: marketplace.visualstudio.com/...
vrnithinkumar
69

Saya memecahkan masalah ini: Tutup Visual Studio, buka lagi dan muat solusinya, Bangun kembali solusi Anda. Masalah saya terjadi menggunakan TFS dan VIsual Studio 2010.

jordenysp
sumber
22
Tambahkan masalah yang sama di VS2013. Kasus klasik The IT Crowd. "Halo, ini TI, sudahkah Anda mencoba mematikannya dan menghidupkannya lagi?"
Maxime Rouiller
1
Skenario yang sama: TFS dan VS 2010. Masalah yang sama. Solusi yang sama. +1
ajeh
2
Ini terjadi pada VS2015 juga: p
Yoo Matsuo
4
Dan hal yang sama dalam VS2017
arame3333
1
Saya sudah gila mencoba untuk memperbaiki ini, ternyata metode lama yang baik jika sesuatu tidak bekerja, reboot, bekerja dengan baik
Mykhailo Seniutovych
50

Bunuh proses VBCSCompiler.exedan bangun kembali.

MuriloKunze
sumber
3
Inilah yang memecahkannya untuk saya. Terima kasih orang asing yang baik hati: D
Morsus
ya, ini dia.
kal kokah
Terima kasih banyak, orang asing yang baik hati! : D
Agent007
kadang-kadang itu bekerja untuk saya tidak selalu, saya harus mengatakan itu akan menyelesaikan bagian dari masalah ini ada sesuatu yang lain juga yang menyebabkan masalah ini
Amit Bisht
Coba ini juga dapat membantu Anda stackoverflow.com/a/12740768/2445111
Amit Bisht
23

Saya melangkah ke masalah ini juga.

Pertama pergi dan periksa apakah Anda telah memetakan folder bin dan obj Anda ke program Kontrol Sumber.

Ini mungkin mengubah file Anda dari folder binari menjadi arsip hanya baca, yang membuat mustahil bagi studio visual untuk menimpa mereka ketika mengkompilasi kode.

Pergi dan hapus pemetaan dari folder ini, periksa perubahan dan coba lagi.

Masalah saya terjadi menggunakan TFS (Team foundation server) dan Visual Studio 2010.

Semoga ini bisa membantu seseorang.

Heitor Corrêa
sumber
1
Saya hanya ingin menambahkan bahwa jawaban Heitorolecarte memperbaiki masalah saya dan ini dapat terjadi dengan Visual Studio 2012 dan TFS2010.
Rodney
20

Jalankan Visual Studio Anda sebagai Administrator

Alejandro Haro
sumber
1
Catatan: di sini adalah cara singkat dan sederhana untuk selalu dijalankan sebagai administrator secara default stackoverflow.com/questions/12257110/…
wmebane
Jawaban ini cukup memberi tahu saya bahwa saya tahu untuk hanya menambahkan izin menulis ke "Pengguna" pada folder output saya - dan itu langsung memecahkan masalah saya (yang mana saya tidak dapat mempublikasikan bahkan pertama kali).
X Goodrich
9

Saya menggunakan Visual Studio 2013. Saya menghadapi masalah ini 2 kali:

  1. Pada kesempatan pertama, saya menjalankan Visual Studio tanpa hak Administrator. Jadi, saya menutup VS dan mulai menggunakan opsi ' Run as administrator '. Ini menyelesaikan masalah saya.

  2. Pada kesempatan kedua, saya restart VS berkali-kali, setiap kali memastikan bahwa saya menjalankannya sebagai administrator. Juga, saya membangun kembali solusi berkali-kali. Tapi, meskipun begitu saya mendapatkan kesalahan. Setelah itu, saya menghapus file yang bersangkutan dari lokasi target (file itu sudah ada mungkin dari build sebelumnya di lokasi di mana ia mencoba untuk menyalin) dan membangun kembali solusinya . Setelah itu, kesalahan hilang dan semuanya berjalan dengan lancar!

Vikram
sumber
8

Dalam kasus saya itu adalah antivirus yang memblokir file.

Claudiu Constantin
sumber
BitDefender 6.2 di sini
JOG
7

Ini telah memunculkan kepalanya lagi di Visual Studio 2017, dalam hal ini penyebabnya adalah proses Aplikasi Wawasan ServiceHub.DataWarehouseHost.exe.

Ada solusi yang dibahas dalam utas peringatan MSB3026: Tidak dapat menyalin "obj \ Debug \ netcoreapp1.1 \ src.pdb" ke "bin \ Debug \ netcoreapp1.1 \ src.pdb" , yaitu menambahkan pre-build acara ke proyek untuk mematikan proses setiap kali proyek dibangun. Mengutip dari tautan itu:

  • Klik kanan properti pada proyek
  • Pilih properti
  • Bangun Acara
  • Pra-bangun baris perintah acara
taskkill /IM ServiceHub.DataWarehouseHost.exe /F 2>nul 1>nul
Exit 0
  • Simpan dan bangun
TomRedox
sumber
6

Bisakah ada yang tahu mengapa masalah ini datang?

Melihat respons Anda bahwa Anda telah menyelesaikan masalah Anda dengan menyalin secara manual, saya akan mengatakan bahwa kode yang Anda kerjakan dibuat oleh beberapa pengguna lain (dengan hak administrator juga) sehingga dikunci untuk Anda. Dengan melakukan copy -? tempel, Anda membuat salinan sumber SENDIRI dengan semua akses yang Anda perlukan. Satu-satunya hal yang perlu diperhatikan adalah bahwa, dalam hal ini jika pengembang lain ini perlu mengerjakan salinan Anda, ia akan melompat ke masalah yang sama dengan yang Anda dapatkan sebelumnya.

Tigran
sumber
6

Pertama pergi ke lokasi file. Kemudian klik kanan pada folder file -> Properties -> Opsi Baca Saja yang tidak dicentang dan berlaku untuk file dan sub foldernya. Itu menyelesaikan masalah saya. Selamat Coding!

Vinayak Savale
sumber
3

Saya menambahkan kembali semua dependensi / referensi non-NET saya dan itu berhasil.

shawn
sumber
3

Saya menyelesaikan masalah ini sendiri. Masalahnya adalah solusinya saya buka di tempat lain. Setelah menutupnya itu berhasil

Henley Chiu
sumber
Saya melakukan ini juga. Selalu periksa hal-hal mudah yang jelas terlebih dahulu, tujuan saya ada di drive jaringan, karena saya sedang debug pada komputer lain.
Simon Unsworth
3

Punya masalah yang sama, tetapi me-restart Visual Studio setiap kali ada pilihan bagi saya , karena masalah ini kadang-kadang terjadi sangat sering.

Saya menanganinya dengan menginstal Unlocker ( mencoba menginstal toolbar apa pun saat instalasi, jadi jangan lupa untuk menghapus centang ini ), aplikasi ini memberi saya akses cepat untuk mengganti nama / menghapus ".xml" -File yang terkunci . Saya tahu ini hanya solusi, tetapi bagi saya itu adalah solusi tercepat untuk menyelesaikan masalah ini.

David Leitner
sumber
Terima kasih untuk ini. Saya sudah memiliki masalah ini selama setahun terakhir dan berpikir itu karena saya akan beralih antara Administrator dan tidak, tetapi sekarang saya tahu itu adalah proses kritis Panda Antivirus yang bodoh (PSANHost.exe, tidak ada di Task Manager) yang mengunci file.
yeejuto
3

Posting lama, tetapi zombie ini menghantam VS 2017 (saya belum menggali mengapa itu hanya proyek "beberapa"). Dalam hal ini, itu bukan izin pengguna , melainkan proses IIS Express masih menggunakan file.

Anda akan melihat ikon di baki tugas Anda Ikon IIS Express

  1. Klik kanan
  2. Keluar
  3. Anda harus dapat melakukannya rebuildtanpa pesan "izin ditolak" yang menjengkelkan ini.

Ini juga mengapa "me-restart Visual Studio" akan "memperbaiki" masalah ini. Melakukannya, menghentikan IIS Express.

Hth ...

EdSF
sumber
2

Saya membuat masalah ini ketika saya menambahkan proyek pengaturan baru ke solusi, dan kemudian menambahkan file langsung dari folder / bin / rilis proyek aplikasi utama ke folder file aplikasi proyek pengaturan. Kontrol sumber dari proyek pengaturan secara konsisten menghalangi saya untuk menyelesaikan pembangunan proyek aplikasi utama.

Solusi: buat folder dump terpisah di luar proyek yang akan berisi semua file yang akan dimasukkan dalam instalasi, dan tambahkan dari sana. Ini menyakitkan karena sekarang saya harus ingat untuk menyalin semua file untuk setiap paket instalasi baru. Saya mungkin melihat apakah saya dapat melakukan sesuatu dengan tindakan pasca-bangun yang dibuat otomatis untuk menjadikan prosesnya lebih lancar.

portia
sumber
2

Jika Anda menyalin file apa pun ke solusi, pastikan file tidak dalam mode Baca Saja. Klik kanan pada file dan hapus centang pada opsi atribut menyelesaikan masalah saya.

InitialV
sumber
2

Saya memiliki kesalahan yang sama tetapi saya menggunakan kontrol versi Perforce . Begini cara saya memperbaikinya.

  1. P4V Perforce TertutupKlien
  2. Mulai ulang Visual Studio 2010 (mungkin tidak perlu)
  3. Membangun kembali proyek, yang berhasil
  4. Merasa sangat senang dan jijik pada saat bersamaan
Madmartigan
sumber
1
Saya memiliki pengaturan yang sama, tetapi tidak bisa ke langkah 3 dan 4 :(
user3260977
2

Saya juga punya masalah yang sama. Saya mendapat pesan kesalahan yang terkait dengan tidak dapat menyalin karena akses ke jalur ditolak. Dalam kasus saya, semua file dll dan xml saya dan sebagainya ditempatkan di D: \ TFS \ Example \ Bin \ Debug folder.

Saya mengklik kanan pada folder Bin dan mengklik Properties dan melihat bahwa kotak centang Read-only dicentang di bawah Attributes.

Saya menghapus centang pada kotak Baca saja dan klik Terapkan dan klik OK pada sembulan baru yang ditampilkan.

Saya kembali ke Visual Studio dan membangun solusi yang memberi saya pesan kesalahan.

Voilaa .. Kali ini berhasil dibangun tanpa kesalahan.

Saya tidak tahu apakah ini sempurna tetapi saya melakukan ini untuk menyelesaikan masalah saya.

Ziggler
sumber
2

Periksa Task Manager dan pastikan Anda tidak memiliki proses devenv.exe yang tergantung. Bunuh proses pelarian dan coba lagi.

Perangkat Lunak Hazen Hills
sumber
2

Buka jalur file, lalu hapus centang pada kotak centang baca saja file ini.

Ramy Othman
sumber
1

Saya tahu ini adalah utas lama tetapi bagi mereka yang mencari jawaban, seperti saya beberapa menit yang lalu, saya sarankan mencoba me-restart komputer Anda terlebih dahulu. Itu saja sudah diperbaiki untuk saya. Sebelumnya bahkan tidak bisa secara manual menyalin ke folder.

Joao Leme
sumber
1
membantu saya juga. Geng 2020
Vitor Ceolin
1

Cukup klik kanan pada proyek MVC Anda dan klik pada opsi bersih. Saya memiliki masalah yang sama dan membersihkan proyek sebelum membangun kembali untuk saya.

Ehsan
sumber
1

Saya juga memiliki masalah yang sama. Saya memperbaikinya dengan menghapus centang pada properti Read-only dari folder root.

Rajan Kumar Kharel
sumber
Terkadang solusinya sesederhana dan sejelas ini. Alih-alih terus membenturkan kepala Anda dan bekerja di sekitar prosedur yang rumit dan tak berujung, cukup periksa jenis kemungkinan sederhana ini dan hidup Anda akan jauh lebih mudah. Saya berterima kasih kepada StackOverflow karena telah menyediakan komunitas ahli yang luas yang dapat menawarkan bantuan yang diperlukan pada saat-saat putus asa.
Choudhury Saadmaan Mahmid
1

Saya juga punya masalah ini. Inilah cara mengatasinya

  • Mengecualikan bin folder dari proyek.
  • Tutup studio visual.
  • Pembersihan disk drive C.
  • Buka kembali proyek di studio visual.
  • Dan kemudian membangun kembali solusi.
  • Jalankan proyek.

Proses ini bekerja untuk saya.

Manoj
sumber
1

Saya dapat menyelesaikan masalah dengan menghapus file target yang mengeluh (dalam contoh Anda "Bin \ Debug \ test.Resources.xml") dari folder bin situs web target dan membangun kembali. Itu diperbaiki untuk saya.

Rama Krshna Ila
sumber
1

1) tutup solusi studio visual

2) arahkan ke command prompt -> jalankan sebagai administrator -> iisreset / stop

3) arahkan ke c -> Windows -> Microsoft.Net -> Framework64 -> v4.030319 -> File Asp.NET Sementara -> Hapus semua file dan folder di jalur ini.

4) Navigasikan kembali ke command prompt -> iisreset / start

5) Sekarang buka studio visual -> jalankan sebagai administrator -> bersihkan solusinya dan bangunlah (jangan membangun kembali..hanya build bekerja untuk saya)

Krishna
sumber
0

Anda tidak seharusnya mengubah atribut folder menjadi tidak-hanya-baca. Alasan Anda melihat pesan kesalahan ini adalah bahwa kontrol sumber mengasumsikan bahwa Anda hanya menyimpan file lain-lain di suatu tempat selain folder bin, karena itu disediakan untuk file yang secara otomatis dibuat oleh .Net dan tidak ingin menambahkannya ke sumber kontrol.

Saya sarankan daripada menggunakan Environment.CurrectDirectory(yang saya anggap Anda gunakan saat ini), Anda membuat folder bernama "MyProjectName" di alamat% appdata% dan kemudian gunakan:

System.IO.Path.Combine(Environment.GetEnvironmentVariable("appdata"),"YourProjectName").

Bizhan
sumber
0

Jadi saya hanya mengalami masalah yang sama, penyebab saya, saya memiliki folder pengembangan saya dibagikan sehingga saya bisa menggunakan mac sebagai tuan rumah untuk aplikasi iOS menggunakan Xamarin. Proyek ini berjalan di mac yang mengambil kepemilikan dll karena itu saya tidak bisa membuat perubahan ke dll itu dari tempat lain. Cukup menghentikan aplikasi pada mac mengembalikan kepemilikan kepada saya yang memungkinkan akses penuh lagi. Saya harap ini membuatnya.

Jon Willis
sumber