NuGet 警告 NU5052

包 ID“PackageId”不符合受限制的字符集。 ID 只能包含 ASCII 字母、数字、点('.')和短划线('-')。 它必须以字母或数字开头,并且不能包含连续的点或短划线。

Issue

程序包 ID 包含不符合 NuGet 包 ID 标准的字符。 有效的包 ID 必须遵循以下规则:

  • 仅使用 ASCII 字母、数字、点和.短划线(-)。
  • 以字母或数字开头。
  • 不要包含连续点(..)或连续短划线(--)。
  • 长度为 100 个字符或更少。

在项目或.nuspec文件中的包 ID 违反其中一个或多个规则期间dotnet packnuget pack何时引发此警告。

解决方案

PackageId更新项目文件中的属性或文件中的<id>元素.nuspec以仅使用允许的字符。

例如,如果项目文件在包 ID 中包含非 ASCII 字符:

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

将其更改为仅使用 ASCII 字符的有效 ID:

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

如果使用 .nuspec 文件,请更新 <id> 元素:

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

有关包 ID 限制的详细信息,请参阅 NuGet 包 ID 标准