Je suis confronté à un problème étrange du compilateur Roslyn. Parfois, lorsque je construis la solution, je suis confronté à un problème étrange dans la liste des erreurs qui ne me permet pas de construire la solution. Voici l'erreur:
Code de gravité Description État de suppression de ligne de fichier de projet Erreur Impossible de copier le fichier "Nouveau site Web Sealogical\SealogicalWebsite\packages\Microsoft.Net.Compilers.1.0.0\tools\csc.exe" dans "bin\roslyn\csc.exe". L'accès au chemin 'bin\roslyn\csc.exe' est refusé. SealogicalSite Web
Code de gravité Description État de suppression de ligne de fichier de projet Erreur Impossible de copier le fichier "D:\Nouveau site Web Sealogical\Site WebSealogical\packages\Microsoft.Net.Compilers.1.0.0\tools\VBCSCompiler.exe" dans "bin\roslyn\VBCSCompiler.exe". L'accès au chemin 'bin\roslyn\VBCSCompiler.exe' est refusé. SealogicalSite Web
J'essaie de nettoyer la solution et de la reconstruire, mais cela ne fonctionne plus.
J'ai essayé de supprimer des fichiers manuellement, mais une fois de plus, une erreur est apparue. Je n'ai pas les autorisations nécessaires pour le faire:
Essayé de supprimer de CMD
mais montre encore la même erreur:
Le seul moyen de supprimer les fichiers générés par roslyn est de redémarrer le PC. Une fois redémarré, je peux les supprimer manuellement sans problème.
Je suis administrateur sur mon PC, donc je suppose que cela ne pose aucun problème.
Ce problème semble se produire dans Visual Studi0 2015 et Visual Studio 2017.
Je n'aime pas redémarrer le PC 4-5 fois par jour ou plus, c'est pourquoi je demande ici.
Quelques autres détails:
Je suis celui qui a créé ce projet, donc théoriquement, il ne devrait pas être un problème pour faire cette action.
Lorsque le projet a été créé pour la première fois, j'ai exécuté Visual Studion en mode Administrateur, comme je le fais maintenant.
bin/roslyn/csc
et bin/roslyn/VBCSCompiler
.Je pourrais trouver une solution pour supprimer cette partie de web.config afin qu'elle ne génère pas ces fichiers:
<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=\"Web\" /optionInfer+" />
</compilers>
Mais cette solution poserait problème avec les nouvelles fonctionnalités de c # 6, je ne peux donc pas supprimer cette section .....
De plus, j’ai essayé cette commande dans CMD pour voir s’il existait un processus bloquant ce fichier, mais de toute façon, cela ne m’a montré aucun processus:
C:\WINDOWS\system32>tasklist /m D:\SealogicalNewWebsite\SealogicalWebsite\SealogicalWebsite\bin\roslyn\csc.exe
INFO: No tasks are running which match the specified criteria.
Est-ce que quelqu'un sait comment gérer ce problème étrange?
Même problème ici - la solution pour moi était de fermer VS, d’ouvrir le gestionnaire de tâches et de mettre fin à toutes les instances de VBCSCompiler.exe comme mentionné ici: https://developercommunity.visualstudio.com/content/problem/71302/binroslyn-files-locked- pendant-build.html
Dans la fenêtre 'Manage NuGET Packages', j'ai rétrogradé Microsoft.Net.Compilers à 2.3.0 (à partir de 2.3.1) ainsi qu'à Microsoft.CodeDom.Providers.DotNetCompilerPlatform à 1.0.4 (à partir de 1.0.5) et au répertoire Roslyn les fichiers n'étaient plus marqués comme en lecture seule et n'étaient plus verrouillés par l'exe.
J'ai interrompu le processus dans le gestionnaire de tâches et reconstruit la solution, ce qui m'a permis de revenir à la normale, mais j'ai souvent constaté que la création complète de la solution avant que le débogage ne l'ait complètement stoppée. Je travaille actuellement sur une application multiniveau et je le rencontrais de nombreuses fois par jour. Je n'ai pas eu le problème depuis que je me suis assuré de construire l'application après toute modification et en particulier avant le débogage. Bien que je ne comprenne pas pourquoi cela fonctionnerait puisque le VS construit la solution avant le débogage, mais il a fait le tour pour moi.
J'ai accidentellement trouvé ceci dans le gestionnaire de tâches:
Explorateur Windows> (développez l'Explorateur Windows)> Roslyn Cliquez avec le bouton droit sur Roslyn et sélectionnez Fin de tâche.
Remarque: Même la fermeture de toutes les fenêtres de l'explorateur Windows n'arrêtera pas Roslyn. Vous devez le faire dans le Gestionnaire des tâches.
J'ai tué l'instance Visual Studio du gestionnaire de tâches, puis elle a été supprimée.