简体   繁体   English

Docker 映像构建在 Azure DevOps 发布管道中失败

[英]Docker image build fails in Azure DevOps release pipeline

I try to run build docker image in Azure DevOps release pipeline however keep ending up this same error:我尝试在 Azure DevOps 发布管道中运行构建 docker 映像,但是继续以同样的错误结束:

2020-12-15T03:01:16.5003606Z ##[section]Starting: Build an image
2020-12-15T03:01:16.5014115Z ==============================================================================
2020-12-15T03:01:16.5014678Z Task         : Docker
2020-12-15T03:01:16.5015061Z Description  : Build, tag, push, or run Docker images, or run a Docker command
2020-12-15T03:01:16.5015420Z Version      : 1.177.0
2020-12-15T03:01:16.5015727Z Author       : Microsoft Corporation
2020-12-15T03:01:16.5016278Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/build/docker
2020-12-15T03:01:16.5016718Z ==============================================================================
2020-12-15T03:01:16.6937336Z [command]/usr/bin/docker build -f /home/vsts/work/r1/a/_API-CI/drop/Dockerfile --label com.azure.dev.image.system.teamfoundationcollectionuri=https://dev.azure.com/yec-addx/ --label com.azure.dev.image.release.releaseid=404 -t app-dms-svc:18773 /home/vsts/work/r1/a/_API-CI-Test/drop
2020-12-15T03:01:17.5040248Z Sending build context to Docker daemon  34.82kB
2020-12-15T03:01:17.5041483Z 
2020-12-15T03:01:17.5786045Z Step 1/30 : FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
2020-12-15T03:01:17.7515527Z 3.1: Pulling from dotnet/aspnet
2020-12-15T03:01:17.8021916Z 6ec7b7d162b2: Pulling fs layer
2020-12-15T03:01:17.8026791Z f48adbf33222: Pulling fs layer
2020-12-15T03:01:17.8033196Z 0caf687f11cc: Pulling fs layer
2020-12-15T03:01:17.8033852Z 31f7e18202e6: Pulling fs layer
2020-12-15T03:01:17.8034325Z b2b381c9c354: Pulling fs layer
2020-12-15T03:01:17.8034780Z 31f7e18202e6: Waiting
2020-12-15T03:01:17.8035216Z b2b381c9c354: Waiting
2020-12-15T03:01:17.9290990Z 0caf687f11cc: Verifying Checksum
2020-12-15T03:01:17.9292416Z 0caf687f11cc: Download complete
2020-12-15T03:01:18.0089309Z f48adbf33222: Verifying Checksum
2020-12-15T03:01:18.0089790Z f48adbf33222: Download complete
2020-12-15T03:01:18.0704438Z 6ec7b7d162b2: Verifying Checksum
2020-12-15T03:01:18.0704998Z 6ec7b7d162b2: Download complete
2020-12-15T03:01:18.2017214Z b2b381c9c354: Verifying Checksum
2020-12-15T03:01:18.2019195Z b2b381c9c354: Download complete
2020-12-15T03:01:18.3004105Z 31f7e18202e6: Verifying Checksum
2020-12-15T03:01:18.3004679Z 31f7e18202e6: Download complete
2020-12-15T03:01:19.3310801Z 6ec7b7d162b2: Pull complete
2020-12-15T03:01:19.8580822Z f48adbf33222: Pull complete
2020-12-15T03:01:19.9798496Z 0caf687f11cc: Pull complete
2020-12-15T03:01:20.7350092Z 31f7e18202e6: Pull complete
2020-12-15T03:01:21.0029654Z b2b381c9c354: Pull complete
2020-12-15T03:01:21.0092927Z Digest: sha256:f786e94436a4a4f8f86e3d86372d54d6fd39a4085c6416ecaa7096abb72139a0
2020-12-15T03:01:21.0110540Z Status: Downloaded newer image for mcr.microsoft.com/dotnet/aspnet:3.1
2020-12-15T03:01:21.0124473Z  ---> 96df76fbb586
2020-12-15T03:01:21.0124866Z Step 2/30 : WORKDIR /app
2020-12-15T03:01:25.0615009Z  ---> Running in 075aad14591b
2020-12-15T03:01:26.0301515Z Removing intermediate container 075aad14591b
2020-12-15T03:01:26.0302971Z  ---> 97785a46279a
2020-12-15T03:01:26.0303398Z Step 3/30 : EXPOSE 80
2020-12-15T03:01:26.0741271Z  ---> Running in d293786a3b5f
2020-12-15T03:01:27.0313315Z Removing intermediate container d293786a3b5f
2020-12-15T03:01:27.0314388Z  ---> 073ddf35b4bb
2020-12-15T03:01:27.0316530Z Step 4/30 : ENV ASPNETCORE_ENVIRONMENT #{environment-profile}#
2020-12-15T03:01:27.0794751Z  ---> Running in 90bdc7a5eb25
2020-12-15T03:01:28.0349863Z Removing intermediate container 90bdc7a5eb25
2020-12-15T03:01:28.0350869Z  ---> b8924a7ede92
2020-12-15T03:01:28.0351186Z Step 5/30 : FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
2020-12-15T03:01:28.2223262Z 3.1: Pulling from dotnet/sdk
2020-12-15T03:01:28.2710847Z 6c33745f49b4: Pulling fs layer
2020-12-15T03:01:28.2716652Z c87cd3c61e27: Pulling fs layer
2020-12-15T03:01:28.2723430Z 05a3c799ec37: Pulling fs layer
2020-12-15T03:01:28.2723954Z a61c38f966ac: Pulling fs layer
2020-12-15T03:01:28.2724478Z 9bec9ebf31b8: Pulling fs layer
2020-12-15T03:01:28.2724953Z 14e4ab7258ae: Pulling fs layer
2020-12-15T03:01:28.2725411Z 7c3331157193: Pulling fs layer
2020-12-15T03:01:28.2726244Z 9bec9ebf31b8: Waiting
2020-12-15T03:01:28.2726679Z 14e4ab7258ae: Waiting
2020-12-15T03:01:28.2727087Z 7c3331157193: Waiting
2020-12-15T03:01:28.2727515Z a61c38f966ac: Waiting
2020-12-15T03:01:28.4072812Z c87cd3c61e27: Verifying Checksum
2020-12-15T03:01:28.4073267Z c87cd3c61e27: Download complete
2020-12-15T03:01:28.8336537Z 05a3c799ec37: Verifying Checksum
2020-12-15T03:01:28.8338032Z 05a3c799ec37: Download complete
2020-12-15T03:01:29.2910749Z 9bec9ebf31b8: Verifying Checksum
2020-12-15T03:01:29.2911197Z 9bec9ebf31b8: Download complete
2020-12-15T03:01:29.9255263Z 6c33745f49b4: Verifying Checksum
2020-12-15T03:01:29.9256022Z 6c33745f49b4: Download complete
2020-12-15T03:01:30.3046948Z 14e4ab7258ae: Verifying Checksum
2020-12-15T03:01:30.3047610Z 14e4ab7258ae: Download complete
2020-12-15T03:01:30.5555099Z 7c3331157193: Verifying Checksum
2020-12-15T03:01:30.5555466Z 7c3331157193: Download complete
2020-12-15T03:01:31.6943319Z a61c38f966ac: Verifying Checksum
2020-12-15T03:01:31.6943703Z a61c38f966ac: Download complete
2020-12-15T03:01:31.9483489Z 6c33745f49b4: Pull complete
2020-12-15T03:01:32.2423105Z c87cd3c61e27: Pull complete
2020-12-15T03:01:32.5291526Z 05a3c799ec37: Pull complete
2020-12-15T03:01:34.3929707Z a61c38f966ac: Pull complete
2020-12-15T03:01:34.7382829Z 9bec9ebf31b8: Pull complete
2020-12-15T03:01:38.5400926Z 14e4ab7258ae: Pull complete
2020-12-15T03:01:39.1410653Z 7c3331157193: Pull complete
2020-12-15T03:01:39.6864065Z Digest: sha256:6cced85f21def1bae815ce617f9cb55ccb3377690e23055b041adec55a850f2d
2020-12-15T03:01:39.7391308Z Status: Downloaded newer image for mcr.microsoft.com/dotnet/sdk:3.1
2020-12-15T03:01:39.7406175Z  ---> 0b14e54e08b0
2020-12-15T03:01:39.7406506Z Step 6/30 : WORKDIR /src
2020-12-15T03:01:47.4881321Z  ---> Running in 9ded1512b378
2020-12-15T03:01:48.2034673Z Removing intermediate container 9ded1512b378
2020-12-15T03:01:48.2037250Z  ---> 5129c58ae836
2020-12-15T03:01:48.2037635Z Step 7/30 : COPY ["Main/Api/Api.csproj", "Main/Api/"]
2020-12-15T03:01:49.0387358Z  ---> 915df76dc86d
2020-12-15T03:01:49.0388090Z Step 8/30 : COPY ["Main/Domain/Domain.csproj", "Main/Domain/"]
2020-12-15T03:01:50.0426823Z  ---> cc78e935e069
2020-12-15T03:01:50.0427278Z Step 9/30 : COPY ["Infra/Infra.csproj", "Infra/"]
2020-12-15T03:01:51.0482619Z  ---> a7dcd457b2d1
2020-12-15T03:01:51.0483103Z Step 10/30 : COPY ["DataModel/DataModel.csproj", "DataModel/"]
2020-12-15T03:01:52.0507263Z  ---> 57c0b9310f4a
2020-12-15T03:01:52.0507694Z Step 11/30 : COPY ["Infra.Api/Infra.Api.csproj", "Infra.Api/"]
2020-12-15T03:01:53.0455420Z  ---> 65683beda3cf
2020-12-15T03:01:53.0456191Z Step 12/30 : COPY ["Infra.Aws.Event/Infra.Aws.Event.csproj", "Infra.Aws.Event/"]
2020-12-15T03:01:54.0391012Z  ---> 6731f81a42bc
2020-12-15T03:01:54.0391573Z Step 13/30 : COPY ["Main/Device.Domain/Device.Domain.csproj", "Main/Device.Domain/"]
2020-12-15T03:01:55.0449753Z  ---> 3ecf269554ac
2020-12-15T03:01:55.0450404Z Step 14/30 : COPY ["Main/External.Domain/External.Domain.csproj", "Main/External.Domain/"]
2020-12-15T03:01:56.0430019Z  ---> 9ce91a97cab9
2020-12-15T03:01:56.0430864Z Step 15/30 : COPY ["Data.Mongo/Data.Mongo.csproj", "Data.Mongo/"]
2020-12-15T03:01:57.0468614Z  ---> bdc21db16d7e
2020-12-15T03:01:57.0490805Z Step 16/30 : COPY ["External.Domain.Data/External.Domain.Data.csproj", "External.Domain.Data/"]
2020-12-15T03:01:58.0441570Z  ---> a5fcf027a985
2020-12-15T03:01:58.0442053Z Step 17/30 : COPY ["Infra.Event/Infra.Event.csproj", "Infra.Event/"]
2020-12-15T03:01:59.0537842Z  ---> d28a427efd24
2020-12-15T03:01:59.0538339Z Step 18/30 : COPY ["Main/Files/Files.csproj", "Main/Files/"]
2020-12-15T03:02:00.0484332Z  ---> cb4dd49459eb
2020-12-15T03:02:00.0484797Z Step 19/30 : RUN dotnet restore "Main/Api/Api.csproj"
2020-12-15T03:02:00.1136284Z  ---> Running in 0d9c560c953b
2020-12-15T03:02:01.4171207Z   Determining projects to restore...
2020-12-15T03:02:04.2443619Z   Restored /src/Infra/Infra.csproj (in 1.68 sec).
2020-12-15T03:02:04.3372623Z   Restored /src/External.Domain.Data/External.Domain.Data.csproj (in 1.84 sec).
2020-12-15T03:02:05.0521974Z   Restored /src/Infra.Aws.Event/Infra.Aws.Event.csproj (in 707 ms).
2020-12-15T03:02:05.0539329Z   Restored /src/Infra.Event/Infra.Event.csproj (in 841 ms).
2020-12-15T03:02:05.0772560Z   Restored /src/DataModel/DataModel.csproj (in 19 ms).
2020-12-15T03:02:05.1036674Z   Restored /src/Data.Mongo/Data.Mongo.csproj (in 19 ms).
2020-12-15T03:02:06.4045177Z   Restored /src/Infra.Api/Infra.Api.csproj (in 1.34 sec).
2020-12-15T03:02:06.4045811Z   Restored /src/Main/Device.Domain/Device.Domain.csproj (in 1.29 sec).
2020-12-15T03:02:06.4852803Z   Restored /src/Main/External.Domain/External.Domain.csproj (in 72 ms).
2020-12-15T03:02:06.5325890Z   Restored /src/Main/Files/Files.csproj (in 72 ms).
2020-12-15T03:02:06.5606150Z   Restored /src/Main/Domain/Domain.csproj (in 67 ms).
2020-12-15T03:02:09.4765958Z   Restored /src/Main/Api/Api.csproj (in 2.98 sec).
2020-12-15T03:02:26.8771879Z Removing intermediate container 0d9c560c953b
2020-12-15T03:02:26.8773205Z  ---> 2ca8b96bc0f0
2020-12-15T03:02:26.8773598Z Step 20/30 : COPY . .
2020-12-15T03:02:28.2352798Z  ---> a4425ad66b6c
2020-12-15T03:02:28.2353547Z Step 21/30 : WORKDIR "/src/Main/Api"
2020-12-15T03:02:28.2726661Z  ---> Running in a2a95bab1cde
2020-12-15T03:02:29.4961959Z Removing intermediate container a2a95bab1cde
2020-12-15T03:02:29.4963400Z  ---> 25f52c163cc2
2020-12-15T03:02:29.4964353Z Step 22/30 : RUN dotnet build "Api.csproj" -c Release -o /app/build
2020-12-15T03:02:29.5491396Z  ---> Running in 6e625de830b0
2020-12-15T03:02:30.2633818Z Microsoft (R) Build Engine version 16.7.1+52cd83677 for .NET
2020-12-15T03:02:30.2634338Z Copyright (C) Microsoft Corporation. All rights reserved.
2020-12-15T03:02:30.2634557Z 
2020-12-15T03:02:30.7524833Z   Determining projects to restore...
2020-12-15T03:02:31.8471286Z   All projects are up-to-date for restore.
2020-12-15T03:02:34.3056821Z   Infra -> /app/build/Infra.dll
2020-12-15T03:02:34.7427324Z   DataModel -> /app/build/DataModel.dll
2020-12-15T03:02:35.0425314Z   Infra.Aws.Event -> /app/build/Infra.Aws.Event.dll
2020-12-15T03:02:35.6136637Z   Data.Mongo -> /app/build/Data.Mongo.dll
2020-12-15T03:02:35.7325011Z   Infra.Api -> /app/build/Infra.Api.dll
2020-12-15T03:02:35.7801144Z   Infra.Event -> /app/build/Infra.Event.dll
2020-12-15T03:02:36.1464908Z   Domain -> /app/build/Domain.dll
2020-12-15T03:02:36.2089423Z   External.Domain.Data -> /app/build/External.Domain.Data.dll
2020-12-15T03:02:36.6504907Z   External.Domain -> /app/build/External.Domain.dll
2020-12-15T03:02:37.0138801Z   Device.Domain -> /app/build/Device.Domain.dll
2020-12-15T03:02:37.0744375Z   Files -> /app/build/Files.dll
2020-12-15T03:02:37.9291706Z CSC : error CS5001: Program does not contain a static 'Main' method suitable for an entry point [/src/Main/Api/Api.csproj]
2020-12-15T03:02:37.9402998Z 
2020-12-15T03:02:37.9403460Z Build FAILED.
2020-12-15T03:02:37.9403644Z 
2020-12-15T03:02:37.9404734Z CSC : error CS5001: Program does not contain a static 'Main' method suitable for an entry point [/src/Main/Api/Api.csproj]
2020-12-15T03:02:37.9405166Z     0 Warning(s)
2020-12-15T03:02:37.9405380Z     1 Error(s)
2020-12-15T03:02:37.9405540Z 
2020-12-15T03:02:37.9405747Z Time Elapsed 00:00:07.60
2020-12-15T03:02:38.2431634Z The command '/bin/sh -c dotnet build "Api.csproj" -c Release -o /app/build' returned a non-zero code: 1
2020-12-15T03:02:38.2553689Z ##[error]The command '/bin/sh -c dotnet build "Api.csproj" -c Release -o /app/build' returned a non-zero code: 1
2020-12-15T03:02:38.2563694Z ##[error]The process '/usr/bin/docker' failed with exit code 1
2020-12-15T03:02:38.2568300Z ##[section]Finishing: Build an image

