Примечание. Я использую 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.
Что я пробовал:
- Теперь я решил создать новый проект в VS 2019. Что удивительно, он просто показывает мне
.NET Standard 2.1
и.NET Core 3.1
как часть Target Framework. - Также посмотрите предыдущие ответы StackOverflow. Я создал файл global.json в верхней части своего решения. global.json выглядит как
{SDK: {версия: 3.1.402}}
но я как часть своего решения. У меня 2 проекта. Первый проект - netstandard
, а второй - netcore
[мой тестовый проект - netcore]. Тестовый проект позволяет мне выбрать 3.1 из раздела целевой структуры свойств проекта, но мой первый проект не может показать мне netstandard2.1
как часть целевой структуры свойств проекта. Неправильно ли мой global.json?
Ожидание: мой исходный код, который идеально построен на VS 2017, должен был быть основан на VS 2019.