Errore NuGet NU1019

Scenario

Il progetto 'MyProject' contiene un TargetFramework 'net10.0/benchmark' con caratteri non consentiti. I nomi targetFramework devono contenere solo caratteri ASCII e non devono contenere separatori di percorso.

Issue

Il file di progetto ha un TargetFramework valore o TargetFrameworks che contiene caratteri non consentiti. NuGet non consente i caratteri seguenti nei nomi dei framework di destinazione:

  • Separatori di percorso (/ o \): questi caratteri interrompono il formato di file degli asset e non sono sempre consentiti.
  • Caratteri non ASCII: i nomi del framework di destinazione devono contenere solo caratteri ASCII (caratteri con un valore pari o inferiore a 127).

Questa convalida viene controllata dietro la SdkAnalysisLevel proprietà :

  • Livello di analisi SDK 10.0.300 o versione successiva: i separatori di percorso nei nomi dei framework di destinazione generano un errore. I caratteri non ASCII generano un avviso.
  • Livello di analisi SDK 11.0.100 o versione successiva: entrambi i separatori di percorso e i caratteri non ASCII generano un errore.

Soluzione

Rinominare i valori del framework di destinazione nel file di progetto in modo da usare solo caratteri ASCII e rimuovere eventuali separatori di percorso.

Ad esempio, modificare:

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

Per un nome di framework di destinazione valido:

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