Подтвердить что ты не робот

Файлы Visual Studio 2017 bin\roslyn, заблокированные во время сборки

Я запускаю VS2017 версию 26430.13, и каждый раз, когда я пытаюсь создать веб-проект, я получаю ошибки, которые запрещают доступ к файлам в 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
4b9b3361

Ответ 1

ОБНОВИТЬ пакет Microsoft.CodeDom.Providers.DotNetCompilerPlatform для версии 1.0.0

  • Найти Microsoft.CodeDom.Providers.DotNetCompilerPlatform от NuGet Удаление старой версии
    Установите V1.0.7 или последний

Ответ 2

Просто откройте диспетчер задач и уничтожьте все экземпляры VBCSCompiler.exe. Вам даже не нужно закрывать Visual Studio.

Ответ 3

Вместо того, чтобы убивать процесс вручную, вы можете использовать следующие команды в событии Pre-Build:

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)

Ответ 4

Вернуть пакет 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 мы больше не сталкиваемся с заблокированными файлами.

Ответ 6

У меня VS 2017 Enterprise, и для меня проблема была решена следующим образом:

  • Ускоренные Microsoft.Net.Compilers от 2.3.1 до 2.3.0
  • С пониженной версией Microsoft.CodeDom.Providers.DotNetCompilerPlatform от 1.0.5 до 1.0.4.

Ответ 8

Установить Microsoft.CodeDom.Providers.DotNetCompilerPlatform.BinFix nuget Это исправило проблему для меня.

Ответ 9

В моем случае я сделал следующие два шага:

  • удалить пакет Microsoft.CodeDom.Providers.DotNetCompilerPlatform
  • Установочный пакет Microsoft.CodeDom.Providers.DotNetCompilerPlatform -Version 1.0.8

Ответ 10

Обновите пакет Microsoft.CodeDom.Providers.DotNetCompilerPlatform до V1.0.6