Visual studio 2019 не показывает мне .NET Standard 2.1 и .NET Core 3.1 как часть Target Framework. .NET Core 3.1 установлен в моей системе

Примечание. Я использую VS 2019 Professional версии 16.0.2.

Проблема: у меня есть база исходного кода, отлично работающая в VS 2017. Но для поддержки .NET core 3.1 я решил обновить VS 2017 до VS 2019. Когда я открывал исходный код в VS 2019. Он не показывает .NET Standard 2.1 и .NET Core 3.1 как часть Target Framework. Когда я ищу свойства проекта.

Когда я изменяю файл .csproj с помощью <TargetFramework>netcoreapp3.1</TargetFramework>, а затем создаю, я получаю:

Текущий пакет SDK для .NET не поддерживает таргетинг на .NET Core 3.1. Либо целевой .NET Core 2.1 или ниже, либо используйте версию .NET SDK, поддерживающую .NET Core 3.1.

Для другого проекта, когда я изменяю файл .csproj с помощью <TargetFramework>netstandard2.1</TargetFramework>, а затем строю, я получаю:

Текущий .NET SDK не поддерживает таргетинг на .NET Standard 2.1. Либо целевой .NET Standard 2.0 или ниже, либо используйте версию .NET SDK, поддерживающую .NET Standard 2.1.

Что я пробовал:

  1. Теперь я решил создать новый проект в VS 2019. Что удивительно, он просто показывает мне .NET Standard 2.1 и .NET Core 3.1 как часть Target Framework.
  2. Также посмотрите предыдущие ответы StackOverflow. Я создал файл global.json в верхней части своего решения. global.json выглядит как

{SDK: {версия: 3.1.402}}

но я как часть своего решения. У меня 2 проекта. Первый проект - netstandard, а второй - netcore [мой тестовый проект - netcore]. Тестовый проект позволяет мне выбрать 3.1 из раздела целевой структуры свойств проекта, но мой первый проект не может показать мне netstandard2.1 как часть целевой структуры свойств проекта. Неправильно ли мой global.json?

Ожидание: мой исходный код, который идеально построен на VS 2017, должен был быть основан на VS 2019.

Актуально


person sushil    schedule 12.10.2020    source источник
comment
какую версию по сравнению с 2019 вы используете?   -  person magicandre1981    schedule 12.10.2020
comment
@ magicandre1981 Версия 16.0.2 Профессиональная 2019   -  person sushil    schedule 12.10.2020
comment
Хорошо, это причина, вам нужно как минимум VS2019 Update 16.4, чтобы иметь поддержку .net core 3.1. поэтому установите последнюю версию 16.7.5   -  person magicandre1981    schedule 12.10.2020


Ответы (1)


Ответ на мой вопрос:

  1. Обновление VS 2019 - я использовал VS 2019 16.0.2 professional (по умолчанию запускается ИТ-специалистами). Чтобы решить мою проблему, мне нужно обновить VS 2019 до 16.4, потому что он включает .NET Core 3.1.
  2. Обновить файл .sln: мне нужно это сделать, потому что мой исходный код был разработан с использованием vs2017, поэтому мой файл .sln был в соответствии с VS2017. VS 2019 будет использовать MSBuild 16. Убедитесь, что .sln должен иметь запись для VisualStudioVersion = 16. . (Для его создания вы можете создать фиктивное приложение проекта с VS2019, а затем сравнить файл .sln вашего проекта с сгенерированный файл VS2019 .sln вы увидите разницу)

ПРИМЕЧАНИЕ. Кроме того, убедитесь, что если вы используете .NET Core 2.1 SDK, затем установите версию 2.1.810, предназначенную для VS2019.

person sushil    schedule 13.10.2020