As shown in logs, the error happens on RUN dotnet build "Api.csproj" -c Release -o /app/build and the error states Program does not contain a static 'Main' method suitable for an entry point [/src/Main/Api/Api.csproj]如日志所示,错误发生在RUN dotnet build "Api.csproj" -c Release -o /app/build和错误状态Program does not contain a static 'Main' method suitable for an entry point [/src/Main/Api/Api.csproj]

However, I noticed that under this part of the logs:但是,我注意到在这部分日志下:

2020-12-15T03:02:30.7524833Z   Determining projects to restore...
2020-12-15T03:02:31.8471286Z   All projects are up-to-date for restore.
2020-12-15T03:02:34.3056821Z   Infra -> /app/build/Infra.dll
2020-12-15T03:02:34.7427324Z   DataModel -> /app/build/DataModel.dll
2020-12-15T03:02:35.0425314Z   Infra.Aws.Event -> /app/build/Infra.Aws.Event.dll
2020-12-15T03:02:35.6136637Z   Data.Mongo -> /app/build/Data.Mongo.dll
2020-12-15T03:02:35.7325011Z   Infra.Api -> /app/build/Infra.Api.dll
2020-12-15T03:02:35.7801144Z   Infra.Event -> /app/build/Infra.Event.dll
2020-12-15T03:02:36.1464908Z   Domain -> /app/build/Domain.dll
2020-12-15T03:02:36.2089423Z   External.Domain.Data -> /app/build/External.Domain.Data.dll
2020-12-15T03:02:36.6504907Z   External.Domain -> /app/build/External.Domain.dll
2020-12-15T03:02:37.0138801Z   Device.Domain -> /app/build/Device.Domain.dll
2020-12-15T03:02:37.0744375Z   Files -> /app/build/Files.dll

