Trying to create and publish a NuGet package from a project (*.csproj) via NuGet.exe and I got the following warning:
The replacement token 'description' has no value.
How can I get rid of this warning?
This warning appear when the Visual Studio project was not built before packaging using NuGet. Just rebuild your project and repack.
nuget pack your-project.csproj.
Then it should work.
Note this behavior was filed as an issue in CodePlex.
Note: as per Boris Callen's response below, can use the
-Build to have NuGet do the build
Ensure you defined the assembly description in your Properties\AssemblyInfo.cs file for the project you are targeting when calling nuget.exe pack *.csproj.
[assembly: AssemblyDescription("Here goes the NuSpec $description$ token.")]
Also check the NuGet docs on tokenized NuGet manifests for more info: http://docs.nuget.org/docs/reference/nuspec-reference#Replacement_Tokens
I have similar problem on "The replacement token 'author' has no value". I use nuget pack projectfilename.csproj -Build and problem is solved, hope it helps
The $description$ value is replaced by AssemblyDescription's value in AssemblyInfo.cs. The project needs to be built before creating the package however. To have nuget do this for you you can use the -build flag
path:\to\project\nuget.exe [project.csproj] -build
My builds are specific to x86 or x64 which puts the dlls in different bin subdirectories. It is expecting the dll to be in the default directory which is for "Any CPU". I'm not sure if you can change where it looks, but I just changed my release to Any CPU so that it would work.
Also, make sure you pass your projectName.csproj file and NOT the projectName.nuspec file. This is the corect way:
nuget pack projectName.csproj