【问题标题】:Azure Pipeline Pack Nuget Packages with custom name具有自定义名称的 Azure Pipeline Pack Nuget 包
【发布时间】:2020-10-29 01:53:51
【问题描述】:

在我的解决方案中,我有几个项目,它们在构建时打包了自己的 nuget 包。打包包时,我使用 PackageID 参数将自定义前缀添加到包名称(否则将是项目的名称)。

dotnet pack  .\$(ProjectName).csproj  --include-symbols --no-build -o C:\dev\Packages -p:PackageID=CustomPrefix.$(ProjectName)

效果很好。

现在,在我的 Azure Devop Pipeline 中,我使用 dotnet 任务来打包我的包,如下所示:

- task: DotNetCoreCLI@2
  displayName: 'dotnet pack'
  inputs:
    command: 'pack'
    packagesToPack: '${{parameters.solutionPath}}'
    nobuild: true
    includesymbols: true
    versioningScheme: 'off'

现在显然这没有添加前缀,我不知道该怎么做,特别是因为在这里我将路径指向实际解决方案,而不是项目。它只是为解决方案中的所有项目打包包,没有任何自定义它的方法。关于我如何做到这一点的任何线索?

【问题讨论】:

  • 你能把packagesToPack设置为你的csproj,并使用buildProperties: 'PackageID=CustomPrefix.$(ProjectName)'吗?
  • 但解决方案中的项目不止一个。而 $(ProjectName) 在这里没有任何意义,只有在本地运行时才有意义。除非任务知道如何用解决方案中每个项目的名称替换它?

标签: .net-core nuget azure-pipelines nuget-package dotnet-cli


【解决方案1】:

您可以使用MSBuildProjectName 变量来引用正在构建的项目的名称,但是在尝试通过命令行传递它时不起作用。

如果您可以修改项目中的 csproj 文件,我建议在 PropertyGroup 下添加以下内容:

<PackageIdPrefix></<PackageIdPrefix>
<PackageId>$(PackageIdPrefix)$(MSBuildProjectName)</PackageId>

然后将您的管道更新为

- task: DotNetCoreCLI@2
  displayName: 'dotnet pack'
  inputs:
    command: 'pack'
    packagesToPack: '${{parameters.solutionPath}}'
    nobuild: true
    includesymbols: true
    versioningScheme: 'off'
    buildProperties: 'PackageIdPrefix=CustomPrefix.' # <-- This is new

【讨论】:

  • 好的,我会将此标记为答案。但是我不想在我的所有 csproj 中都有 PackageId,我觉得这很痛苦。由于我不知道如何解决这个问题,我最终编写了自己的 powershell 脚本来遍历解决方案中的所有项目并使用正确的参数调用 dotnet pack。还是谢谢了,很有用!
  • 你可以在你的所有 csproj 中包含一个 props 文件,但不幸的是,它还需要修改所有这些文件。
  • 真的。实际上我确实试了一下,因为我的powershell遇到了另一个问题。使用您的方法,我遇到了同样的问题,如下所述:stackoverflow.com/questions/62803055/…
【解决方案2】:

请在 packagesToPack 中查看更多内容:'${{parameters.solutionPath}}' 根据我的经验,我们通常只用一个“{}”来编写这些命令 尝试这样做: packagesToPack: '${parameters.solutionPath}' 看看能不能解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 2021-12-29
    • 1970-01-01
    • 2020-04-23
    相关资源
    最近更新 更多