37

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

替换标记“描述”没有价值。

我怎样才能摆脱这个警告?

4

6 回答 6

37

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

  1. 转到Build然后Rebuild
  2. 从命令提示符:nuget pack your-project.csproj.

然后它应该工作。

请注意,此行为已在 CodePlex 中作为问题提交

注意:根据下面 Boris Callens 的回复,可以使用-BuildNuGet 进行构建

于 2013-02-20T14:27:21.407 回答
27

确保在调用 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

于 2013-05-31T20:01:59.533 回答
5

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

path:\to\project\nuget.exe [project.csproj] -build
于 2013-08-28T12:58:29.853 回答
5

我在“替换令牌'作者'没有价值”上有类似的问题。我使用nuget pack projectfilename.csproj -Build并解决了问题,希望对您有所帮助

于 2015-08-12T08:54:00.383 回答
1

另外,请确保您传递了您的项目名称。csproj文件而不是项目名称。nuspec文件。这是正确的方法:

nuget pack projectName.csproj
于 2014-10-20T16:37:34.863 回答
1

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

于 2013-05-31T17:39:21.157 回答