NuGet 警告 NU5052

套件 ID 'PackageId' 不符合受限字元集合。 ID 必須只包含 ASCII 字母、數字、點('.')和破折號('-')。 它必須以字母或數字開頭,且不得包含連續的點或破折。

Issue

你的套件 ID 包含不符合 NuGet 套件 ID 標準的字元。 有效的套件識別碼必須遵守以下規則:

  • 只使用ASCII字母、數字、點().和破折號(-)。
  • 從字母或數字開始。
  • 不要包含連續的點(..)或連續的破折號(--)。
  • 字元數不超過100字。

此警告會在您的專案或.nuspec檔案中的nuget packdotnet pack套件 ID 違反一項或多項規則時發出。

Solution

更新 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 標準