#macos #visual-studio #.net-core #nuget
#macos #visual-studio #.net-core #nuget
Вопрос:
Я пока не смог найти ответ в Интернете, и я не уверен, является ли это проблемой или нет. Когда я создаю новый проект API в dotnet Core и пытаюсь «обновить nuget» через графический интерфейс, я получаю следующую ошибку:
NU1202: пакет Microsoft.AspNetCore.App 2.2.4 несовместим с netcoreapp2.1 (.NETCoreApp, версия = v2.1). Пакет Microsoft.AspNetCore.App 2.2.4 поддерживает: netcoreapp2.2 (.NETCoreApp, версия = v2.2)
Я попытался обновить Visual Studio и создал новое решение и проект, повторилось то же самое.
Я не уверен, будет ли это проблемой в ближайшем будущем при добавлении других пакетов, поскольку в нем говорится: « rolling back package changes for...
означает ли это, что он также будет откатывать все пакеты без ошибок?
Комментарии:
1. Вам необходимо обновить версию targetframework в файле csproj перед обновлением пакетов nuget. Базовая платформа Aspnet тесно связана с версией среды выполнения dotnet.
2. Привет, Марсель, какая у тебя версия VS? Если вы не запустите обновление nuget и не скомпилируете это решение напрямую, эта проблема сохраняется или нет? Согласно этому документу: learn.microsoft.com/en-us/nuget/tools/cli-ref-update , «обновление» не работает с CLI, работающим под управлением Mono (Mac OSX или Linux), или при использовании формата PackageReference.
Ответ №1:
Microsoft.AspNetCore.App
это специальный пакет, на который в .NET Core 2.1 и 2.2 следует ссылаться как на пакет без номера версии. SDK автоматически подключит любую версию, подходящую для этой версии SDK, но, к сожалению, вам нужна ссылка PackageReference в вашем csproj. Однако, похоже, что он больше не будет использоваться в .NET Core 3.0.
Это также означает, что вы не должны использовать инструменты, которые вслепую обновляют этот пакет, поскольку у пакета не должно быть версии в вашем csproj.
Если вы хотите использовать последнюю версию ASP.NET Ядро, вам необходимо установить последнюю версию .NET SDK и изменить свой <TargetFramework>
, чтобы выбрать правильную netcoreapp
версию.