There should be another Api -> /app/build/Api.dll but there isn't.应该还有另一个Api -> /app/build/Api.dll但没有。 It seems that it fails to build into a dll with I don't know what is the error.它似乎无法构建到 dll 中,我不知道错误是什么。

This only fails in Azure DevOps release pipeline Build Docker Image task, the exact same project and Dockerfile runs and build well in my local.这仅在 Azure DevOps 发布管道 Build Docker Image 任务中失败,完全相同的项目和 Dockerfile 在我的本地运行和构建良好。 Able to run the image in local as well.也可以在本地运行图像。

Below are my Dockerfile:下面是我的 Dockerfile:

FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
WORKDIR /app
EXPOSE 80

ENV ASPNETCORE_ENVIRONMENT #{environment-profile}#

FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src
COPY ["Main/Api/Api.csproj", "Main/Api/"]
COPY ["Main/DMS.Domain/DMS.Domain.csproj", "Main/DMS.Domain/"]
COPY ["Infra.Api/Infra.Api.csproj", "Infra.Api/"]
COPY ["DataModel/DataModel.csproj", "DataModel/"]
COPY ["Infra/Infra.csproj", "Infra/"]
COPY ["Infra.Aws.Event/Infra.Aws.Event.csproj", "Infra.Aws.Event/"]
COPY ["Main/Device.Domain/Device.Domain.csproj", "Main/Device.Domain/"]
COPY ["Main/External.Domain/External.Domain.csproj", "Main/External.Domain/"]
COPY ["Data.Mongo/Data.Mongo.csproj", "Data.Mongo/"]
COPY ["External.Domain.Data/External.Domain.Data.csproj", "External.Domain.Data/"]
COPY ["Infra.Event/Infra.Event.csproj", "Infra.Event/"]
COPY ["Main/Files/Files.csproj", "Main/Files/"]
RUN dotnet restore "Main/Api/Api.csproj"
COPY . .

