如何在NuSpec文件中创建占位符并通过TeamCity参数替换它们

时间:2015-07-02 10:03:30

标签: c# teamcity nuget-package

我正在尝试在Nuspec中创建PlaceHolders并通过TeamCity参数替换它们,但teamcity无法识别它们。 这是我的NuSpec文件元数据

<metadata>
    <id>Id.@environment@</id>
    <title>Title.@environment@</title>
    <version>1.0.0</version>
    <authors>Charles Taylor</authors>
    <owners>Charles Taylor</owners>
    <licenseUrl>http://www.ctcplc.com</licenseUrl>
    <projectUrl>http://www.ctcplc.com</projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Currency Request</description>
    <releaseNotes></releaseNotes>
</metadata>

我在TeamCity中有一个环境变量。 Team City在构建期间崩溃,我无法识别这些值。

我尝试将@更改为$,但没有运气。

1 个答案:

答案 0 :(得分:18)

NuSpec文件中的一些替换标记在打包时从组件中拉出。

为了提供要替换的其他令牌值,您可以使用bc2***********************13 b53***********************92 39f***********************bb eb7***********************7a 80b***********************22 开关,但必须在NuSpec文件中使用 $ token $ 语法,而不是@令牌@

e.g。

-Properties

更多细节可以在这里找到 - NuSpec documentation

希望这有帮助

<强>更新

如果您添加NuGet Pack构建步骤以及高级选项的方式,您应该看到输入字段以在TeamCity中输入属性

enter image description here

或者您可以使用命令行参数字段并使用语法nuget pack -Properties "Environment=DEV;Something=Else"

在其中输入