2014-04-14 50 views
4

这是在试图打包在Visual Studio 2013的一个项目,我得到了错误:NuGet Pack .nuspec文件返回“替换令牌'版本'没有值。”

PM> NuGet Pack C:\ITVizion\RTVizion\ITVizion.RTVizion.Service\ITVizion.RTVizion.Service.nuspec -Prop Configuration=Release 
Attempting to build package from 'ITVizion.RTVizion.Service.nuspec'. 
NuGet : The replacement token 'version' has no value. 
At line:1 char:1 
+ NuGet Pack C:\ITVizion\RTVizion\ITVizion.RTVizion.Service\ITVizion.RTVizion.Serv ... 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (The replacement...' has no value.:String) [], RemoteException 
    + FullyQualifiedErrorId : NativeCommandError 

这有什么错呢?

回答

5

我发现这个问题:

enter image description here

确保您填写您的项目Assembly Information页。

您可以在Visual Studio Solution Explorer中右键单击您的项目来访问它。选择Application tab => Assembly Information...按钮。

3

如果其他人有类似的错误信息,并且发现错误信息不会消失,即使信息确实在组件信息中指定,我也找到了一个修复方案。我没有在其他人的答案中看到这一点,并且注意到这实际上与文档所说的内容相矛盾。

一旦你创建SomeProject.nuspec与各种$id$$author$等更换令牌以及任何任何自定义替代值,该文档指示您再放置SomeProject.nuspec **到同一目录SomeProject .csproj的,并运行

nuget.exe pack SomeProject.csproj -Build 

这并没有为我工作 - 我得到了没有任何价值,更换标记错误。

然而,什么没有工作对我来说是调用

nuget.exe pack -Build 
在同一目录

的nuspec和的csproj文件,没有指定哪个的csproj或nuspec文件来使用。这成功地创建了nupkg文件,其替换标记根据我在nuspec中指定的内容进行了适当的替换!

希望这些信息对其他人有用!

+0

不幸的是,这在NuGet 3.3中不起作用。我得到以下错误:NuGet.CommandLineException:请指定要使用的nuspec或项目文件。 更多的信息在这里:https://github.com/NuGet/Home/issues/1985 – Jerry

相关问题