Dosya kopyalanamıyor - yola erişim reddedildi


238

Visual Studio 2005 kullanıyorum. Önce sürüm denetiminden kod aldıktan sonra c # .net uygulama düzgün çalışır. Ancak, bazı değişiklikler yaptıktan sonra, inşa ettiğimde aşağıdaki hatayı alıyorum:

Hata 383 ".. \ root \ leaf \ Bin \ Debug \ test.Resources.xml" dosyası "Bin \ Debug \ test.Resources.xml" dosyasına kopyalanamıyor. 'Bin \ Debug \ test.Resources.xml' yoluna erişim reddedildi. li.rollmodel

Bu sorunun neden oluştuğunu bilen var mı?

Düzenle Tüm proje kaynak kodu klasörümün salt okunur olduğunu görebiliyorum ve salt okunur özelliğini kaldıramıyorum.

İlk olarak, bana bu klasör için Salt Okunur özelliğini nasıl kaldıracağımı söyleyebilir misiniz? Kaldırmayı denedim ama salt okunur özellik devam ediyor. Ben de sürüm kontrol tarafında denedim ve bu da işe yaramadı.


Bu bir ağ paylaşımında mı? Makinenizde yönetici erişiminiz var mı? Bu soru serverfault veya süper kullanıcı için daha uygun olabilir.
arunkumar

Hayır, kendi makinemi kullanıyorum idari erişimim var
ricky

i elle bir konumdan gerekli konuma dosyayı kopyalayarak bu sorunu çözdü, porbably sorun salt okunur dosya ile MSBUILD ile ilgili
ricky

Yanıtlar:


277

Bu sorunu bin klasöründen çekişmeli dosyaları silerek ve projeyi yeniden inşa ederek çözdüm.


50
eski yazı, biliyorum, ama şimdi aynı sorunu yaşadım. Bazı durumlarda klasörü silme erişimini engelleyeceği için VS'nin de kapalı olduğundan emin olun
Eon

1
Küçük not: İlk başta, bu dosyaları ana projenin çıktı klasöründe silmek zorundayım, dll çıktı klasöründe değil. Yani, burada uyarı :)
Piero Alberto

6
Benim durumumda, VS'yi kapatmak bile klasörü serbest bırakmak ve silmeme izin vermek için yeterli değildi - ProcessExplorer "VBCSCompiler.exe" nin hala kullandığını gösterdi. Bu durumda, Windows oturumunu kapatıp (veya yalnızca işlemi öldürerek) hile yaparak çözümü yeniden oluşturmam ve her şeyin tekrar çalışmasını sağladım.
S. Jensen

2
Benim durumumda, klasör ve çözümün ReadOnly'ye dönüştüğü ve daha sonra VS'nin bunu oluşturmakta sorun yaşadığı, bazı dosyaların GoogleDrive ile senkronize edilememesi ve bir şekilde bu işlem tarafından kilitlenmesiydi. Bu yüzden düzgün bir şekilde yeniden oluşturmak için GoogleDrive'ı kapatmak zorunda kaldım ve sonra iyi inşa edildi.
konrad

1
Bitdefender Antivirus Free'yi suçlu olarak buldum.
Warwick

123

Klasörün Salt Okunur OLMADIĞINDAN emin olun ve çözümü yeniden oluşturun


