utilizado - no se puede obtener acceso a un archivo cerrado c#
No se puede eliminar / bin / roslyn / VBCSCompiler.exe: acceso denegado (5)
Accidentalmente encontré esto en el Administrador de tareas:
Explorador de Windows> (expanda 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. Debe hacer esto en el Administrador de tareas.
Estoy enfrentando un problema extraño del compilador 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 gravedad Descripción Error de estado de supresión de línea del archivo del proyecto No se puede copiar el archivo "D: / Sealogical New Website / SealogicalWebsite / packages / Microsoft.Net.Compilers.1.0.0 / tools / csc.exe" a "bin / roslyn / csc.exe ". Se deniega el acceso a la ruta ''bin / roslyn / csc.exe''. SealogicalWebsite
Código de gravedad Descripción Error de estado de supresión de línea de archivo de proyecto No se puede copiar el archivo "D: / Sealogical New Website / SealogicalWebsite / packages / Microsoft.Net.Compilers.1.0.0 / tools / VBCSCompiler.exe" a "bin / roslyn / VBCSCompiler.exe ". Se deniega el acceso a la ruta ''bin / roslyn / VBCSCompiler.exe''. SealogicalWebsite
-
Intento limpiar la solución y reconstruirla, pero no funciona de nuevo.
-
Intenté eliminar archivos manualmente pero nuevamente muestra un error que indica que no tengo los permisos correctos para hacer esto:
-
Intenté eliminar de
CMD
pero nuevamente muestra el mismo error:
La única forma de eliminar los archivos generados por Roslyn es reiniciando la PC y, cuando se reinicie, puedo eliminarlos manualmente sin ningún problema.
Soy administrador en mi PC, así que no hay problema con eso, supongo.
Este problema parece suceder en Visual Studi0 2015 y Visual Studio 2017.
No me gusta reiniciar la PC 4-5 veces al día o más, por eso pregunto aquí.
Algunos otros detalles:
-
Yo fui quien creó este proyecto, por lo que teóricamente no debería ser un problema realizar esta acción.
-
Cuando se creó el proyecto, ejecuté Visual Studion en modo Administrador como lo estoy haciendo ahora.
- Estoy usando la plantilla ASP.MVC 5 en mi proyecto.
-
Los archivos que no se eliminan son
bin/roslyn/csc
ybin/roslyn/VBCSCompiler
.
Podría encontrar una solución para eliminar esta parte de 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=/"Web/" /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:
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?
El mismo problema aquí: la solución para mí fue cerrar VS, abrir el administrador de tareas y finalizar todas las instancias de VBCSCompiler.exe como se menciona aquí: https://developercommunity.visualstudio.com/content/problem/71302/binroslyn-files-locked-during-build.html
Eliminé el proceso en el administrador de tareas y reconstruí la solución, lo que me permite volver a encarrilarme, pero descubrí que construir con frecuencia la solución completa antes de la depuración lo ha detenido todo. Actualmente estoy trabajando en una aplicación de n niveles y me encuentro con esto varias veces al día y no he tenido el problema ya 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 VS construye la solución antes de la depuración, pero me ha funcionado.
En la ventana ''Administrar paquetes NuGET'', bajé el nivel de Microsoft.Net.Compilers a 2.3.0 (de 2.3.1) y también bajé el nivel de Microsoft.CodeDom.Providers.DotNetCompilerPlatform a 1.0.4 (de 1.0.5) y el directorio Roslyn / los archivos ya no se marcaron como de solo lectura y el exe ya no los bloqueó.
Maté la instancia de Visual Studio del Administrador de tareas y luego se eliminó.