[英]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.