Прекратить публикацию SSDT при запуске MSBuild - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть проект ClickOnce, который я публикую на DevOps.Я установил свойство MSBuild Arguments для этапа сборки решения WinForm в DevOps на /target:Publish, чтобы инициировать создание всех файлов ClickOnce:

enter image description here

Однако это решение также содержит проект SSDT, и добавление параметра /target:Publish приводит к тому, что процесс сборки также пытается опубликовать SSDT.В этом случае возникает ошибка:

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ Microsoft \ VisualStudio \ v15.0 \ SSDT \ Microsoft.Data.Tools.Schema.SqlTasks.targets (1808,5): ошибка MSB4044: Задаче «SqlPublishTask» не было присвоено значение для обязательного параметра «SqlPublishProfilePath»

Предположительно, это не выполняется, поскольку не указан профиль публикациив параметре сборки для использования SSDT.

Я не хочу, чтобы MSBuild публиковал DacPac на сервере, я просто хочу, чтобы он создал DacPac.Как я могу остановить /target:Publish, вызывающий публикацию SSDT, есть ли еще один аргумент сборки, который я могу добавить, чтобы остановить это?

Примечания о том, что я пытался решить до сих пор, ни один из которых не имеетсработало:

1 Ответ

0 голосов
/ 24 февраля 2019

В конце концов я решил проблему выше совершенно другим способом.Вместо того, чтобы заставить MSBuild делать то, что я хотел, я разделил конфигурацию решения на две части: одну для баз данных и одну для проекта WinForms без баз данных.

Затем я использовал две отдельные VS Buildэтапы в DevOps, только с этапом WinForms, в котором установлен /target:Publish.

Я написал это здесь , но все же хотел бы знать ответ на вопрос, возможно ли сообщить MSBuildне создавать SSDT, если для цели задано «Опубликовать»?

...