gpt4 book ai didi

tfsbuild - 使用 dotnet pack 将变量传递给 nuspec

转载 作者:行者123 更新时间:2023-12-03 23:12:59 24 4
gpt4 key购买 nike

使用 dotnet pack 时,如何将变量传递给我的 nuspec 文件?

我正在尝试通过版本。这是nuspec:

<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<!-- Required elements-->
<id>1</id>
<version>$PackageVersion$</version>
<description>1</description>
<authors>1</authors>
</metadata>
</package>

这是我的命令:

dotnet.exe pack /p:NuspecFile=./App.Nuspec /p:PackageVersion=9.7.28170



我收到错误:
值不能为 null 或空字符串。

有趣的是,如果我将变量更改为描述:
<version>1.1.0</version>
<description>$PackageVersion$</description>

我收到错误:需要描述。

当标签是描述时,标签名称在错误消息中。但是,当标签是 version 时,错误消息中没有标签名称 - 只有术语值。两者都是必填字段。

我在本地机器上使用命令行执行此操作,但 TFS 构建给出了相同的错误。这是该步骤的附加构建属性的 TFS 工具提示。
指定以分号分隔的 token = 值对列表,其中 .nuspec 文件中每次出现的 $token$ 都将替换为给定的值。值可以是引号中的字符串。

听起来我正在遵守这些规则。这是 TFS 生成的内容:

"C:\Program Files\dotnet\dotnet.exe" pack D:\Agent_work\5\s\MyProject\MyProject.csproj --output D:\Agent_work\5\a /p:NuspecFile=App.nuspec /p:PackageVersion=9.7.28170 --verbosity Normal



和我的命令一样。

我究竟做错了什么?

最佳答案

csproj 文件充当传递。变量需要设置如下:

<NuspecFile>App.nuspec</NuspecFile>
<NuspecProperties>version=$(PackageVersion)</NuspecProperties>

命令是:

dotnet.exe pack /p:PackageVersion=9.7.28170



这将使用 proj 文件中的 Nuspec 文件,并将 PackageVersion 变量传递给 .nuspec 文件的版本标记。

关于tfsbuild - 使用 dotnet pack 将变量传递给 nuspec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53485362/

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