Построить проект MonoGame на VSTS - PullRequest
0 голосов
/ 24 апреля 2018

У меня проблема со сборкой проекта MonoGame в Visual Studio Team Services. При создании решения выдается ошибка. Я много искал, но не нашел решения. Вот ошибка:

ESA\ESA.csproj(138,11): Error MSB4226: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\MonoGame\v3.0\MonoGame.Content.Builder.targets" was not found. Also, tried to find "MonoGame\v3.0\MonoGame.Content.Builder.targets" in the fallback search path(s) for $(MSBuildExtensionsPath) - "C:\Program Files (x86)\MSBuild" . These search paths are defined in "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\bin\msbuild.exe.Config". Confirm that the path in the <Import> declaration is correct, and that the file exists on disk in one of the search paths.

У меня импортирован пакет самородков MonoGame, но он всегда не работает. Вот тег из .csproject file:

<Import Project="$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.Content.Builder.targets" />

Большое спасибо за ваши ответы!

1 Ответ

0 голосов
/ 25 апреля 2018

Вы можете настроить частный агент сборки на компьютере, на котором установлен MonoGame, а затем собрать проект с этим агентом сборки.

Развертывание агента в Windows

С другой стороны, на основе этого потока ( Невозможно создать среду непрерывной интеграции из-за проблем установщика ), вы можете использовать пакет NuGet, таким образом, вам нужно изменить файл проекта, чтобы изменить путь импорта <Import Project="$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.Content.Builder.targets" /> на фактический путь пакета.

Вы можете добавить условия msbuild так, чтобы локально вы использовали установку, а сервер сборки не использовал Nuget. Условия MSBuild

Например:

<Import Project="$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.Content.Builder.targets" Condition="Exists('$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.Content.Builder.targets')" />
<Import Project="{actual package path}\MonoGame.Content.Builder.targets" Condition="!Exists('$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.Content.Builder.targets')" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...