2012-08-09 69 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