NuGet Hatası NU1019

Scenario

'MyProject' projesi, izin verilmeyen karakterler içeren bir TargetFramework 'net10.0/benchmark' içeriyor. TargetFramework adları yalnızca ASCII karakterleri içermeli ve yol ayırıcıları içermemelidir.

Sorun

Proje dosyanızda izin verilmeyen karakterler içeren bir TargetFramework veya TargetFrameworks değeri var. NuGet, hedef çerçeve adlarında aşağıdaki karakterlere izin vermez:

  • Yol ayırıcıları (/ veya \): Bu karakterler varlıkların dosya biçimini bozar ve her zaman izin verilmez.
  • ASCII olmayan karakterler: Hedef çerçeve adları yalnızca ASCII karakterleri (127 veya daha az değere sahip karakterler) içermelidir.

Bu doğrulama, özelliğin SdkAnalysisLevel arkasına geçilir:

  • SDK çözümleme düzeyi 10.0.300 veya üzeri: Hedef çerçeve adlarındaki yol ayırıcıları hataya neden olur. ASCII olmayan karakterler uyarı oluşturur.
  • SDK çözümleme düzeyi 11.0.100 veya üzeri: Hem yol ayırıcıları hem de ASCII olmayan karakterler hataya neden olur.

Çözüm

Proje dosyanızdaki hedef çerçeve değerlerini yalnızca ASCII karakterlerini kullanacak şekilde yeniden adlandırın ve yol ayırıcılarını kaldırın.

Örneğin, şunu değiştirin:

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

Geçerli bir hedef çerçeve adına:

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