2017-07-12 97 views
23

Roslyn derleyicisinden garip bir sorunla karşı karşıyayım. Bazen çözümü kurduğumda, hata listesinde garip bir sorunla karşılaşıyorum ve bu da çözümü oluşturmama izin vermiyor. İşte hatadır: bin roslyn VBCSCompiler.exe silinemiyor - Erişim reddedildi

Severity Code Description Project File Line Suppression State Error Unable to copy file "D:\Sealogical New Website\SealogicalWebsite\packages\Microsoft.Net.Compilers.1.0.0\tools\csc.exe" to "bin\roslyn\csc.exe". Access to the path 'bin\roslyn\csc.exe' is denied. SealogicalWebsite

Severity Code Description Project File Line Suppression State Error Unable to copy file "D:\Sealogical New Website\SealogicalWebsite\packages\Microsoft.Net.Compilers.1.0.0\tools\VBCSCompiler.exe" to "bin\roslyn\VBCSCompiler.exe". Access to the path 'bin\roslyn\VBCSCompiler.exe' is denied. SealogicalWebsite

  1. Ben çözüm temizlemek ve onu yeniden deneyin ama yine çalışmıyor.

  2. elle dosyaları silmek için çalıştı ama yine bir işaret hatayı Bunu yapmak doğru izinlere sahip değilsiniz gösterir :

  3. CMD silmenin çalıştı ama yine aynı hata gösterir:

Roslyn tarafından oluşturulan dosyaları silmenin tek yolu PC'yi yeniden başlatmaktır ve yeniden başlatıldığında bunları elle sorunsuz bir şekilde silebilirim.

Bilgisayarımdaki yöneticiyim, dolayısıyla sanırım sorun yok.

Bu sorun, Visual Studi0 2015 ve Visual Studio ben, PC'ye 4-5 defa burada soruyorum nedeni bu günde veya daha fazla yeniden başlatmayı sevmiyorum 2017

meydana görünüyor.

Diğer bazı ayrıntıları:

  • ben yani teorik bu projeyi oluşturdu eylemi yapmak için bir sorun olmayacaktır gerektiğini biriyim.

  • Proje ilk oluşturulduğunda, şu an yaptığım gibi Visual Studion'u Yönetici Modunda çalıştırdım.

  • Projemde ASP.MVC 5 şablonunu kullanıyorum.
  • Silinmeyen dosyalar bin/roslyn/csc ve bin/roslyn/VBCSCompiler'dur.
Ben bu dosyaları oluşturmaz böylece web.config bu bölümü kaldırmak için bir çözüm bulabiliriz

:

<compilers> 
    <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" /> 
    <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" /> 
</compilers> 

Ama kaldıramazsınız 6 özellikleri dolayısıyla bu çözüm yeni C# ile soruna neden olur Bu bölümde .....

Üstelik ben bu dosyayı kilitleme süreç olup olmadığını görmek için CMD bu komutu çalıştı ama yine de bana hiç bir süreç göstermemiştir:

C:\WINDOWS\system32>tasklist /m D:\SealogicalNewWebsite\SealogicalWebsite\SealogicalWebsite\bin\roslyn\csc.exe 
INFO: No tasks are running which match the specified criteria. 

Bu garip sorunu nasıl halledebileceğinin bir yolu var mı?

+0

Muhtemelen bu dosyaları kilitleyen bir işlem var. Onları öldürüp öldüremeyeceğinizi görmek için Görev Yöneticisi'ni kontrol edin. Ayrıca, aslında VB kullanmıyorsanız, "dil =" vb ... satırı –

+0

@CamiloTerevinto kaldırabilirsiniz Ben bir görev olarak sona erdi VBCSCompiler kullanarak bir işlem fark edebilirsiniz ama yine de işe yaramaz. Bu dosyaları kullanma hakkında düşünebildiğim ama başarılı olmadığım görevler –

+0

NuGet paketini yeniden indirirseniz ne olur? (belki güncelleyin?) –

cevap

36
burada

Aynı sorun - benim için çözüm VS, açık görev yöneticisi kapatma ve sona VBCSCompiler.exe tüm örneklerini mentionend burada edildi: https://developercommunity.visualstudio.com/content/problem/71302/binroslyn-files-locked-during-build.html

+1

Bazen işe yarıyor ve bazen yapmıyor ama bunu en iyi cevap olarak kabul edeceğim çünkü bundan daha iyi bir cevap bulamadım. Teşekkürler :) –

+1

09.27.2017'de yukarıdaki bağlantıya göre VS2017 V15.2 sürümünde bir sürüm düzeltildi. – HumbleBeginnings

+0

Can sıkıcı ama benim için hala doğru cevap! – Jefecito

6

'NuGET Paketlerini Yönetme' penceresinde Microsoft.Net.Compilers'ı 2.3.0'a (2.3.1'den) düşürdüm ve Microsoft.CodeDom.Providers.DotNetCompilerPlatform'u 1.0.4'e (1.0.5'ten) düşürdüm ve Roslyn dizini/dosyaları artık salt okunur olarak işaretlendi ve artık exe tarafından kilitlenmedi.

0

Ben görev yöneticisi sürecini öldürmüş beni alana çözümü yeniden yola devam, ancak hata ayıklamadan önce sık sık tüm çözümü oluşturmanın hepsini bir arada durduğunu buldum. Şu anda n katmanlı bir uygulama üzerinde çalışıyorum ve günde birkaç kez karşılaştım ve herhangi bir değişiklik yaptıktan sonra ve özellikle hata ayıklamadan önce uygulamayı oluşturduğumdan beri bu sorunu yaşamadım. Yine de, VS'nin hata ayıklamadan önce çözümü oluşturmasından dolayı bunun neden işe yaradığını anlamıyorum ama benim için hile yaptı.