использование .NET Standard 2.1 с UWP - PullRequest
3 голосов
/ 23 сентября 2019

Я сделал большую ошибку, принимая сегодня некоторые обновления библиотеки NuGet.Это заставило меня откатиться на неделю работы или перейти на ASP .NET Core 3.0.Я ненавижу использовать вещи, которые не являются производственными, но я не хотел распутывать библиотеки, поэтому я обновился.Затем это заставляет меня перенастроить библиотеки .NET Standard 2.1.Что я и сделал.Моя проблема сейчас с клиентским кодом UWP.Когда я пытаюсь скомпилировать, я получаю:

error : Project '..\ClassLibrary1\ClassLibrary1.csproj' targets 'netstandard2.1'. It cannot be referenced by a project that targets 'UAP,Version=v10.0.10586'.

Это происходит даже с нетронутой библиотекой UWP и .NET Standard 2.1.Любые подсказки, как заставить клиентский код Visual Studio 2019 работать с последним обновлением?

Ответы [ 2 ]

1 голос
/ 24 сентября 2019

Все Windows 10 SDK в настоящее время не поддерживают .NET Standard 2.1 .

Windows 10 19H2 использует тот же номер SDK, что и 19H1 , поэтому вряд ли он будет поддерживать .NET Standard 2.1.(Но я, безусловно, надеюсь, что так и будет.)

Microsoft не сделала официального объявления, но Windows 10 20H1 получает значимое обновление SDK , поэтому, скорее всего, она его поддержит.,И как только это произойдет, приложениям UWP потребуется 20H1 для запуска (так что это станет минимально поддерживаемой версией).

Одна из больших проблем в этой ситуации состоит в том, что Entity Framework Core 3.0 требует .NETСтандарт 2.1 , поэтому его пока нельзя использовать в приложениях UWP.

Кстати, в качестве эксперимента мне удалось разветвить Entity Framework Core 3.0 (для SQLite) и заставить его компилироватьна .NET Standard 2.0.В основном мне пришлось вручную скопировать несколько новых API из .NET Core 3.0 (например, IAsyncXXX).И это сработало, так что это вариант для людей, которые действительно нуждаются в этом.Обратите внимание, что я не пробовал его с поставщиком SQL Server.

1 голос
/ 24 сентября 2019

UWP пока не поддерживает .Net стандарт 2.1 .Он поддерживает только до .Net стандарта 2.0 , и это также начиная с Windows 1709.

Если вы посмотрите на ссылку для 2.1, она заявляет

Поддержка платформы

  • Предстоящая версия Универсальная платформа Windows

, поэтому она может быть 19H2

...