WORKDIR "/src/Main/Api"
RUN dotnet build "Api.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "Api.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Api.dll", "--environment=#{environment-profile}#"]

Here is my project structure:这是我的项目结构:

Open sln file:打开.sln文件:

- Main
  - Api
    - Api.csproj
  - Domain
    - Domain.csproj
  - Device.Domain
    - Device.Domain.csproj
  - External.Domain
    - External.Domain.csproj
  - Files
    - Files.csproj
- External.Domain.Data
  - External.Domain.Data.csproj
- Infra
  - Infra.csproj
- Infra.Api
  - Infra.Api.csproj
- Infra.Event
  - Infra.Event.csproj
- Infra.Aws.Event
  - Infra.Aws.Event.csproj
- DataModel
  - DataModel.csproj
- Data.Mongo
  - Data.Mongo.csproj
- Dockerfile

In my relese pipeline, I've set the Dockerfile to $(System.DefaultWorkingDirectory)/_API-CI-Test/drop/Dockerfile and build context default to ** which supposed to be directory where dockerfile stays at, in this case it would be root directory.在我的发布管道中,我将 Dockerfile 设置为$(System.DefaultWorkingDirectory)/_API-CI-Test/drop/Dockerfile并将上下文默认设置为**这应该是 dockerfile 所在的目录,在这种情况下它将是根目录。

