Исключение ошибки сборки TFS 2017, вызывающее «Invoke» с аргументом «2»: Microsoft.Build.Shared.FrameworkLocationHelper выдало исключение - PullRequest
0 голосов
/ 07 мая 2018

Это простое веб-приложение Hello World. Он отлично работает, когда я работаю с агентом, где Visual Studio не установлена. Но если я запускаю сборку с другим агентом, на котором установлена ​​Visual Studio 2017, он начинает выдавать эту ошибку. Чтобы проверить, я установил VS2017, где Build работал отлично, после установки VS2017 он начал выдавать эту ошибку. Не удалось найти причину проблемы.

Ошибка:

Exception calling "Invoke" with "2" argument(s): "The type initializer for 'Microsoft.Build.Shared.FrameworkLocationHelper' threw an exception."

Любая помощь?

Работает нормально, если я удалю VS 2017 и установлю VS 2013 или 2015. Спасибо Самир

1 Ответ

0 голосов
/ 08 мая 2018

Предлагаю дать тест с локальной сборкой через VS2017.

Угадайте, возможно, вы создаете приложение через старую версию VS. И сервер сборки не определил правильную версию VS.

Для информации об ошибке xxx\MSBuildHelpers\vswhere.exe. Потому что это не путь VS. MSBuild находился в Visual Studio, начиная с 2017 года. До этого он находился в том же месте в папке% ProgramFiles (x86)% \ MSBuild. Существуют и другие способы найти MSBuild до 2017 года, которые выходят за рамки и цели vswhere.

Если локальная сборка прошла успешно с VS2017, предложите перенастроить или переустановить агенты сборки TFS. Агент сборки не будет обнаруживать изменения среды после его установки. Он будет обнаруживать только во время установки. Вы также можете попытаться вручную добавить некоторые функции в Настройки - Очереди операторов - Пул агентов - Агент - Возможности. После этого снова запустите сборку.

...