我正在尝试创建一个 NuGet 预发布包。这是我的 NuSpec 文件:
<?xml version="1.0"?>
<package >
<metadata>
<id>xxx.Web.Mvc</id>
<version>1.0.3-prelrelease1</version>
<authors>xxx</authors>
<owners>xxx</owners>
<projectUrl>https://xxx</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>xxxx.</description>
<releaseNotes>NuGet package.</releaseNotes>
<copyright>Copyright 2013 xxx</copyright>
<tags>asmx xxx</tags>
<dependencies>
<dependency id="Microsoft.AspNet.Mvc" version="4.0.30506.0" />
<dependency id="Microsoft.AspNet.Razor" version="2.0.30506.0" />
<dependency id="Microsoft.AspNet.WebPages" version="2.0.30506.0" />
<dependency id="Microsoft.Web.Infrastructure" version="1.0.0.0" />
<dependency id="xxx" version="1.0.6" />
</dependencies>
</metadata>
</package>
注意我在预发布版本中使用SemVer机制。
但是,当我使用以下方法构建我的包时:
PM> nuget pack Package.nuspec
我得到:
nuget : Input string was not in a correct format.
At line:1 char:1
+ nuget pack Package.nuspec
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (Input string wa...correct format.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
这直接是指我在版本字符串中有字母字符。
我正在使用 NuGet 2.2/VS2012。
为什么我的版本字符串没有被识别?
更新
我已将文件缩减为:
<?xml version="1.0"?> <package > <metadata>
<id>xxx</id>
<version>1.0.3-test1</version>
<authors>xxx</authors>
<owners>xxx</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>xxx</description> </metadata> </package>
和文件~\content
夹中的一个文件:
- ~\content\New Journal Document.jnt
(我第一次看到 Windows 日记本。以为我会尝试制作一个简单的文件。:/)