繁体   English   中英

设置Nuget软件包版本

[英]Setting Nuget package version

我正在使用VS2015,并从我拥有的某些C#项目中生成了一个Nuget包。

我将以下行用作我的帖子构建步骤:

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

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

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

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

如果环顾四周,您很可能会发现已经完成的任务可以完成您想要的(或大部分)工作。 快速搜索启用了此功能https://msdn.microsoft.com/en-us/library/ms164299.aspx

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

因此,要获取您的DLL / exe之一的assemblyinfo,您可以执行以下操作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM