Обновление Microsoft.AspNetCore.App 2.1.1 "Заблокировано проектом"

Я пытаюсь обновить проект.net core 2.1 до последней версии пакетов Nuget, таких как Microsoft.Extensions.DependencyInjection.Abstractions 2.1.1.

Однако это блокируется ссылкой на пакет Microsoft.NETCore.App, когда я пытаюсь обновить пакет "meta" Microsoft.NETCore.App. Я вижу "Заблокировано проектом", аналогичным этому вопросу. Это было разрешено путем перехода на более новую версию SDK, но это не вариант здесь... потому что нет более новой версии SDK (пока?).

Я также видел этот ответ, чтобы обновить определенные пакеты, отредактировав файл.csproj вручную с помощью ссылки на пакет обновления, но я сомневаюсь, что это был намеченный метод.

Как мне это сделать? На данный момент я только вручную включил ссылки на пакеты, которые я фактически использовал, и сбросил мета-пакет, но я не могу представить, что это был намеченный способ.

Ответ 1

Легко. Был поиск резолюции для этого раньше, и я все, что мне нужно было сделать, это просто добавить это в затронутые проекты.

  <PropertyGroup>
    <RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
  </PropertyGroup>

Ответ 2

В моем случае это было вызвано отсутствием атрибута Version на Microsoft.AspNetCore.App.

По какой-то причине, когда был создан проект WebApi, пакет был указан следующим образом:

<PackageReference Include="Microsoft.AspNetCore.App" />

Добавление отсутствующего атрибута разрешало все проблемы с обновлениями и строилось на сервере сборки.

<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />

Ответ 3

У меня был установлен только Microsoft.NETCore.App 2.1.1 и я не смог обновить его до Microsoft.NETCore.App 2.1.2 в окне " Manage NuGet Packages... поскольку на нем отображалось "Заблокировано проектом":

enter image description here

На изображении выше он показывает, что я на последней версии уже, потому что я сделал следующее...

1 - загрузите последнюю версию .NET Core SDK (v2.1.302 на данный момент) здесь:

https://www.microsoft.com/net/download

2 - установите его и выполните следующую команду в Package Manager Console Visual Studio или в Windows PowerShell. Это должно показать следующее:

PM> dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.1.302
 Commit:    9048955601

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17134
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.302\

Host (useful for support):
  Version: 2.1.2
  Commit:  811c3ce6c0

.NET Core SDKs installed:
  1.0.0-rc4-004771 [C:\Program Files\dotnet\sdk]
  1.0.0 [C:\Program Files\dotnet\sdk]
  1.0.3 [C:\Program Files\dotnet\sdk]
  1.0.4 [C:\Program Files\dotnet\sdk]
  1.1.0 [C:\Program Files\dotnet\sdk]
  2.0.2 [C:\Program Files\dotnet\sdk]
  2.1.2 [C:\Program Files\dotnet\sdk]
  2.1.4 [C:\Program Files\dotnet\sdk]
  2.1.100 [C:\Program Files\dotnet\sdk]
  2.1.101 [C:\Program Files\dotnet\sdk]
  2.1.104 [C:\Program Files\dotnet\sdk]
  2.1.105 [C:\Program Files\dotnet\sdk]
  2.1.200 [C:\Program Files\dotnet\sdk]
  2.1.201 [C:\Program Files\dotnet\sdk]
  2.1.202 [C:\Program Files\dotnet\sdk]
  2.1.300-preview2-008533 [C:\Program Files\dotnet\sdk]
  2.1.300-rc1-008673 [C:\Program Files\dotnet\sdk]
  2.1.300 [C:\Program Files\dotnet\sdk]
  2.1.301 [C:\Program Files\dotnet\sdk]
  2.1.302 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.0-preview2-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.0-rc1-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.0-preview2-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.0-rc1-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 1.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.0-preview2-26406-04 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.0-rc1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download
PM> 

Ответ 4

Редактирование моего.csproj файла и добавление для меня следующей строки:

<PackageReference Include="Microsoft.NetCore.App" Version="2.1.1" />

Ответ 5

В моем случае ответ @Patrick правильный. По крайней мере, для VS 2017 (15.8.9) с установленным файлом SDK "dotnet-sdk-2.1.403-win-x64.exe".

Признаки. При создании нового веб-проекта для версии Aspnetcore.App устанавливается значение 2.1, даже если установлен последний SDK. Попытка изменить версию с помощью диспетчера NuGet отвечает "проект заблокирован".

Решение: Добавьте Version = "2.1" к ссылке в CSPROJ следующим образом:

<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1" />

После сохранения/повторного открытия менеджер NuGet позволит выбрать другие версии SDK. Обратите внимание, что добавление Version = "2.1.5" напрямую, а затем сохранение файла CSProj должно автоматически инициировать обновление/восстановление.

Спасибо, Патрик

Ответ 6

Для меня у меня была следующая строка дважды в файле csproj

<PackageReference Include="Microsoft.AspNetCore.StaticFiles " Version="2.2.0" />

Простое удаление дубликата решило проблему

Ответ 7

  1. Щелкните правой кнопкой мыши на вашем проекте
  2. Нажмите на "Свойства"
  3. Измените "Target Framework" соответственно
  4. Сохраните и закройте окно свойств. Это решит проблему автоматически, иначе вы можете перейти к Nuget и обновить сборки самостоятельно.

Ответ 8

Как @Simon_Weaver сказал, что это происходит, когда не указана версия и 2.1.301 SDK отсутствует в системе