.net Core 2.0 - Пакет был восстановлен с использованием .NetFramework 4.6.1 вместо целевой платформы .netCore 2.0. Пакет может быть не полностью совместим

104

У меня есть консольное приложение .net core 2.0. Я пытаюсь читать файлы из TFS, используя следующее:

Как получить файл из TFS прямо в память (т.е. не нужно читать из файловой системы в память)?

Я перехожу к nuget, устанавливаю Microsoft.TeamFoundationServer.ExtendedClientи сталкиваюсь с этим:

введите описание изображения здесь

Пакет Microsoft.AspNet.WebApi.Client 5.2.2 был восстановлен с использованием .NETFramework, Version = v4.6.1 вместо целевой платформы проекта .NETCoreApp, Version = v2.0. Этот пакет может быть не полностью совместим с вашим проектом.

Даже после подавления предупреждения я все равно получаю сообщение об ошибке и не могу ссылаться на библиотеку. Как я могу разрешить эту ссылку?

Очень легко воспроизвести:

  1. Новое консольное приложение .net core 2.0
  2. Скопируйте метод из приведенного выше вопроса
  3. Попробуйте установить пакет nuget
BLAZORLOVER
источник
6
Пакет nuget, о котором вы говорите, несовместим с .NET Standard (или .NET Core), поэтому Visual Studio пытается использовать единственную доступную целевую платформу (.NET 4.6.1), которая (как сказано) может быть несовместима с вашей целевой структурой . Ваше приложение должно компилироваться даже с этим предупреждением, но нет гарантии, что такая библиотека будет работать в .NET Core.
Федерико Дипума
@FedericoDipuma Я понимаю это, но проект даже не компилируется, и ссылки не разрешаются, несмотря на то, что предупреждение было подавлено.
BLAZORLOVER
2
Вы можете попробовать стандартный клиентский пакет, который в настоящее время находится в предварительной версии, но полностью совместим с .NET Standard 1.6 (и, следовательно, с .NET Core 1.1+). Он не является полнофункциональным, как расширенный клиент, но вам может быть достаточно. Я не верю, что у вас сейчас есть альтернативы.
Федерико Дипума
Проверьте это тоже: github.com/dotnet/standard/issues/439#issuecomment-321608375
Бабак,
Как сказал Энди в ответе, это исправлено в Microsoft.AspNet.WebApi.Client v5.2.4. В настоящее время предварительная версия v5.2.4-preview1доступна в NuGet и совместима с .NET Standard 2.0.
Arghya C 05

Ответы:

27

На данный момент пакет не полностью совместим с dotnetcore 2.0.

например, для 'Microsoft.AspNet.WebApi.Client'этого может поддерживаться в версии (5.2.4). Дополнительные сведения см. В разделе Использование нового пакета Microsoft.AspNet.WebApi.Client.5.2.4 .

Вы можете попробовать стандартный клиентский пакет, как упоминал Федерико.

Если это по-прежнему не работает, то в качестве обходного пути вы можете создать только Console App (.Net Framework)консольное приложение .net core 2.0 вместо.

Ссылка на этот поток: Microsoft.AspNet.WebApi.Client поддерживается в .NET Core или нет?

Энди Ли-MSFT
источник
2

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

Маркус Кицингер
источник
2

У меня было ~ 6 разных пакетов Nuget для обновления, и когда я выбрал Microsoft.AspNetCore. Сначала я получил указанную ошибку.

Я начал снизу и сначала обновил другие (EF Core, EF Design Tools и т. Д.), А затем, когда остался только Microsoft.AspNetCore, все работало нормально.

Эрик
источник
Действительно, 2018.06.14 я смог впервые установить и настроить свою среду, создать проект, вручную построить и затем отладить шаблонный код (с одним простым изменением); и все это без учета этого конкретного предупреждения.
azarc3