NuGet Error NU1019

Skenario

Proyek 'MyProject' berisi TargetFramework 'net10.0/benchmark' dengan karakter yang tidak diizinkan. Nama TargetFramework hanya boleh berisi karakter ASCII dan tidak boleh berisi pemisah jalur.

Masalah

File proyek Anda memiliki TargetFramework nilai atau TargetFrameworks yang berisi karakter yang tidak diizinkan. NuGet tidak mengizinkan karakter berikut dalam nama kerangka kerja target:

  • Pemisah jalur (/ atau \): Karakter ini memutus format file aset dan selalu tidak diizinkan.
  • Karakter non-ASCII: Nama kerangka kerja target hanya boleh berisi karakter ASCII (karakter dengan nilai 127 atau kurang).

Validasi ini terjaga di SdkAnalysisLevel belakang properti:

  • Analisis SDK tingkat 10.0.300 atau yang lebih baru: Pemisah jalur dalam nama kerangka kerja target menimbulkan kesalahan. Karakter non-ASCII memunculkan peringatan.
  • Tingkat analisis SDK 11.0.100 atau yang lebih baru: Pemisah jalur dan karakter non-ASCII menimbulkan kesalahan.

Solusi

Ganti nama nilai kerangka kerja target dalam file proyek Anda untuk hanya menggunakan karakter ASCII dan menghapus pemisah jalur apa pun.

Misalnya, ubah:

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

Ke nama kerangka kerja target yang valid:

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