Ostrzeżenie narzędzia NuGet NU5052

Identyfikator pakietu "PackageId" nie jest zgodny z ograniczonym zestawem znaków. Identyfikator musi zawierać tylko litery ASCII, cyfry, kropki ('.') i kreski ('-'). Musi zaczynać się od litery lub cyfry i nie może zawierać kolejnych kropek ani kreski.

Issue

Identyfikator pakietu zawiera znaki, które nie są zgodne ze standardami identyfikatora pakietu NuGet. Prawidłowe identyfikatory pakietów muszą być zgodne z następującymi regułami:

  • Używaj tylko liter ASCII, cyfr, kropek (.) i kreski (-).
  • Zacznij od litery lub cyfry.
  • Nie zawierają kolejnych kropek (..) ani kolejnych kreski (--).
  • Może mieć maksymalnie 100 znaków.

To ostrzeżenie jest zgłaszane podczas dotnet pack lub nuget pack gdy identyfikator pakietu w projekcie lub .nuspec pliku narusza co najmniej jedną z tych reguł.

Rozwiązanie

PackageId Zaktualizuj właściwość w pliku projektu lub <id> element w .nuspec pliku, aby używać tylko dozwolonych znaków.

Jeśli na przykład plik projektu zawiera znak inny niż ASCII w identyfikatorze pakietu:

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

Zmień go na prawidłowy identyfikator, który używa tylko znaków ASCII:

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

Jeśli używasz .nuspec pliku, zaktualizuj <id> element:

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

Aby uzyskać więcej informacji na temat ograniczeń identyfikatora pakietu, zobacz Standardy identyfikatorów pakietów NuGet.