Raj*_*gaj 56 c# asp.net-mvc roslyn visual-studio-2015 visual-studio-2017
我正面临一个来自roslyn编译器的奇怪问题.有时当我构建解决方案时,我在错误列表中面临一个奇怪的问题,这不会让我构建解决方案.这是错误:
严重级代码说明项目文件行抑制状态错误无法将文件"D:\ Sealogical New Website\SealogicalWebsite\packages\Microsoft.Net.Compilers.1.0.0\tools\csc.exe"复制到"bin\roslyn\csc.exe" ".访问路径'bin\roslyn\csc.exe'被拒绝.SealogicalWebsite
严重级代码说明项目文件行抑制状态错误无法将文件"D:\ Sealogical New Website\SealogicalWebsite\packages\Microsoft.Net.Compilers.1.0.0\tools\VBCSCompiler.exe"复制到"bin\roslyn\VBCSCompiler.exe" ".访问路径'bin\roslyn\VBCSCompiler.exe'被拒绝.SealogicalWebsite
我尝试清理解决方案并重建它但不再工作.
试图手动删除文件,但再次显示错误指出我没有权限执行此操作:
尝试删除CMD但再次显示相同的错误:
删除roslyn生成的文件的唯一方法是重新启动PC,重启后我可以手动删除它们没有问题.
我是我的电脑的管理员,所以我猜没有问题.
这个问题似乎发生在Visual Studi0 2015和Visual Studio 2017中.
我不喜欢每天重启PC 4-5次或更多,这就是我在这里问的原因.
其他一些细节:
我是创建这个项目的人,所以理论上做这个动作应该不是问题.
当项目第一次创建时,我确实以管理员模式运行Visual Studion,正如我现在所做的那样.
bin/roslyn/csc和bin/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=\"Web\" /optionInfer+" />
</compilers>
Run Code Online (Sandbox Code Playgroud)
但是这个解决方案会导致新的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.
Run Code Online (Sandbox Code Playgroud)
有谁知道如何处理这个奇怪的问题?
小智 93
同样的问题在这里 - 解决方案对我来说是关闭VS,打开任务管理器并结束所有VBCSCompiler.exe实例,如下所示:https://developercommunity.visualstudio.com/content/problem/71302/binroslyn-files-locked-during- build.html
小智 11
在"管理NuGET包"窗口中,我将Microsoft.Net.Compilers降级为2.3.0(从2.3.1),并将Microsoft.CodeDom.Providers.DotNetCompilerPlatform降级为1.0.4(从1.0.5)和Roslyn目录/文件不再标记为只读,不再被exe锁定.