Ответ 1
Вам может понадобиться полный путь, например
dotnet publish -c Release /p:PublishProfile=Properties\PublishProfiles\FolderProfile.pubxml
Я пытаюсь называть "dotnet publish" с конкретным опубликованным профилем pubxml файла, как описано здесь:
Однако все, что я пытаюсь, похоже, приводит к поведению по умолчанию, а часть /p: PublishProfile игнорируется.
dotnet publish /p:PublishProfile="MyFolderProfile"
Не работает и не регистрирует ошибки, создавая по умолчанию местоположение в разделе "/obj".
Я отмечаю, что намеренно некорректная команда имеет тот же результат, например:
dotnet publish /p:PublishProfile="MyFolderProfile-XXXXX"
Что я делаю неправильно? - Любые указатели будут очень благодарны!
Вам может понадобиться полный путь, например
dotnet publish -c Release /p:PublishProfile=Properties\PublishProfiles\FolderProfile.pubxml
Некоторое время назад я столкнулся с тем же вопросом. Мне удалось исправить это, вместо этого позвонив:
dotnet build [projectname] /p:PublishProfile=[PublishProfile]
Я использовал это на событиях сборки VS
dotnet publish $(SolutionDir)DIRECTORI_1/PROJECT_1.csproj -c Release -o C:\Deployments\FOLDER_1
Мой ответ опоздал. Мое решение имеет простое консольное приложение .NET Core ConsoleAppCore.csproj
. Я использовал Visual Studio IDE
для создания профиля публикации с именем FolderProfile.pubxml
, а затем у меня сработали следующие команды:
Относительный путь - от корня решения
dotnet publish ConsoleAppCore\ConsoleAppCore.csproj /p:PublishProfile=ConsoleAppCore\Properties\PublishProfiles\FolderProfile.pubxml
Абсолютный путь - из любого места
dotnet publish "C:\work\ConsoleAppCore\ConsoleAppCore.csproj" "/p:PublishProfile=C:\work\ConsoleAppCore\Properties\PublishProfiles\FolderProfile.pubxml"
В операционной системе Azure
Имя задачи =.NET Core
Версия задачи = 2
Command = публиковать
Путь к проектам = я оставил это пустым
Аргументы =
$(System.DefaultWorkingDirectory)\ConsoleAppCore\ConsoleAppCore.csproj /p:PublishProfile=$(System.DefaultWorkingDirectory)\ConsoleAppCore\Properties\PublishProfiles\FolderProfile.pubxml --configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)\ConsoleAppCore-Publish\
В сценарии сборки Azure Dev Ops я перенаправил вывод в папку в $(Build.ArtifactStagingDirectory)
. У меня также есть задача Publish Artifact, настроенная для использования переменной промежуточного каталога.
Я использовал XML файл профиля публикации, потому что мне нужно, чтобы один файл управлял полным поведением в Azure Devops. Использование единого файла для всех параметров упрощает управление в Azure.
Оператор Azure Dev - Исследователь артефактов
Задача Publish Artifact
создала для меня каплю, и вот так она выглядит. Обратите внимание, что имя файла в проводнике совпадает с именем, указанным вместе с опцией --output
в задаче dotnet publish