Предупреждение NuGet NU5052

Идентификатор пакета PackageId не соответствует ограниченному набору символов. Идентификатор должен содержать только буквы ASCII, цифры, точки ('.) и дефисы ('-). Он должен начинаться с буквы или цифры, и не должен содержать последовательные точки или дефисы.

Issue

Идентификатор пакета содержит символы, которые не соответствуют стандартам идентификатора пакета NuGet. Допустимые идентификаторы пакетов должны соответствовать этим правилам:

  • Используйте только буквы ASCII, цифры, точки (.) и дефисы (-).
  • Начните с буквы или цифры.
  • Не содержать последовательных точек (..) или последовательных дефисов (--).
  • 100 символов или меньше.

Это предупреждение возникает во время или nuget pack когда dotnet pack идентификатор пакета в проекте или .nuspec файле нарушает одно или несколько этих правил.

Решение

PackageId Обновите свойство в файле проекта или <id> элементе в .nuspec файле, чтобы использовать только разрешенные символы.

Например, если файл проекта содержит символ, отличный от ASCII, в идентификаторе пакета:

<PropertyGroup>
  <PackageId>Müller.Package</PackageId>
</PropertyGroup>

Измените его на допустимый идентификатор, использующий только символы ASCII:

<PropertyGroup>
  <PackageId>Mueller.Package</PackageId>
</PropertyGroup>

Если вы используете .nuspec файл, обновите <id> элемент:

<package>
  <metadata>
    <id>My.Valid-Package</id>
  </metadata>
</package>

Дополнительные сведения об ограничениях идентификатора пакета см. в разделе "Стандарты идентификатора пакета NuGet".