替换标记“description”没有值。

37

我试图通过NuGet.exe从一个项目(*.csproj)创建和发布NuGet包,但是出现了以下警告:

替换标记“description”没有值。

我该如何消除这个警告?

6个回答

37
这个警告出现在使用NuGet打包之前,Visual Studio项目没有被构建。只需重新构建项目并重新打包即可。
  1. 转到生成,然后选择重新生成
  2. 从命令提示符输入:nuget pack your-project.csproj
然后它应该可以工作了。
注意:此行为已被记录为CodePlex中的问题注意:根据Boris Callens的下方回复,可以使用 -Build 让NuGet进行构建。

2
我遇到了这个问题,重建操作没有成功,因为我正在建立“调试(debug)”版本,而打包却是“发布(release)”版本... - Menahem
2
我的问题与这个有关: https://nuget.codeplex.com/discussions/262324它默认为Debug配置,以下命令解决了我的问题: NuGet.exe pack Foo.csproj -Prop Configuration=Release - Daniel Lobo

27

3
太好了!这真正回答了这个问题。同时,为了参考,您还可以添加关于$version$的帖子 - 链接如下:http://www.xavierdecoster.com/post/2012/04/26/nuget-version-token-explained - Sudhanshu Mishra

5
我在“替换标记'author'没有值”的问题上遇到了类似的问题。我使用 nuget pack projectfilename.csproj -Build 进行操作后,问题得到解决,希望对您有帮助。

5

$description$ 这个值在 AssemblyInfo.cs 的 AssemblyDescription 中得到替换。 然而,在创建包之前需要构建项目。为了让 NuGet 为你自动构建项目,你可以使用 -build 标志。

path:\to\project\nuget.exe [project.csproj] -build

1
此外,请确保传递你的projectName.csproj文件而不是projectName.nuspec文件。这是正确的方式:
nuget pack projectName.csproj

1
我的构建是针对x86或x64特定的,这将把dll放在不同的bin子目录中。 它期望dll在默认目录中,该目录适用于“任何CPU”。 我不确定是否可以更改它的查找位置,但我只是将我的发布更改为“任何CPU”,以便它可以正常工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接