2013-10-31 69 views
1

我們使用nugetter將nupkg作爲構建過程的一部分,用於解決方案,該解決方案僅偶爾構建,我們希望在未來分發。我們也想在我們擁有的其他解決方案中使用這個包。到目前爲止,我已經能夠生成一個我們可以安裝的包。現在,我想確保此包在每次構建時更新其版本,以便我們可以輕鬆更新包。我在考慮使用內部版本號是一個很好的方法來做到這一點,但如果我不必開始編寫一個PowerShell腳本來更新軟件包的nuspec,我會願意使用任何增量方案每一個構建。如何使用nugetter使用內部版本號設置nuget軟件包版本

有沒有辦法在nugetter中自動做到這一點?

如果沒有,是否有更容易比使用powershell修改nuspec更容易?

回答

0

我們正在嘗試做同樣的事情。 NuGetter附帶一個建立在TfsVersioning之上的構建過程模板。你是否已經使用了?如果是這樣,你所要做的就是爲你的NuGet包ID添加一個特殊元素到VersionSeed.xml文件。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<VersionSeed> 
    <Solution name="Your Solution Name"> 
    <!-- This is the pattern used to replace the AssemblyVersion value. --> 
    <AssemblyFileVersionPattern>1.0.J.B</AssemblyFileVersionPattern> 
    <!-- This is the pattern used to replace the AssemblyVersion value. --> 
    <AssemblyVersionPattern>1.0.0.0</AssemblyVersionPattern> 
    </Solution> 
    <NuGetPackage id="Your NuGet Package ID"> 
    <!-- This is the pattern used to replace the version attribute in the NuSpec file. --> 
    <VersionPattern>1.0.J.B</VersionPattern> 
    </NuGetPackage> 
</VersionSeed> 

這不是一個很好的文檔NuGetter功能,但它在他們的幫助文件的某個地方。

另外,您還必須在NuSpec文件中設置<version>屬性。目前,我強制它爲0.0.0.0,因爲無論如何它被構建過程覆蓋。完全刪除<version>元素似乎總是導致崩潰。

相關問題