IT이야기

\ bin \ roslyn \ VBCSCompiler.exe를 삭제할 수 없습니다. 액세스가 거부되었습니다.

cyworld 2021. 4. 4. 21:11
반응형

\ bin \ roslyn \ VBCSCompiler.exe를 삭제할 수 없습니다. 액세스가 거부되었습니다.


roslyn 컴파일러에서 이상한 문제가 발생했습니다. 때때로 솔루션을 빌드 할 때 솔루션을 빌드 할 수없는 오류 목록에서 이상한 문제에 직면합니다. 다음은 오류입니다.

심각도 코드 설명 프로젝트 파일 줄 억제 상태 오류 "D : \ Sealogical New Website \ SealogicalWebsite \ packages \ Microsoft.Net.Compilers.1.0.0 \ tools \ csc.exe"파일을 "bin \ roslyn \ csc.exe"로 복사 할 수 없습니다. ". 'bin \ roslyn \ csc.exe'경로에 대한 액세스가 거부되었습니다. Sealogical 웹 사이트

심각도 코드 설명 프로젝트 파일 줄 억제 상태 오류 "D : \ Sealogical New Website \ SealogicalWebsite \ packages \ Microsoft.Net.Compilers.1.0.0 \ tools \ VBCSCompiler.exe"파일을 "bin \ roslyn \ VBCSCompiler.exe"로 복사 할 수 없습니다. ". 'bin \ roslyn \ VBCSCompiler.exe'경로에 대한 액세스가 거부되었습니다. Sealogical 웹 사이트

  1. 솔루션을 청소하고 다시 빌드하려고했지만 다시 작동하지 않습니다.

  2. 수동으로 파일을 삭제하려고했지만이 작업을 수행 할 수있는 권한이 없다는 오류가 다시 표시됩니다.

  3. 에서 삭제를 시도 CMD했지만 동일한 오류가 다시 표시됩니다.

수동으로 파일을 삭제하려고 할 때의 이미지

roslyn 생성 파일을 삭제하는 유일한 방법은 PC를 다시 시작하는 것이며 다시 시작하면 문제없이 수동으로 삭제할 수 있습니다.

나는 내 PC의 관리자이므로 문제가 없다고 생각합니다.

이 문제는 Visual Studi0 2015 및 Visual Studio 2017에서 발생하는 것으로 보입니다.

나는 PC를 하루에 4 ~ 5 번 다시 시작하는 것을 좋아하지 않는다.

기타 세부 사항 :

  • 내가이 프로젝트를 만든 사람이므로 이론적으로는이 작업을 수행하는 것이 문제가되지 않습니다.

  • 프로젝트가 처음 생성되었을 때 지금과 같이 관리자 모드에서 Visual Studion을 실행했습니다.

  • 내 프로젝트에서 ASP.MVC 5 템플릿을 사용하고 있습니다.
  • 삭제되지 않는 파일은 bin/roslyn/cscbin/roslyn/VBCSCompiler.

web.config에서이 부분을 제거하는 솔루션을 찾을 수 있으므로 해당 파일을 생성하지 않습니다.

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

하지만이 솔루션은 새로운 C # 6 기능에 문제를 일으킬 수 있으므로이 섹션을 제거 할 수 없습니다 .....

또한이 파일을 잠그는 프로세스가 있는지 확인하기 위해 CMD 에서이 명령을 시도했지만 어쨌든 프로세스가 전혀 표시되지 않았습니다.

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

아무도이 이상한 문제를 처리하는 방법을 알고 있습니까?


여기에 같은 문제가 있습니다-저에게 해결책은 VS를 닫고 작업 관리자를 열고 VBCSCompiler.exe의 모든 인스턴스를 여기에서 언급 한대로 종료하는 것입니다 : https://developercommunity.visualstudio.com/content/problem/71302/binroslyn-files-locked-during- build.html


'NuGET 패키지 관리'창에서 Microsoft.Net.Compilers를 2.3.0 (2.3.1에서)으로 다운 그레이드하고 Microsoft.CodeDom.Providers.DotNetCompilerPlatform을 1.0.4 (1.0.5에서) 및 Roslyn 디렉토리로 다운 그레이드했습니다. 파일은 더 이상 읽기 전용으로 표시되지 않았으며 더 이상 exe에 의해 잠기지 않았습니다.


작업 관리자에서 프로세스를 종료하고 다시 궤도로 돌아가는 솔루션을 다시 빌드했지만 디버깅 전에 전체 솔루션을 자주 빌드하는 것이 모두 함께 중지된다는 것을 발견했습니다. 현재 n 계층 응용 프로그램에서 작업 중이며 하루에 여러 번이 문제가 발생했으며 변경 후 특히 디버깅하기 전에 응용 프로그램을 빌드해야했기 때문에 문제가 발생하지 않았습니다. 그래도 VS가 디버깅하기 전에 솔루션을 빌드하기 때문에 이것이 작동하는 이유를 알 수 없지만 트릭을 수행했습니다.


실수로 작업 관리자에서 이것을 발견했습니다.

Windows 탐색기> (Windows 탐색기 확장)> Roslyn Roslyn을 마우스 오른쪽 버튼으로 클릭하고 작업 끝내기를 선택합니다.

참고 : 모든 Windows 탐색기 창을 닫아도 Roslyn은 중지되지 않습니다. 작업 관리자에서이 작업을 수행해야합니다.


작업 관리자에서 Visual Studio 인스턴스를 죽인 다음 삭제되었습니다.

참조 URL : https://stackoverflow.com/questions/45065206/can-not-delete-bin-roslyn-vbcscompiler-exe-access-is-denied

반응형