MSBuild игнорирует конфигурацию профиля публикации - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь опубликовать несколько веб-сервисов и веб-сайт через командную строку, используя MSBuild.Когда я публикуюсь, веб-службы публикуются успешно, но мой веб-сайт не проверяет журналы, я понял, что msbuild игнорирует конфигурации сборки в указанном профиле публикации и использует конфигурации по умолчанию, например, Debug | AnyCpu.Я бродил по SO и Интернету и нашел несколько статей, но ни одна не работала для меня.

Другая статья SO

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

Вот моя команда msbuild

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MsBuild.exe "PATH_TO_PROJECT \ PROJECT.csproj" / nodeReuse: false /nologo / p: PublishProfile = "FolderProfile" / p: DeployOnBuild = True

Журналы

Целевой объект "_ConvertPdbFiles", указанный в атрибуте BeforeTargets в "C: \ Program"Файлы (x86) \ MSBuild \ 4.0 \ Microsoft.Common.targets \ ImportAfter \ Xamarin.Common.targets (34,37) "не существуют в проекте и будут игнорироваться.Целевой объект «_CollectPdbFiles», указанный в атрибуте AfterTargets по адресу «C: \ Program Files (x86) \ MSBuild \ 4.0 \ Microsoft.Common.targets \ ImportAfter \ Xamarin.Common.targets (34,70)», не существует в проекте.и будет игнорироваться.Целевой объект "_CollectMdbFiles", указанный в атрибуте BeforeTargets по адресу "C: \ Program Files (x86) \ MSBuild \ 4.0 \ Microsoft.Common.targets \ ImportAfter \ Xamarin.Common.targets (41,38)", не существует в проекте.и будет игнорироваться.Целевой объект "_CopyMdbFiles", указанный в атрибуте AfterTargets по адресу "C: \ Program Files (x86) \ MSBuild \ 4.0 \ Microsoft.Common.targets \ ImportAfter \ Xamarin.Common.targets (41,71)", не существует в проекте.и будет игнорироваться.Проект "C: \ Git \ DXT \ DXT.UI.WEB.APP.DEVICES \ Dxt.Web \ Dxt.Web.csproj" на узле 1 (цели по умолчанию).C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (609,5): ошибка: свойство OutputPath не задано для проекта 'Dxt.Web.csproj'.Пожалуйста, убедитесь, что вы указали правильную комбинацию конфигурации и платформы для этого проекта.Конфигурация = Платформа отладки = AnyCPU.Возможно, вы видите это сообщение, потому что вы пытаетесь построить проект без файла решения и указали нестандартную конфигурацию или платформу, которая не существует для этого проекта.[C: \ Git \ DXT \ DXT.UI.WEB.APP.DEVICES \ Dxt.Web \ Dxt.Web.csproj] Готовый строительный проект "C: \ Git \ DXT \ DXT.UI.WEB.APP.DEVICES \ Dxt.Web \ Dxt.Web.csproj "(цели по умолчанию) - СБОЙ.

Build FAILED.

" C: \ Git \ DXT \ DXT.UI.WEB.APP.DEVICES \Dxt.Web \ Dxt.Web.csproj "(цель по умолчанию) (1) -> (цель _CheckForInvalidConfigurationAndPlatform) ->
C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (609, 5): ошибка: свойство OutputPath не установлено для проекта 'Dxt.Web.csproj'.Пожалуйста, убедитесь, что вы указали правильную комбинацию конфигурации и платформы для этого проекта.Конфигурация = Платформа отладки = AnyCPU.Возможно, вы видите это сообщение, потому что вы пытаетесь построить проект без файла решения и указали нестандартную конфигурацию или платформу, которая не существует для этого проекта.[C: \ Git \ DXT \ DXT.UI.WEB.APP.DEVICES \ Dxt.Web \ Dxt.Web.csproj]

0 Warning(s)
1 Error(s)

Истекшее время 00: 00: 00.09

Я попытался указать конкретную конфигурацию, чтобы избежать комбинирования Debug | AnyCpu, но обнаружил ошибки, поскольку веб-сайт имеет настраиваемую конфигурацию Release.Custom и зависит от проектов, в которых эта конфигурация отсутствует.

Любая помощьвысоко ценится.

1 Ответ

0 голосов
/ 18 сентября 2018

Если кто-то сталкивался с этим, я смог исправить свою ошибку, изменив значение тега Configuration на свой пользовательский BuildConfiguration, то есть «Release.Custom».Это очень глупо, учитывая, что я потратил на это день.

...