After the Build Pipeline success, I can see my project directory and their .csproj file under their directory as well as Dockerfile in the artifacts under drop . Build Pipeline 成功后,我可以看到我的项目目录及其目录下的.csproj文件以及drop下的工件中的 Dockerfile 。

So I really do not know what is the problem, I've done everything I can find but still not working.所以我真的不知道是什么问题,我已经做了我能找到的一切,但仍然没有工作。 It doesn't build/restore the Api -> /app/build/Api.dll and I do not know why.它不会构建/恢复Api -> /app/build/Api.dll ,我不知道为什么。 FYI, the Api.csproj is the main project so inside it have a Main method.仅供参考, Api.csproj是主要项目,因此在其中有一个Main方法。 The Dockerfile is also generated based on this Api.csproj . Dockerfile 也是基于这个Api.csproj生成的。

Hope anyone knows what is wrong can give me some hints.希望有人知道出了什么问题可以给我一些提示。 Appreciate any helps!感谢任何帮助! Thanks!谢谢!

Please check if all your project files are published to artifact in the build pipeline.请检查您的所有项目文件是否已发布到构建管道中的工件。

Since your release pipeline is using your source code as artifact.由于您的发布管道使用您的源代码作为工件。 You can add your code repo as the artifact source instead of the artifact published by the build pipeline.您可以将代码仓库添加为工件源,而不是构建管道发布的工件。 See below:见下文:

