Как создать библиотеку классов с TargetFramework=netstandard2.1?
Я установил dotnet-sdk-3.0.100-win-x64.exe в свою систему для нацеливания на приложение.NET Core 3.0. После установки я проверил установленную версию с помощью команды: dotnet --version, которая дает response = 3.0.100.
Теперь, используя dotnet cli, я попытался создать библиотеку классов (C#) с targetframework=netstandard2.1, а также создал решение и добавил к нему проект библиотеки классов.
При создании решения я вижу следующую ошибку:
Ошибка NETSDK1045 Текущий пакет SDK для.NET не поддерживает таргетинг на.NET Standard 2.1. Либо выберите.NET Standard 2.0 или ниже, либо используйте версию.NET SDK, поддерживающую.NET Standard 2.1. SampleApp C:\ProgramFiles\dotnet\sdk\2.2.300\Sdks\Microsoft.NET.Sdk\target\Microsoft.NET.TargetFrameworkInference.targets
Может ли кто-нибудь помочь мне решить эту проблему?
1 ответ
Убедитесь, что у вас нет global.json
файл в текущем рабочем каталоге или в одном из его родительских каталогов.
Он используется для определения того, какая версия пакета SDK для.NET Core используется при выполнении команд интерфейса командной строки.NET Core. В твоем случае,2.2.300
очевидно используется. Если нетglobal.json
, следует использовать последнюю версию SDK, установленную на машине.
Вы можете попробовать запустить эту команду непосредственно перед сборкой, чтобы создать новый global.json
файл в текущем каталоге
dotnet new globaljson --sdk-version 3.0.100
Обратите внимание, что для работы с.NET Core 3 вам потребуется Visual Studio версии 16.3 или выше. Если он жалуется на MSBuild, попробуйте обновить Visual Studio или / и просмотреть эту проблему на GitHub.