Я настраиваю конвейер сборки devure для Azure для веб-приложения .NET core 2.2, которое включает Angular, и один из шагов, который он выполняет, - публикация dotnet.Однако конечный результат не тот, который я ожидал, по сравнению с запуском публикации непосредственно из VS 2017.
Как способ запуска пользовательских команд npm для конкретных сред.Таким образом, в моем файле csproj у меня есть
<Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish">
<!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
<!-- Use conditional builds based on build target setting eg. debug, dev, prod etc -->
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build " Condition=" '$(Configuration)' == 'Debug' " />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build --prod false --configuration=dev" Condition=" '$(Configuration)' == 'Test' " />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build --prod true --configuration=prod" Condition=" '$(Configuration)' == 'Release' " />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build:ssr --configuration=prod" Condition=" '$(BuildServerSideRenderer)' == 'true' And '$(Configuration)' == 'Release' " />
Однако сборка devops не выполнялась с правильной командой.Посмотрев журнал сборки, он просто запустил ng build, не включая дополнительные флаги для настройки конкретной конфигурации.
Итак, чтобы подтвердить это, я запустил командную строку
dotnet publish -c Test
, и, конечно же, вывод указывает, что он запускает сборку ng, без видимого использования того, что было в файле csproj.
Как я могу получитьмоя команда npm для получения значений конфигурации, подобных тем, которые содержатся в файле csproj, но когда публикуется dotnet?