Пакет 'GuerrillaSharp 1.0.0' был восстановлен с использованием '.NETFramework, Version = v4.6.1' вместо целевой платформы проекта - PullRequest
0 голосов
/ 06 июня 2019

Я пытаюсь понять, почему происходит предупреждение.

Steps

  1. Открыть Visual Studio 2019
  2. Создание новой библиотеки классов .NET Core. Это создано с целевой платформой .NET Core 2.1.
  3. Добавить пакет nuget GuerrillaSharp
  4. Сборка проекта

Ожидаемый результат

Нет проблем или предупреждений.

Фактический результат

Предупреждение NU1701
Пакет «GuerrillaSharp 1.0.0» был восстановлен с использованием «.NETFramework, Version = v4.6.1» вместо целевой платформы проекта «.NETCoreApp, Version = v2.1». Этот пакет может быть не полностью совместим с вашим проектом.

Что я проверял

Я обнаружил похожие проблемы в Google / Stack Overflow, но не понимаю, как это объясняет ситуацию с пакетом nuget. Во многих других публикациях часто предлагалось установить более новую версию пакета nuget.

Зависимости GuerillaSharp:

  • Newtonsoft.Json (> = 11.0.2), который поддерживает .NET Standard 1.0, 1.3 и 2.0. Так что в моем понимании это должно быть совместимо с .NET Core 2.1.

1 Ответ

2 голосов
/ 06 июня 2019

GuerillaSharp имеет только net461 двоичные файлы.Есть много способов проверить, но один из них - посмотреть пакет на fuget.org .net461 не «напрямую» совместим с netcoreapp2.1, но так как многие авторы пакетов не обновили свои пакеты для поддержки netstandard, команды NuGet и .NET SDK добавили запасной целевой ресурс, который в основном говорит: «Ну, API-интерфейсы net461 близки к netstandardтак что давайте притворимся, что он совместим, хотя может и не быть ".Вот почему вы получаете предупреждение.Это может работать, но если GuerillaSharp использует какие-либо API-интерфейсы только для .NET Framework, он будет аварийно завершать работу.

...