12
Yeşil renkle dolu 'Salt okunur' onay kutusunu kaldırmaya çalışıyorum. 'Uygula'yı ve ardından' Tamam'ı tıklattıktan sonra bu klasörün özelliklerini tekrar kontrol ettiğimde, bir önceki durumda tekrar görebiliyorum (yine 'Yeşil renkle dolu' Salt okunur 'onay kutusu var). Bunun çözümü olan var mı?
Vikram

Ayrıca, dosyanın kilitli olmadığından emin olun. Benim durumumda, dosya bir paylaşımdaydı ve başka biri dosyayı açmıştı.
Dan Bechard

Salt okunur özniteliğini kaldırmadan önce Visual Studio'yu kapatın. Söz konusu dosya kullanımda olabileceğinden (kilitli)
Gautam Jain

4
Oluşturmayı engelleyen dll'lerin ReadOnly ve Hidden özniteliğini temizlemek için bir Visual Studio Uzantısı oluşturuldu. UnblockDllExtension: marketplace.visualstudio.com/…
vrnithinkumar

69

Bu sorunu çözdüm: Visual Studio'yu kapatın, yeniden açın ve çözümü yükleyin, çözümünüzü yeniden oluşturun. Sorunum TFS ve VIsual Studio 2010 kullanarak meydana geldi.


22
Aynı sorunu VS2013'e ekleyin. IT Crowd'un klasik örneği. "Merhaba bu BT, kapatıp tekrar açmayı denediniz mi?".
Maxime Rouiller

1
Aynı senaryo: TFS ve VS 2010. Aynı sorun. Aynı çözüm. +1
ajeh

2
Bu VS2015'te de oldu: p
Yoo Matsuo

4
Ve aynı VS2017
arame3333

1
Zaten bunu düzeltmeye çalışırken fındık gittim, bir şey işe yaramazsa, eski eski yöntemi çıktı, yeniden
başlat


23

Ben de bu probleme adım attım.

Önce gidip bin ve obj klasörünüzü Kaynak Kontrol programına eşleyip eşlemediğinizi kontrol edin.

Bu, dosyalarınızı ikili dosyalar klasörlerinden salt okunur arşivlere dönüştürüyor olabilir, bu da görsel stüdyoda kodu derlediğinde üzerine yazmasını imkansız hale getirir.

Gidip eşleştirmeyi bu klasörlerden kaldırın, değişiklikleri kontrol edip tekrar deneyin.

Sorunum TFS (Team vakıf sunucusu) ve Visual Studio 2010 kullanılarak oluştu.

Umarım bu birine yardımcı olur.


1
Heitorolecarte'ın cevabının sorunumu çözdüğünü eklemek istedim ve bu Visual Studio 2012 ve TFS2010 ile ortaya çıkabilir.
Rodney

20

Visual Studio'nuzu Yönetici olarak çalıştırın


1
Not: Burada varsayılan olarak her zaman yönetici olarak çalıştırmanın kısa ve basit bir yolu stackoverflow.com/questions/12257110/…
wmebane

Bu yanıt, çıktı klasörümdeki "Kullanıcılar" a yazma iznini ekleyebileceğimi ve bu sorunumu anında çözdüğümü (ilk kez bile yayınlayamadığım) söyledi.
X Goodrich

9

Visual Studio 2013 kullanıyorum. Bu sorunla 2 kez karşılaştım:

  1. İlk kez, Visual Studio'yu Yönetici hakları olmadan çalıştırıyordum. Bu yüzden VS'yi kapattım ve ' Yönetici olarak çalıştır ' seçeneğini kullanarak başlattım . Bu benim sorunumu çözdü.

  2. İkinci kez, VS'yi birçok kez yeniden başlattım, her seferinde yönetici olarak çalıştırdığımdan emin oldum. Ayrıca, çözümü birçok kez yeniden inşa ettim. Ama buna rağmen hata alıyordum. Bundan sonra , ilgili dosyayı hedef konumdan kaldırdım (dosya zaten mevcuttu, kopyalamaya çalıştığı konumdaki önceki yapıdan olabilir) ve çözümü yeniden oluşturdu . Bundan sonra hata gitti ve her şey yolunda gitti!



7

Bu, Visual Studio 2017'de yeniden başını yeniden oluşturdu, bu durumda neden Application Insights işlemi ServiceHub.DataWarehouseHost.exe.

İş parçacığı uyarısı MSB3026'da ele alınan bir çözüm var : "obj \ Debug \ netcoreapp1.1 \ src.pdb" , bir ön derleme eklemek için "bin \ Debug \ netcoreapp1.1 \ src.pdb" dosyasına kopyalanamadı projeye her inşa edildiğinde süreci öldürmek için olay. Bu bağlantıdan alıntı:

  • Projede sağ tıklama özellikleri
  • Özellikleri seçin
  • Etkinlik Oluştur
  • Önceden derleme olayı komut satırı
taskkill /IM ServiceHub.DataWarehouseHost.exe /F 2>nul 1>nul
Exit 0
  • Kaydet ve oluştur

6

Bir kimse bu sorunun neden geldiğini bilebilir mi?

Sorununuzu elle kopyalayarak çözdüğünüz yanıtınıza bakarak, üzerinde çalıştığınız kodun başka bir kullanıcı tarafından yapıldığını söyleyebilirim (yönetici ayrıcalıklarıyla da) bu yüzden size kilitlendi. Kopyalama -? Yapıştırın, kaynağın KENDİ kopyasını gerekli tüm erişimle yaptınız. Dikkat edilmesi gereken tek şey, bu durumda bu diğer geliştiricinin kopyanız üzerinde çalışması gerekiyorsa, daha önce aldığınız aynı soruna atlayacaktır.


6

Önce dosyanın konumuna gidin. Ardından dosyanın klasörünü sağ tıklayın -> Özellikler -> İşaretlenmemiş Salt Okunur Seçeneği ve dosyalar ve alt klasörleri için geçerlidir. Sorunumu çözdü. Mutlu Kodlama!


3

Tüm .NET dışı bağımlılıklarımı / referanslarımı yeniden ekledim ve hile yaptı.


3

Bu sorunu kendim çözdüm. Sorun, çözümü başka bir yerde açmış olmamdı. Kapattıktan sonra çalışıyor


Bunu ben de yaptım. Her zaman bariz kolay şeyleri kontrol edin, başka bir makinede hata ayıkladığım için hedefim bir ağ sürücüsüydü.
Simon Unsworth

3

Aynı sorun vardı, ancak her zaman Visual Studio'yu yeniden başlatmak benim için bir seçenek değildi , çünkü sorun bazen çok sık ortaya çıkıyor.

Unlocker ( kurulumda herhangi bir araç çubuğu yüklemeye çalışır, bu yüzden bu işaretini kaldırmayı unutmayın ) yükleyerek ele , bu uygulama bana kilitli bir ".xml" -Dosya yeniden adlandırmak / silmek için hızlı erişim sağlar . Bunun sadece bir çözüm olduğunu biliyorum, ama benim için bu sorunu çözmek için en hızlı çözümdü.


Bunun için teşekkürler. Geçtiğimiz yıl için bu sorunu yaşadım ve bunun Yönetici arasında geçiş yapmam gerektiğini düşündüm, ancak şimdi bunun kilitli olan aptal Panda Antivirüs ile ilgili kritik süreç (PSANHost.exe, Görev Yöneticisi'nde mevcut değil) olduğunu biliyorum. Dosyalar.
yeejuto

3

Eski yazı, ama bu zombi VS 2017'ye vuruyor (Neden sadece "bazı" projeler). Bu durumda, kullanıcı izinleri değil, IIS Express işlemi hala dosyaları kullanıyor.

Görev tepsinizde simgeyi göreceksiniz IIS Express simgesi

  1. Sağ tık
  2. çıkış
  3. rebuildBu can sıkıcı "izin reddedildi" mesajı olmadan yapabilmeniz gerekir .

Bu nedenle "Visual Studio'nun yeniden başlatılması" sorunu "çözecektir". Bunu yaptığınızda IIS Express durur.

Hth ...


2

Çözüme yeni bir kurulum projesi eklediğimde ve daha sonra doğrudan ana uygulama projesinin / bin / release klasöründen kurulum projesinin uygulama dosyaları klasörüne dosya eklediğimde bu sorunu oluşturdum. Kurulum projesinin kaynak kontrolü sürekli olarak ana uygulama projesinin bir yapısını tamamlamamı engelliyordu.

Çözüm: yüklemeye dahil edilecek tüm dosyaları içerecek herhangi bir projenin dışında ayrı bir döküm klasörü oluşturun ve bunları oradan ekleyin. Bu bir acı çünkü şimdi her yeni yükleme paketi için tüm dosyaları kopyalamayı hatırlamalıyım. İşlemi daha pürüzsüz hale getirmek için otomatik bir yapımız olan post-build eylemleriyle bir şey yapıp yapamayacağımı görebilirim.


2

Çözümü herhangi bir dosyaya kopyalarsanız, dosyaların Salt Okunur modda olmadığından emin olun. Dosyayı sağ tıklayın ve öznitelik seçeneğinin işaretini kaldırın sorunumu çözdü.


2

Aynı hatayla karşılaştım ama Perforce sürüm kontrolü kullanıyorum . İşte böyle düzelttim.

  1. Kapalı Performanslı P4V istemcisi
  2. Visual Studio 2010 yeniden başlatıldı (gerekli olmayabilir)
  3. Başarılı olan projeyi yeniden inşa et
  4. Aynı zamanda son derece mutlu ve tiksinti hissettim

1
Aynı kuruluma sahibim, ancak 3. ve 4. adımlara
ulaşamadım

2

Aynı problemim vardı. Yola erişim reddedildiğinden dolayı kopyalanamayan hata iletileri aldım. Benim durumumda tüm benim dll ve xml dosyaları ve benzeri D: \ TFS \ Örnek \ Bin \ Debug klasöründe yer almaktadır.

Bin klasörünü sağ tıklatıp Özellikler'i tıklattım ve Öznitelikler altında Salt okunur onay kutusunun işaretli olduğunu gördüm.

Salt okunur onay kutusunun işaretini kaldırdım ve gösterilen yeni açılır pencerede Uygula ve Tamam'ı tıklattım.

Visual Studio'ya geri döndüm ve bana hata mesajları veren çözümümü oluşturdum.

Voilaa .. Bu sefer hatasız başarılı bir şekilde inşa.

Bunun mükemmel olup olmadığını bilmiyorum ama sorunumu çözmek için bunu yaptım.


2

Görev Yöneticisi'ni kontrol edin ve devenv.exe işlemi asılı olmadığından emin olun. Kaçak işlemi öldür ve tekrar dene.


2

Dosyanın yoluna gidin, ardından bu dosyanın salt okunur onay kutusunun işaretini kaldırın.


1

Onun eski bir iş parçacığı biliyorum ama birkaç dakika önce benim gibi cevaplar arayanlar için, önce bilgisayarınızı yeniden başlatmayı denemenizi öneririz. Sadece bu benim için düzeltildi. Daha önce manuel olarak bile klasöre kopyalanamadı.


1
bana da yardım etti. 2020 çete
Vitor Ceolin

1

MVC projenize sağ tıklayın ve temiz seçeneğine tıklayın. Benzer bir sorun yaşadım ve yeniden inşa etmeden önce projeyi temizlemem benim için çözdü.


1

Ben de aynı sorunu yaşadım. Kök klasörün salt okunur özelliklerinin işaretini kaldırarak düzelttim.


Bazen çözüm bu kadar basit ve açıktır. Kafanızı vurmaya devam etmek yerine, karmaşık ve sonsuz prosedürler etrafında çalışmak yerine, sadece bu tür basit olasılıkları kontrol edin ve hayatınız çok daha kolay olacaktır. Bize umutsuz anlarda gerekli yardımı sunabilecek böylesine geniş bir uzmanlar topluluğu sağladığı için StackOverflow'a minnettarım.
Choudhury Saadmaan Mahmid

1

Ben de bu sorunu yaşadım. Bunu nasıl çözdüğünüz aşağıda açıklanmıştır

  • binKlasörü projeden hariç tut .
  • Görsel stüdyo kapatın.
  • C sürücüsünün disk temizleme.
  • Görsel stüdyoda projeyi yeniden açın.
  • Ve sonra çözümü yeniden oluşturun.
  • Projeyi çalıştırın.

Bu süreç benim için çalışıyor.



1

Şikayet eden hedef dosyayı (örneğin "Bin \ Debug \ test.Resources.xml") hedef web sitesinin bin klasöründen kaldırarak ve yeniden oluşturarak sorunu çözebildim.


1

1) Visual Studio Çözümünü Kapatın

2) komut istemine gidin -> yönetici olarak çalıştır -> iisreset / stop

