Как использовать MSBuild на sfproj?
Пытаюсь получить мою сборку приложения Service Fabric на сервере сборки. Когда я собираю файл .sln, цель пакета sfproj не запускается. Как и ожидалось. Я не могу заставить MSBuild запустить эту цель.
Во-первых, единственными целями, доступными при сборке на основе файла .sln, являются стандартные цели Build и Publish.
Во-вторых, сборка против самого .sfproj заставляет цель работать. Однако из-за несоответствия $ (BuildPlatform) проекты, на которые ссылается .sfproj, не собираются правильно. .Sfproj имеет платформу x64. Большинство других моих проектов - Any CPU.
Полагаю, это не вопрос Service Fabric, а скорее вопрос MSBuild. Я ищу решение, которое не требует от меня унификации всех параметров платформы моего проекта. Service Fabric ДЕЙСТВИТЕЛЬНО ЕСТЬ только x64, а другие мои проекты ДЕЙСТВИТЕЛЬНО ДЕЙСТВИТЕЛЬНО Любой ЦП.
[РЕДАКТИРОВАТЬ]
Я решил это. Я добавил новую цель в файл .sfproj под названиемMaybePublish
и я установил его как одну из целей по умолчанию.MaybePublish
имеетCondition
за'$(Package)' == 'true'
, Она имеетDependsOnTarget
установлен вPackage
, По сути, эта цель дополнительно упаковывает приложение Service Fabric, если при создании решения установлено свойство.
Мне кажется, это, вероятно, какDeployOnBuild
вещи работают в проектах веб-публикации. Целевые файлы Service Fabric должны иметь этот тип поддержки по умолчанию.