No se puede eliminar en oslynVBCSCompiler.exe - Acceso denegado


Me enfrento a un extraño problema del compilador de Roslyn. A veces, cuando construyo la solución, me enfrento a un problema extraño en la lista de errores que no me permite construir la solución. Aquí está el error:

Código de Severidad Descripción Archivo de Proyecto Supresión de Línea Estado Error No se puede copiar el archivo "D:\Sealogical Nuevo Website\SealogicalWebsite\packages\Microsoft.Net.Compilers.1.0.0\tools\csc.exe" to " bin\roslyn \ csc.exe". Acceso a la ruta 'bin\roslyn \ csc.exe " es denegado. SealogicalWebsite

Código de Severidad Descripción Archivo de Proyecto Supresión de Línea Estado Error No se puede copiar el archivo "D:\Sealogical Nuevo Website\SealogicalWebsite\packages\Microsoft.Net.Compilers.1.0.0\tools\VBCSCompiler.exe" to " bin\roslyn\VBCSCompiler.exe". Acceso a la ruta 'bin\roslyn\VBCSCompiler.exe " es denegado. SealogicalWebsite

  1. Intento limpiar la solución y reconstruirla, pero no funciona nuevo.

  2. Intentó eliminar archivos manualmente, pero nuevamente muestra un error señalando No tengo permisos correctos para hacer esto:

  3. Intentó borrar de CMD pero nuevamente muestra el mismo error:

Imagen al intentar eliminar archivos manualmente

La única manera de eliminar los archivos generados por Roslyn es reiniciando el PC y cuando se reinicia puedo eliminarlos manualmente sin problema.

Soy administrador en mi PC, así que no hay problema con eso. adivinar.

Este problema parece ocurrir en Visual Studi0 2015 y Visual Studio 2017.

No me gusta reiniciar el PC 4-5 veces al día o más por eso estoy preguntando aquí.

Algunos otros detalles:

  • Yo soy el que creó este proyecto, así que teóricamente no debería ser un problema para hacer esta acción.

  • Cuando el proyecto se creó por primera vez, ejecuté el Estudio Visual en Modo Administrador como lo estoy haciendo ahora.

  • estoy usando ÁSPID.Plantilla MVC 5 en mi proyecto.
  • Los archivos que no se eliminan son bin/roslyn/csc y bin/roslyn/VBCSCompiler.

Podría encontrar una solución para eliminar esta parte de la web.config para que no genere esos archivos:

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

Pero esta solución causaría problemas con las nuevas características de c# 6, por lo que no puedo eliminar esta sección.....

Además probé este comando en CMD para ver si hay un proceso bloqueando este archivo, pero de todos modos no me mostró ningún proceso en todos:

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

¿Alguien sabe cómo manejar este extraño problema ?

Author: Rajmond Burgaj, 2017-07-12

5 answers

El mismo problema aquí - la solución para mí fue cerrar VS, abrir el administrador de tareas y terminar todas las instancias de VBCSCompiler.exe como mencionend aquí: https://developercommunity.visualstudio.com/content/problem/71302/binroslyn-files-locked-during-build.html

 57
Author: Alex,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-26 12:53:30

En la ventana 'Manage NuGet Packages' reduje Microsoft.Net.Compilers a 2.3.0 (de 2.3.1) y también reduje Microsoft.CodeDom.Proveedor.DotNetCompilerPlatform a 1.0.4 (desde 1.0.5) y el directorio/files de Roslyn ya no estaban marcados como readonly y ya no estaban bloqueados por el exe.

 10
Author: tnapster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-25 02:31:41

He matado el proceso en el administrador de tareas y reconstruido la solución que me pone de nuevo en el camino, pero he encontrado que con frecuencia la construcción de toda la solución antes de la depuración ha detenido todo junto. Actualmente estoy trabajando en una aplicación n-tier y me estaba encontrando con esto numerosas veces al día y no he tenido el problema desde que me aseguré de construir la aplicación después de cualquier cambio y especialmente antes de la depuración. Sin embargo, no entiendo por qué esto funcionaría ya que el VS construye el solución antes de depurar, pero ha hecho el truco para mí.

 0
Author: EverLearning,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-09 13:17:01

Accidentalmente encontré esto en el Administrador de tareas:

Explorador de Windows > (expand Explorador de Windows) > Roslyn Haga clic con el botón derecho en Roslyn y seleccione Finalizar tarea

Nota: Incluso cerrar todas las ventanas del explorador de Windows no detendrá a Roslyn. Usted debe hacer esto en el Administrador de tareas.

 0
Author: John,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-17 12:33:30

Maté la instancia de visual studio desde el administrador de tareas y luego se eliminó.

 0
Author: dawncode,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-01 14:35:30