NuGet 警告 NU5052

パッケージ ID 'PackageId' は、制限された文字セットに準拠していません。 ID には、ASCII 文字、数字、ドット ('.')、ダッシュ ('-') のみを含める必要があります。 文字または数字で始まる必要があり、連続するドットまたはダッシュを含めてはなりません。

Issue

パッケージ ID に、NuGet パッケージ ID 標準に準拠していない文字が含まれています。 有効なパッケージ ID は、次の規則に従う必要があります。

  • ASCII 文字、数字、ドット (.)、ダッシュ (-) のみを使用します。
  • 文字または数字で始めます。
  • 連続するドット (..) または連続するダッシュ (--) は含めないでください。
  • 100 文字以下にする。

この警告は、プロジェクトまたは.nuspec ファイル内のパッケージ ID がこれらの規則の 1 つ以上に違反している場合に、dotnet packまたはnuget pack中に発生します。

解決策

プロジェクト ファイル内のPackageId プロパティまたは.nuspec ファイル内の<id>要素を、使用できる文字のみを使用するように更新します。

たとえば、プロジェクト ファイルにパッケージ 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 の標準」を参照してください。