Символ замены "описание" не имеет значения

Попытка создать и опубликовать пакет NuGet из проекта (*.csproj) через NuGet.exe, и я получил следующее предупреждение:

Символы замены "описание" не имеют значения.

Как я могу избавиться от этого предупреждения?

Ответ 1

Это предупреждение появляется, если проект Visual Studio не был создан перед упаковкой с использованием NuGet. Просто перестройте свой проект и переупакуйте.

  • Перейдите в Создать, затем Перестроить.
  • Из командной строки: nuget pack your-project.csproj.

Тогда это должно сработать.

Примечание это поведение было зарегистрировано как проблема в CodePlex.

Примечание: согласно ответу Бориса Калленса ниже, можно использовать -Build, чтобы NuGet выполнил сборку

Ответ 2

Убедитесь, что вы определили описание сборки в файле Properties\AssemblyInfo.cs для проекта, на который настроен таргетинг при вызове пакета nuget.exe *.csproj.

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

Также проверьте документы NuGet на токенизированных манифестах NuGet для получения дополнительной информации: http://docs.nuget.org/docs/reference/nuspec-reference#Replacement_Tokens

Ответ 3

Значение $description $заменяется значением AssemblyDescription в AssemblyInfo.cs. Однако проект необходимо создать, прежде чем создавать пакет. Чтобы nuget сделал это для вас, вы можете использовать флаг -build

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

Ответ 4

У меня есть аналогичная проблема на "Атрибут замены токена" автор "не имеет значения". Я использую пакет nuget projectfilename.csproj -Build, и проблема решена, надеюсь, что это поможет

Ответ 5

Мои сборки специфичны для x86 или x64, которые помещают DLL в разные подкаталоги bin. Ожидается, что dll будет в каталоге по умолчанию для "Any CPU". Я не уверен, что вы можете изменить, где он выглядит, но я просто изменил свой выпуск на любой CPU, чтобы он работал.

Ответ 6

Кроме того, убедитесь, что вы передали свое имя проекта. csproj, а НЕ имя проекта. nuspec. Это ключевой способ:

nuget pack projectName.csproj