3) c -> Windows -> Microsoft.Net -> Framework64 -> v4.030319 -> Geçici Asp.NET Dosyaları -> Bu yoldaki tüm dosya ve klasörleri silin.

4) Komut istemine geri dönün -> iisreset / start

5) Şimdi görsel stüdyoyu açın -> yönetici olarak çalıştırın -> çözümü temizleyin ve oluşturun (yeniden inşa etmeyin ... sadece benim için çalıştı)


0

Klasör özniteliğini salt okunur olarak değiştirmeniz gerekmez. Bu hata iletisini görmenizin nedeni, kaynak denetiminin çeşitli dosyalarınızı yalnızca bin klasörü dışında bir yerde sakladığınızı varsaymasıdır, çünkü .Net tarafından otomatik olarak oluşturulan dosyalar için ayrılmıştır ve bunları kaynağa eklemek istemez kontrol.

Environment.CurrectDirectory(Şu anda kullandığınızı varsayalım) yerine,% appdata% adresinde "ProjemAdı" adlı bir klasör oluşturmanızı ve sonra şunu kullanmanızı öneririm :

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


0

Ben de aynı sorunla karşılaştım, benim nedenim, Xamarin kullanarak bir IOS uygulaması için bir yapı ana bilgisayarı olarak bir mac kullanabilmem için geliştirme klasörümü paylaştım. Proje dll sahipliğini aldı mac üzerinde çalışıyordu, bu yüzden başka bir yerden bu dll değişiklik yapamadı. Sadece Mac'te uygulamayı durdurmak, tekrar tam erişime izin veren sahipliği bana geri verdi. Umarım o zamandan beri bu marka.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.