替换标记'description'没有价值

时间:2013-02-20 14:27:21

标签: c# .net nuget

尝试通过NuGet.exe从项目(* .csproj)创建和发布NuGet包,我收到以下警告:

  

替换令牌'description'没有价值。

我怎样摆脱这个警告?

6 个答案:

答案 0 :(得分:36)

使用NuGet在打包之前未构建Visual Studio项目时,会出现此警告。只需重建您的项目并重新打包。

  1. 转到构建,然后重建
  2. 从命令提示符:nuget pack your-project.csproj
  3. 然后它应该工作。

    注意this behavior was filed as an issue in CodePlex

    注意:根据Boris Callens的回复,可以使用-Build让NuGet进行构建

答案 1 :(得分:26)

确保在调用nuget.exe pack * .csproj时,在您的目标项目的Properties \ AssemblyInfo.cs文件中定义了程序集说明。

[assembly: AssemblyDescription("Here goes the NuSpec $description$ token.")]

另请查看有关令牌化NuGet清单的NuGet文档以获取更多信息:http://docs.nuget.org/docs/reference/nuspec-reference#Replacement_Tokens

答案 2 :(得分:5)

$描述$值由AssemblyIncription.cs中的AssemblyDescription值替换。 但是,在创建包之前,需要构建项目。要让nuget为您执行此操作,您可以使用-build标志

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

答案 3 :(得分:5)

我在"替换令牌'作者'没有价值"。 我使用 nuget pack projectfilename.csproj -Build ,问题解决了,希望有所帮助

答案 4 :(得分:1)

我的构建特定于x86或x64,它将dll放在不同的bin子目录中。期望dll位于“Any CPU”的默认目录中。我不确定你是否可以改变它看起来的位置,但我只是将我的版本更改为任何CPU以便它可以工作。

答案 5 :(得分:1)

另外,请确保传递projectName。 csproj 文件,而不是projectName。 nuspec 文件。这是核心方式:

nuget pack projectName.csproj