尝试通过NuGet.exe从项目(* .csproj)创建和发布NuGet包,我收到以下警告:
替换令牌'description'没有价值。
我怎样摆脱这个警告?
答案 0 :(得分:36)
使用NuGet在打包之前未构建Visual Studio项目时,会出现此警告。只需重建您的项目并重新打包。
nuget pack your-project.csproj
。然后它应该工作。
注意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