Azure Ошибка сборки DevOps - MSB4226 - службы аналитики - PullRequest
0 голосов
/ 26 февраля 2020

Я использую VS 2019 Professional для разработки. Мое решение содержит табличный проект SSAS . При здании в VS2019P отсутствуют ни предупреждений, ни ошибок . Когда я запускаю конвейер сборки в Azure DevOps Visual Studio build задача завершается с ошибкой из-за этой ошибки.

Ошибка MSB4226: импортированный проект "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Enterprise \ MSBuild \ Семантическая модель бизнес-аналитики \ 1.0 \ Microsoft.AnalysisServices.VSHostBuilder.targets" не найден , Также попытался найти «Семантическая модель бизнес-аналитики \ 1.0 \ Microsoft.AnalysisServices.VSHostBuilder.targets» в резервных путях поиска для $ (MSBuildExtensionsPath) - «C: \ Program Files (x86) \ MSBuild». Эти пути поиска определены в "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Enterprise \ MSBuild \ Current \ Bin \ amd64 \ msbuild.exe.Config". Убедитесь, что путь в объявлении правильный, и что файл существует на диске в одном из путей поиска.

Мой агент:

  1. Windows 2019 .
  2. Microsoft Hosted.

Мой конвейер состоит из:

  1. Используйте NuGet 5.4.
  2. NuGet Restore.
  3. Visual Studio Build (с использованием Visual Studio 2019)

При просмотре подробного журнала я заметил, что пути сборки, по-видимому, ссылаются на Enterprise издание. Однако все остальные проекты строят.

1 Ответ

1 голос
/ 27 февраля 2020

Когда я запускаю свой конвейер сборки в Azure DevOps, задача сборки Visual Studio терпит неудачу из-за этой ошибки.

Непосредственная причина проблемы заключается в том, что SSAS tabular project имеет эту строку в конце файла проекта:

<Import Project="$(MSBuildExtensionsPath)\Business Intelligence Semantic Model\1.0\Microsoft.AnalysisServices.VSHostBuilder.targets" />

Если для сборки проекта используется msbuild, если он не может найти нужный файл xx.targets, возникает MSB4226. И после моей проверки отсутствующий файл поступает от одного против расширения , которое мы должны установить вручную.

Так что на локальном компьютере мы получаем возможность создавать, разрабатывать и построить проект SSAS в VS справа после после установки этого расширения:

enter image description here

enter image description here

Но для размещенного в Microsoft агента windows -2019, так как расширение по умолчанию не устанавливается, задача msbuild / VSbuild в конвейере сборки не имеет возможности построить проект, что вызывает проблему. вы встретились.

Есть один аналогичный запрос функции здесь , за который вы можете проголосовать и следить за новостями, если есть какие-либо обновления.

Что касается временных обходных путей , вы можете рассмотреть возможность использования собственного агента для запуска сборки. Установите самоагент на одну машину, на которой установлена ​​VS с установленным расширением, и укажите, чтобы использовать самагент при настройке конвейера сборки. Сборка должна работать.

Кроме того, вы можете попробовать добавить задачу командной строки перед вашими задачами сборки с помощью команды здесь , чтобы установить расширение перед сборкой. Но поскольку пакет расширения является сборкой, он будет значительно увеличивать время сборки каждый раз при запуске сборки. (Не рекомендуется)

Надеюсь, все вышеперечисленное поможет:)

...