如何在nuspec
nuget pack
文件中的相关性版本的问题
<?xml version="1.0"?>
<package >
<metadata>
<id>MyPacked.Name</id>
<version>1.1.1</version>
<authors>Pawel Cioch</authors>
<owners>Pawel Cioch</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Some Cool package</description>
<releaseNotes>Initial Release</releaseNotes>
<copyright>Copyright 2015</copyright>
<tags>replace dependency version</tags>
<dependencies>
<dependency id="dep1" version="I want version here to be same as package version" />
<dependency id="dep2" version="2.1.3" />
</dependencies>
</metadata>
</package>
请不要问&#34;为什么需要它&#34;
也很抱歉,如果这个问题不明确,但是因为我通过尝试/失败解决了所有问题,现在一切都很明显,所以&#34;我不知道怎么问&#34;
答案 0 :(得分:3)
可以使用-Version开关
简单地更改<version>
标记
nuget pack -Version 2.0.0
nuget文档很少提及替换代币 https://docs.nuget.org/create/nuspec-reference#replacement-tokens
我们可以做的是使用自定义令牌/标签
...
<version>$myVersion$</version>
...
<dependencies>
<dependency id="dep1" version="$myVersion$" />
现在如何替换它,现在不需要切换-Version,但我们必须使用-Properties switch
nuget pack -Prop myVersion=3.0.0
一些更高级的命令
nuget pack My.ProjName\My.ProjName.csproj -Build -Prop Configuration=Release;myVersion=3.0.0 -OutputDirectory SomeDirHere
为了与powershell(示例)很好地配合,如果对多个属性使用分号,则必须将-Prop值换成双引号
$userVersion = Read-Host 'Enter a valid version you want to use'
nuget pack .\My.ProjName\My.ProjName.csproj -Build -Prop "Configuration=Release;myVersion=$userVersion" -OutputDirectory SomeDirHere
注意:使用nuget预定义的$version$
令牌会产生依赖性,但版本将从 AssemblyInfo.cs 获得,上面的想法是每次通过命令行显式设置版本
我希望有人会发现它有用且节省时间