我正在尝试在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在构建期间崩溃,我无法识别这些值。
我尝试将@更改为$,但没有运气。
答案 0 :(得分:18)
NuSpec文件中的一些替换标记在打包时从组件中拉出。
为了提供要替换的其他令牌值,您可以使用bc2***********************13
b53***********************92
39f***********************bb
eb7***********************7a
80b***********************22
开关,但必须在NuSpec文件中使用 $ token $ 语法,而不是@令牌@
e.g。
-Properties
更多细节可以在这里找到 - NuSpec documentation
希望这有帮助
<强>更新强>
如果您添加NuGet Pack构建步骤以及高级选项的方式,您应该看到输入字段以在TeamCity中输入属性
或者您可以使用命令行参数字段并使用语法nuget pack -Properties "Environment=DEV;Something=Else"