Ошибка NuGet NU1019

Сценарий

Проект MyProject содержит targetFramework "net10.0/benchmark" с запрещенными символами. Имена TargetFramework должны содержать только символы ASCII и не должны содержать разделители путей.

Проблема

Файл проекта имеет TargetFramework или TargetFrameworks значение, содержащее запрещенные символы. NuGet не разрешает следующие символы в именах целевых платформ:

  • Разделители путей (/ или \): эти символы нарушают формат файла ресурсов и всегда запрещены.
  • Символы, отличные от ASCII: имена целевой платформы должны содержать только символы ASCII (символы со значением 127 или меньше).

Эта проверка находится за свойством SdkAnalysisLevel :

  • Уровень анализа пакета SDK 10.0.300 или более поздней версии: разделители путей в именах целевых платформ вызывают ошибку. Символы, отличные от ASCII, вызывают предупреждение.
  • Уровень анализа пакета SDK 11.0.100 или более поздней версии: оба разделителя пути и символы, отличные от ASCII, вызывают ошибку.

Решение

Переименуйте значения целевой платформы в файле проекта, чтобы использовать только символы ASCII и удалить все разделители путей.

Например, измените:

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

Для допустимого имени целевой платформы:

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