NuGet Error NU1019

Escenario

El proyecto "MyProject" contiene un targetFramework "net10.0/benchmark" con caracteres no permitidos. Los nombres targetFramework deben contener solo caracteres ASCII y no deben contener separadores de ruta de acceso.

Cuestión

El archivo del proyecto tiene un TargetFramework valor o TargetFrameworks que contiene caracteres no permitidos. NuGet no permite los siguientes caracteres en los nombres de marco de destino:

  • Separadores de ruta de acceso (/ o \): estos caracteres interrumpen el formato de archivo de recursos y siempre no se permiten.
  • Caracteres no ASCII: los nombres de marco de destino deben contener solo caracteres ASCII (caracteres con un valor de 127 o menos).

Esta validación está controlada detrás de la SdkAnalysisLevel propiedad :

  • Nivel de análisis del SDK 10.0.300 o posterior: los separadores de ruta de acceso en los nombres de marco de destino generan un error. Los caracteres que no son ASCII generan una advertencia.
  • Nivel de análisis del SDK 11.0.100 o posterior: los separadores de ruta de acceso y los caracteres que no son ASCII generan un error.

Solución

Cambie el nombre de los valores de la plataforma de destino del archivo del proyecto para usar solo caracteres ASCII y quite los separadores de ruta de acceso.

Por ejemplo, cambie:

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

Para un nombre de marco de destino válido:

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