[英]specify nuget package version conditionally
假設我正在處理一個功能(C#項目),該功能已關閉,即尚未准備好發布。
我的項目依賴於nuget的組件,這也是我維護的。
我的功能需要更改組件以及消耗的項目。
我需要發布中間版本,並且我不希望分支。
在我的項目中,我可以關閉並發送功能。 問題是:如何在功能切換的項目中使用nuget,例如,如果功能已關閉,則我使用組件的X版本,而功能打開時使用X + 1版本。
packages.config
我唯一能想到的是,對非發布環境使用不同的提要,但這可能會導致其他后勤問題。
編輯:
我的構建在CI服務器上運行,因此我需要能夠以某種方式編寫腳本。
如果您控制NuGet源,則可以使用Pre-Release功能 。
本質上,您可以通過在Nuget軟件包后綴-alpha
或-beta
對Nuget軟件包進行版本控制,然后在Visual Studio中選中NuGet軟件包供稿中“包括prelease”復選框。
對於在構建服務器上使用開關,建議您使用MSBuild / MSBuild社區任務/ MSBuild擴展包。
您可以使用MSBuild運行構建步驟,該步驟可以檢查配置文件並修改.nuspec文件。 我沒有前一陣子的手頭,但是可以使用xml / msbuild來解析xml文件並對其進行更改。 IIRC的一個大“陷阱”是您需要指定.nusepc
命名空間
<package xmlns="http://schemas.microsoft.com/packaging/2016/06/nuspec.xsd">
當您解析nuspec文件時,應該可以將<dependencies>
元素作為目標,並使用pre-release標簽為所有依賴項添加后綴。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.