在此处输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 azure devops 管道构建失败,出现错误 CS1043 - azure devops pipeline build fails on error CS1043 Azure DevOps YAML 管道失败,并显示“没有预期的序列” - Azure DevOps YAML Pipeline fails with “A sequence was not expected” 无法在 Azure DevOps 发布管道中提取 .NET 单文件应用程序 - Unable to extract .NET Single File Application in Azure DevOps release pipeline Azure DevOps 发布管道 - 如何解决强名称验证问题 - Azure DevOps release pipeline - How to resolve Strong Name Validation issue 使用 C# 和 RestAPI 创建并启动 Azure devops 发布管道 - Create and start Azure devops release pipeline using C# and RestAPI Azure DevOps Pipeline 无法找到来自其他项目的 DLL - Azure DevOps Pipeline Fails DLL From Other Project Not Found Azure DevOps 管道 - dotnet restore Package 内容 Hash 验证失败 - Azure DevOps Pipeline - dotnet restore Package Content Hash Validation Fails Azure 管道构建因 VS 链接文件而失败 - Azure pipeline build fails with VS linked files Azure DevOps Pipeline 变量定义在构建前自动更改 - Azure DevOps Pipeline variables define automatically change before build 运行 Azure DevOps 构建管道时自定义文化不适用 - Custom Culture not applying when running an Azure DevOps build pipeline
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM