Я исследовал эту проблему в течение нескольких дней без ответа. Есть ссылки на код ошибки, но я считаю, что BC2000 используется для всех ошибок «инициализации компилятора», независимо от основной проблемы.VBC Неустранимая ошибка BC2000: Проект уже имеет ссылку на сборку
У меня есть VS-решение, которое отлично компилируется в нашей среде разработчиков с MSBuild 12.0. Однако при попытке скомпилировать в нашей сборщике Win 2008 R2 SP1 с использованием MSBuild 12.0 мы получаем фатальную ошибку.
Команда выполняется для MSBuild является:
"C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe" "path\to\solution.sln" /target:Clean;Build /verbosity:normal /toolsversion:12.0 /nologo /property:WarningLevel="2" /property:Configuration="Release"
получил Ошибка:
vbc: Error: Fatal error BC2000 : compiler initialization failed unexpectedly: Project already has a reference to assembly Microsoft.VisualBasic. A second reference to 'path\to\dotnet4\System.dll' cannot be added. (Fatal error BC2000)
Это похоже на this question. Однако у нас нет настроек их использования, поскольку мы не используем Mono.
В рассматриваемом проекте имеется только одна ссылка на сборку Microsoft.VisualBasic. Кроме того, выполняемые команды vbc аналогичны в машинах dev и build, и они ссылаются только на упомянутую сборку один раз.
То же самое для разработчика и строить машины:
- .NET Framework версия: 4.6.1
- MSBuild используется: 12,0
Different:
- Dev машины имеют либо VS 2010, либо VS 2013.
- Строительная машина делает не установлено VS.
- На встроенном компьютере также установлены средства сборки Visual C++ Visual C++ 2015.
Неужели кто-нибудь сталкивался с этим вопросом раньше? Любые идеи о том, как исправить это? Благодарю.