我正在运行VS2017版本26430.13,每次我尝试构建一个Web项目时,都会收到错误,即访问bin \ roslyn中的文件被拒绝。 在大约5分钟的时间内,文件被解锁并且我可以构建但是5分钟的延迟是不可接受的。
这些是保持锁定的文件:
答案 0 :(得分:114)
只需打开任务管理器并终止任何VBCSCompiler.exe实例。您甚至不需要关闭Visual Studio。
答案 1 :(得分:67)
将Microsoft.CodeDom.Providers.DotNetCompilerPlatform包更新为V1.0.7
答案 2 :(得分: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)
答案 3 :(得分: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后,我们不再遇到锁定文件。
答案 4 :(得分:8)
解决方法是关闭VS,打开任务管理器并终止任何VBCSCompiler.exe实例
(谢谢Tom John:https://developercommunity.visualstudio.com/content/problem/71302/binroslyn-files-locked-during-build.html)
答案 5 :(得分:5)
答案 6 :(得分:3)
我有VS 2017 Enterprise,对我来说问题已经解决了:
答案 7 :(得分:1)
安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform.BinFix nuget 它解决了我的问题
答案 8 :(得分:1)
让我更新nuget包...
Microsoft.Net.Compilers
到这篇文章的最新内容 2.7.0 为我解决了这个问题。它的版本是 1.3.2
答案 9 :(得分:1)
对我来说,我只是在文件资源管理器中打开解决方案,然后删除其中所有项目的bin文件夹。现在一切正常。
答案 10 :(得分:1)
在VS2017和VS2019中,当IIS Express仍在运行时,可能会发生这种情况。打开时钟旁边的托盘,将鼠标悬停在正在运行的IIS Express图标上,右键单击该图标,单击“退出”,确认提示,关闭活动的正在运行的工作进程。当尝试发布您的Web项目时,也是如此。
答案 11 :(得分:0)
就我而言,我做了以下两个步骤:
答案 12 :(得分:0)
在尝试任何激烈的操作之前,请重新启动计算机
答案 13 :(得分:0)
我在MVC 5中遇到同样的问题。我刚刚打开Nuget软件包管理器,搜索并更新了以下内容:
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
答案 14 :(得分:-2)
将Microsoft.CodeDom.Providers.DotNetCompilerPlatform
包更新为V1.0.6