wake-up-neo.com

Kann nicht löschen\bin\roslyn\VBCSCompiler.exe - Zugriff wird verweigert

Ich habe ein seltsames Problem mit dem Roslyn-Compiler. Wenn ich die Lösung baue, stehe ich manchmal vor einem seltsamen Problem in der Fehlerliste, wodurch ich die Lösung nicht erstellen kann. Hier ist der Fehler:

Schweregradcode Beschreibung Status der Unterdrückung der Projektdateizeile Fehler Die Datei "D:\Sealogical New Website\SealogicalWebsite\packages\Microsoft.Net.Compilers.1.0.0\tools\csc.exe" kann nicht nach "bin\roslyn\csc.exe" kopiert werden. Der Zugriff auf den Pfad 'bin\roslyn\csc.exe' wird verweigert. Genealogie-Website 

Schweregradcode Beschreibung Status der Unterdrückung der Projektdateizeile Fehler Die Datei "D:\Sealogical New Website\SealogicalWebsite\packages\Microsoft.Net.Compilers.1.0.0\tools\VBCSCompiler.exe" kann nicht nach "bin\roslyn\VBCSCompiler.exe" kopiert werden. Der Zugriff auf den Pfad 'bin\roslyn\VBCSCompiler.exe' wird verweigert. Genealogie-Website 

  1. Ich versuche, die Lösung zu säubern und neu zu erstellen, funktioniert aber nicht mehr.

  2. Es wurde versucht, Dateien manuell zu löschen, es wird jedoch erneut ein Fehler angezeigt Ich habe keine Berechtigung, dies zu tun:

  3. Das Löschen von CMD wurde versucht, zeigt jedoch wieder den gleichen Fehler:

 Image when trying to delete files manually

Die von Roslyn generierten Dateien können nur durch einen Neustart des PCs gelöscht werden. Nach dem Neustart kann ich sie ohne Probleme manuell löschen.

Ich bin Administrator in meinem PC, also gibt es kein Problem damit, denke ich.

Dieses Problem scheint in Visual Studi0 2015 und Visual Studio 2017 aufgetreten zu sein.

Ich mag es nicht, den PC 4-5 mal am Tag oder mehr neu zu starten, deshalb frage ich hier.

Einige andere Details:

  • Ich bin derjenige, der dieses Projekt erstellt hat, so dass es theoretisch kein Problem sein sollte, diese Aktion auszuführen.

  • Als das Projekt zum ersten Mal erstellt wurde, habe ich das Visual Studion im Administrator-Modus ausgeführt, so wie ich es jetzt mache.

  • Ich verwende die ASP.MVC 5-Vorlage in meinem Projekt.
  • Dateien, die nicht gelöscht werden, sind bin/roslyn/csc und bin/roslyn/VBCSCompiler.

Ich könnte eine Lösung finden, um dieses Teil aus der Datei web.config zu entfernen, damit diese Dateien nicht generiert werden:

<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>

Diese Lösung würde jedoch Probleme mit den neuen Funktionen von c # 6 verursachen, so dass ich diesen Abschnitt nicht entfernen kann.

Außerdem habe ich diesen Befehl in CMD ausprobiert, um zu sehen, ob ein Prozess diese Datei sperrt, aber es zeigte mir überhaupt keinen Prozess:

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

Weiß jemand einen Weg, um mit diesem seltsamen Thema umzugehen?

47
Rajmond Burgaj

Das gleiche Problem hier - die Lösung für mich war, VS, Open Task Manager zu schließen und alle Instanzen von VBCSCompiler.exe wie erwähnt zu beenden: https://developercommunity.visualstudio.com/content/problem/71302/binroslyn-files-locked- während-build.html

73
Alex

Im Fenster 'Manage NuGET Packages' habe ich Microsoft.Net.Compilers auf 2.3.0 (von 2.3.1) heruntergestuft und auch Microsoft.CodeDom.Providers.DotNetCompilerPlatform auf 1.0.4 (von 1.0.5) und das Roslyn-Verzeichnis/Dateien wurden nicht mehr als readonly markiert und nicht mehr vom Exe gesperrt.

11
tnapster

Ich habe den Prozess im Task-Manager abgebrochen und die Lösung neu aufgebaut, was mich wieder auf den richtigen Weg bringt, aber ich habe festgestellt, dass das Erstellen der gesamten Lösung vor dem Debuggen häufig alles zusammenbricht. Ich arbeite gerade an einer n-Tier-Anwendung, und ich war mehrmals am Tag mit diesem Problem konfrontiert. Ich hatte das Problem nicht, seit ich sichergestellt habe, dass die Anwendung nach allen Änderungen und insbesondere vor dem Debuggen erstellt wurde. Ich verstehe nicht, warum dies funktionieren würde, da der VS die Lösung vor dem Debugging erstellt, aber er hat den Trick für mich gemacht.

0
EverLearning

Ich habe dies versehentlich im Task-Manager gefunden: 

Windows Explorer> (Erweitern Sie Windows Explorer)> Roslyn Klicken Sie mit der rechten Maustaste auf Roslyn und wählen Sie Task beenden

Hinweis: Auch wenn Sie alle Windows Explorer-Fenster schließen, wird Roslyn nicht angehalten. Sie müssen dies im Task-Manager tun.

0
John

Ich habe die Visual Studio-Instanz vom Task-Manager beendet und dann gelöscht.

0
dawncode