Visual Studio 2017 bin\roslyn文件在构建期间被锁定

Joh*_*n S 57 visual-studio-2017

我正在运行VS2017版本26430.13,每次我尝试构建一个Web项目时,我都会收到错误,即访问bin\roslyn中的文件被拒绝.在大约5分钟的时间内,文件被解锁并且我可以构建但是5分钟的延迟是不可接受的.

这些是保持锁定的文件:

  • Microsoft.CodeAnalysis.CSharp.dll
  • Microsoft.CodeAnalysis.dll
  • Microsoft.CodeAnalysis.VisualBasic.dll
  • Microsoft.DiaSymReader.Native.amd64.dll
  • System.Collections.Immutable.dll
  • System.Diagnostics.FileVersionInfo.dll
  • System.IO.Compression.dll
  • System.IO.FileSystem.dll
  • System.IO.FileSystem.Primitives.dll
  • System.Reflection.Metadata.dll
  • System.Security.Cryptography.Algorithms.dl
  • System.Security.Cryptography.Primitives.dl
  • System.ValueTuple.dll
  • VBCSCompiler.exe

Dea*_*tek 120

只需打开任务管理器并杀死VBCSCompiler.exe的任何实例.您甚至不需要关闭Visual Studio.

  • 从命令行以管理员taskkill -im VBCSCompiler.exe -f运行此命令 (6认同)
  • 在这种情况下,“只是”在计算机编程中是一个非常危险的词。 (2认同)

san*_*alk 71

将Microsoft.CodeDom.Providers.DotNetCompilerPlatform包更新到V1.0.7

  • 从NuGet中找到Microsoft.CodeDom.Providers.DotNetCompilerPlatform卸载旧版本
    安装V1.0.7或更新版本

  • 我仍然遇到v1.0.8的同样问题.为什么锁定文件? (13认同)

Mir*_*tei 13

您可以在预构建事件中使用以下命令,而不是手动终止进程:

tasklist /FI "IMAGENAME eq VBCSCompiler.exe" 2>NUL | find /I /N "VBCSCompiler.exe">NUL
if "%ERRORLEVEL%"=="0" (taskkill /IM VBCSCompiler.exe /F) else (verify >NUL)
Run Code Online (Sandbox Code Playgroud)


thr*_*ter 10

Microsoft.CodeDom.Providers.DotNetCompilerPlatform包还原为V1.0.4

此建议来自对开发人员社区问题报告的评论https://developercommunity.visualstudio.com/solutions/79954/view.html.

我们在v1.0.5上经常遇到锁定文件.将Microsoft.CodeDom.Providers.DotNetCompilerPlatform包恢复为V1.0.4后,我们不再遇到锁定文件.

  • 1.0.4我遇到的问题最多,所以我认为不会为每个人解决问题.它现在确实发生了很少,但我是在升级Visual Studio而不是升级到1.07时. (2认同)

and*_*ate 8

解决方法是关闭VS,打开任务管理器并终止VBCSCompiler.exe的任何实例

(感谢Tom John:https://developercommunity.visualstudio.com/content/problem/71302/binroslyn-files-locked-during-build.html)


New*_*red 5

项目>管理NuGet包...>已安装(选项卡) >在搜索输入中设置:

codedom
Run Code Online (Sandbox Code Playgroud)

点击更新 在此输入图像描述