【发布时间】:2019-08-13 09:55:55
【问题描述】:
我正在为 .Net Core 2.1 解决方案创建我的第一个 Azure 构建管道。我的所有步骤都使用DotNetCoreCLI@2 取得了成功,也就是说,除了打包步骤。
这行得通,目前是我所采用的方法:
- script: |
dotnet pack src/MyProject/MyProject.csproj --version-suffix $(VersionSuffix) --configuration $(BuildConfiguration) --no-restore --no-build --output $(Build.ArtifactStagingDirectory)
displayName: 'dotnet pack [$(BuildConfiguration)]'
这不起作用,因为它忽略了--version-suffix 指令:
- task: DotNetCoreCLI@2
inputs:
command: 'pack'
# packagesToPack: '**/*.csproj; **/!*Test*.csproj' - TODO pack all projects, except test projects
packagesToPack: 'src/MyProject/MyProject.csproj'
arguments: '--version-suffix $(VersionSuffix) --configuration $(BuildConfiguration) --no-restore --no-build --output $(Build.ArtifactStagingDirectory)'
displayName: 'dotnet pack [$(BuildConfiguration)]'
(我在其中留下了一个 TODO 作为支线任务)
此外,版本前缀位于 csproj 文件中:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<PackageId>MyProject</PackageId>
<Authors>Me</Authors>
<Description>A description</Description>
<VersionPrefix>0.1.0</VersionPrefix>
<IsPackable>true</IsPackable>
</PropertyGroup>
<Project/>
当我使用dotnet pack 时,我看到了一个完整版本的 NuGet 包(即<prefix>-<suffix>),正如我所期望的那样;例如0.1.0-190813.02.abcdef.
当我使用DotNetCoreCLI@2 任务时,版本仅限于版本前缀;例如0.1.0.
我错过了什么?理想情况下,我希望管道 yaml 文件保持一致。
【问题讨论】:
标签: build azure-devops