配置Nuget包版本

本文关键字:版本 Nuget 包版本 配置 | 更新日期: 2023-09-27 18:02:46

我正在使用VS2015,我正在从一些c#项目中生成Nuget包。

我使用这一行作为我的post构建步骤:

nuget.exe pack $(ProjectDir)myproj.csproj -Version 0.1.0 -OutputDirectory $(SolutionDir)

一切都很好,但我想从外部txt文件(类似version.txt)传递版本号。使用构建号作为最后一个版本整数将是一个加号

配置Nuget包版本

您首先需要在单独的步骤中获取版本(nuget没有为版本号加载文件的概念)

因此,要获取某个dll/exe的汇编信息,您可以这样做:

for /F "tokens=4" %%F in ('filever.exe /B /A /D bin'debug'myproj.dll')    
do (
  set VERSION=%%F
)

您可以通过执行以下操作类似地从文本文件中获取版本:

for /f "tokens=1" %%F in (version.txt) do set VERSION=%%F

你可以写一个MSBuild任务来读取文件,然后用适当的参数调用nuget可执行文件。

集成自定义MSbuild任务很容易,只需手动编辑csproj文件,而不是使用visualStudio的属性编辑器。构建后的步骤实际上只是一个MSBuild任务,编辑器在其中填充您在那里编写的命令。

如果你环顾四周,你很可能会发现已经完成了你想做的(或大部分)任务。快速搜索就找到了这个https://msdn.microsoft.com/en-us/library/ms164299.aspx