Błąd narzędzia NuGet NU1019

Scenario

Projekt "MyProject" zawiera element TargetFramework "net10.0/benchmark" z niedozwolonymi znakami. Nazwy elementu TargetFramework muszą zawierać tylko znaki ASCII i nie mogą zawierać separatorów ścieżek.

Problematyka

Plik projektu ma wartość lub TargetFramework zawierającą TargetFrameworks niedozwolone znaki. Pakiet NuGet nie zezwala na następujące znaki w nazwach platform docelowych:

  • Separatory ścieżek (/ lub \): te znaki przerywają format pliku zasobów i są zawsze niedozwolone.
  • Znaki inne niż ASCII: Nazwy platform docelowych muszą zawierać tylko znaki ASCII (znaki o wartości 127 lub mniejszej).

Ta walidacja jest ustawiona za właściwością SdkAnalysisLevel :

  • Poziom analizy zestawu SDK 10.0.300 lub nowszy: separatory ścieżek w nazwach platform docelowych zgłaszają błąd. Znaki inne niż ASCII zgłaszają ostrzeżenie.
  • Poziom analizy zestawu SDK 11.0.100 lub nowszy: oba separatory ścieżek i znaki inne niż ASCII zgłaszają błąd.

Rozwiązanie

Zmień nazwę wartości platformy docelowej w pliku projektu, aby używać tylko znaków ASCII i usunąć wszystkie separatory ścieżek.

Na przykład zmień:

<PropertyGroup>
  <TargetFramework>net10.0/benchmark</TargetFramework>
</PropertyGroup>

Prawidłowa nazwa platformy docelowej:

<PropertyGroup>
  <TargetFramework>net10.0-benchmark</TargetFramework>
</PropertyGroup>