Ошибка NuGet NU1105

Сценарий 1

Не удается прочитать сведения о проекте для ProjectFile. Файл проекта может быть недопустимым или отсутствующим целевым объектам, необходимым для восстановления.

Проблема

Файл проекта существует, но для него не указана информация о восстановлении. Убедитесь, что вы открываете проект с новой системой проекта или устаревшей системой проекта.

Решение

Командная строка

В командной строке это может означать, что файл поврежден или не NuGet.targets импортирован. Для импорта NuGet.targetsобычно рекомендуется импортировать .Microsoft.Common.targets Чтобы восстановить проекты в решении с помощью .NET CLI , используйте:

dotnet restore MySolution.sln

Visual Studio

В Visual Studio ошибка может означать, что целевые объекты не импортируются аналогично сценарию командной строки.

Ошибка также может означать, что проект выгружается.

  • Если вы используете Visual Studio 2019 или более поздней версии, NuGet может повторно использовать артефакты из предыдущего восстановления для выгруженных проектов. Чтобы этот сценарий работал, необходимо убедиться, что все проекты в настоящее время в решении восстановлены из командной строки перед загрузкой их в Visual Studio.

  • Кроме того, перезагрузите проект.

Сценарий 2

Недопустимая целевая платформа "net.6.0"

Проблема

Файл проекта существует, но указывает недопустимую целевую платформу: 'net.6.0' Это может произойти из-за опечатки или использования неподдерживаемого формата.

Решение

Обновите файл проекта, чтобы использовать допустимую целевую платформу. В этом случае замените 'net.6.0''net6.0' на (без дополнительной точки). Полный список поддерживаемых платформ и их правильных форматов см. в документации по .NET Target Framework .

Сценарий 3

Не удается найти сведения о проекте для ProjectFile. Если вы используете Visual Studio, это может быть связано с выгрузкой проекта или не частью текущего решения, чтобы выполнить восстановление из командной строки. В противном случае файл проекта может быть недопустимым или отсутствующим целевым объектам, необходимым для восстановления.

Проблема

Проект ссылается на другой проект (например, через a <ProjectReference>), который не включен в текущее решение. NuGet не может найти сведения о восстановлении для указанного проекта, так как он не загружается в составе решения.

Решение

Командная строка

Запустите восстановление из командной строки, нацелив файл решения или файл проекта напрямую:

dotnet restore MySolution.sln

Выполнение восстановления из командной строки работает даже при загрузке не всех проектов, так как оно считывает файлы проекта напрямую, а не зависит от состояния загрузки решения.

Visual Studio

  • Добавьте отсутствующий проект в текущее решение, а затем перезагрузите решение или снова запустите восстановление.
  • Если вы намеренно исключите проект из решения, выполните восстановление командной строки для решения один раз, прежде чем полагаться на встроенное восстановление Visual Studio. Visual Studio затем можно повторно использовать артефакты восстановления для исключенного проекта.