Nuget pack 如何通过命令行 set/change 依赖版本
Nuget pack how to set/change dependency version via command line
如何在 nuget pack
期间动态更改 nuspec
文件中的依赖版本的问题
<?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>
请不要问"why do you need it"
如果问题不明确,我也很抱歉,但由于我通过 try/fail 解决了它,现在一切似乎都很明显所以 "I don't know how to ask"
只需使用 -Version 开关即可更改 <version>
标签:
nuget pack -Version 2.0.0
您也可以使用 Replacement Tokens。我们可以做的是像这样使用自定义 token/tag:
...
<version>$myVersion$</version>
...
<dependencies>
<dependency id="dep1" version="$myVersion$" />
现在要替换此标记,-Version 开关不会执行。我们必须改用 -Properties 开关:
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 获得,而上面的想法是设置通过命令行明确显示版本。
我希望有人会发现它有用并且节省时间。
如何在 nuget pack
nuspec
文件中的依赖版本的问题
<?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>
请不要问"why do you need it"
如果问题不明确,我也很抱歉,但由于我通过 try/fail 解决了它,现在一切似乎都很明显所以 "I don't know how to ask"
只需使用 -Version 开关即可更改 <version>
标签:
nuget pack -Version 2.0.0
您也可以使用 Replacement Tokens。我们可以做的是像这样使用自定义 token/tag:
...
<version>$myVersion$</version>
...
<dependencies>
<dependency id="dep1" version="$myVersion$" />
现在要替换此标记,-Version 开关不会执行。我们必须改用 -Properties 开关:
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 获得,而上面的想法是设置通过命令行明确显示版本。
我希望有人会发现它有用并且节省时间。