【问题标题】:How can i create placeholders in NuSpec file and Replace them via TeamCity parameters如何在 NuSpec 文件中创建占位符并通过 TeamCity 参数替换它们
【发布时间】:2015-07-02 19:26:08
【问题描述】:

我正在尝试在 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 在构建期间崩溃,我无法识别这些值。

我尝试将@更改为$,但没有成功。

【问题讨论】:

    标签: c# teamcity nuget-package


    【解决方案1】:

    NuSpec 文件中的一些替换标记是在打包时从程序集中提取的。

    为了提供要替换的额外标记值,您可以使用-Properties 开关,但您必须在 NuSpec 文件中使用 $token$ 语法,而不是 @token@

    例如

    nuget pack -Properties "Environment=DEV;Something=Else"
    

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

    希望对你有帮助

    更新

    如果您添加 NuGet Pack 构建步骤和高级选项,您应该会看到一个输入字段以在 TeamCity 中输入属性

    或者您可以使用命令行参数字段并使用语法-Properties "Environment=DEV;Something=Else"在那里输入它们

    【讨论】:

    • 非常感谢您的回答。如何在 TeamCity 中使用属性开关?
    • 我为此添加了截图。
    猜你喜欢
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 2015-05-29
    • 2018-07-27
    相关资源
    最近更新 更多