gpt4 book ai didi

azure-devops - 在 Azure DevOps 构建管道中传递 NuGet 'Pack' 参数

转载 作者:行者123 更新时间:2023-12-02 16:53:53 26 4
gpt4 key购买 nike

在我的 Azure DevOps Build 管道中,我添加了 pack 命令类型(版本 2.*)的 NuGet 任务。

我正在尝试传递 -Exclude ***.tt 参数,以便在从其他项目引用时排除这些文件。但是,在生成的 NuGet 包中,这些 .tt 文件出现在 Content 文件夹中。

主机日志中写的命令是:

nuget.exe pack PROJECTNAME.csproj -NonInteractive -OutputDirectory SOME_OUTPUTPATH -Properties "Configuration=release;\"-Exclude ***.tt\"" -Verbosity Detailed

如您所见,exclude 不是属性的一部分,而应作为单独的 -Exclude 参数。

知道我该如何实现吗?非常感谢!

添加了屏幕截图和 YAML:

enter image description here

steps:
- task: NuGetCommand@2
displayName: 'NuGet pack'
inputs:
command: pack
packagesToPack: ProjectName.csproj
buildProperties: '-Exclude ***.tt'

最佳答案

当您将 -Excludenuget pack .csproj 一起使用时,您需要提供排除文件的完整路径。但是这里还有另一个问题,Azure DevOps 将 -Exclude 附加到 -Properties 并且它忽略了排除,所以我们需要添加 -Exclude换一种方式,怎么样?在 NuGet 自定义命令中:

- task: NuGetCommand@2
inputs:
command: custom
arguments: 'pack "$(Build.SourcesDirectory)\Path\To\.csproj" -Exclude "$(Build.SourcesDirectory)\Path\to\*.tt"'

这是您尝试时来自常规 -Exclude 的日志,您可以看到 nuget 打包了我的 .exe 文件:

enter image description here

这里是我创建自定义命令后的日志,没有.exe:

enter image description here

我的任务是:

- task: NuGetCommand@2
inputs:
command: custom
arguments: 'pack "$(Build.SourcesDirectory)\TestVars\TestVars\TestVars.csproj" -Exclude "$(Build.SourcesDirectory)\TestVars\TestVars\bin\Debug\*.exe"'

关于azure-devops - 在 Azure DevOps 构建管道中传递 NuGet 'Pack' 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57285576/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com