2012-08-09 72 views
8

按照documentation,預發佈版本是支持的,與給出的例子:預釋放的NuGet版本可能

Within the NuSpec file, specify the version in the element

<version>1.0.1-alpha</version> 

我從.nuspec文件建設;如果我加入這一行逐字,然後(在包管理器控制檯)運行:

PM> nuget pack "Nuget\protobuf-net.nuspec"

然後我得到一個有點胖的錯誤:

Attempting to build package from 'protobuf-net.nuspec'. 
NuGet.exe : Input string was not in a correct format. 
At line:1 char:6 
+ nuget <<<< pack "Nuget\protobuf-net.nuspec" 
    + CategoryInfo   : NotSpecified: (Input string wa...correct format.:String) [], RemoteException 
    + FullyQualifiedErrorId : NativeCommandError 

但是,如果我只是用<version>1.0.1</version>和運行完全相同的命令,然後我得到:

Attempting to build package from 'protobuf-net.nuspec'. 
Successfully created package 'C:\Dev\protobuf-net\protobuf-net.1.0.1.nupkg'. 

事實上,它已經正確構建。我的NuGet包管理器報告版本2.0.30625.9003。

所以:我做錯了什麼?還是他們打破了什麼?

+0

當您在NuGet程序包管理器控制檯之外使用nuget.exe命令行時,會發生同樣的情況嗎? – 2012-08-09 20:41:19

+0

我只是做了這個沒有任何問題與nuget 2.0.30619.9000。如果你運行'nuget help',它打印出的版本號是什麼? – vcsjones 2012-08-09 20:42:05

+0

@vsjones'NuGet版本:1.5.21005.9019' - 聽起來很奇怪......? – 2012-08-09 20:46:27

回答

3

NuGet Version: 1.5.21005.9019

語義版本控制是introduced in nuget 1.6。升級時間。您可以使用nuget update -self從命令行直接更新。

+0

是的;就如此容易; 'NuGet.CommandLine'已過時,不知何故未顯示更新。我不打算過度分析爲什麼 - 卸載並重新安裝'NuGet.CommandLine'修復它,歡呼。 – 2012-08-09 20:51:27