Visual Studio 2017 не может обновить пакет Microsoft.NETCore.App( "Заблокировано проектом" )

У меня есть приложение для ядра dotnet, которое предназначено для Microsoft.NETCore.App 1.1.2. Я создал тестовый проект для тестирования этого проекта, но при создании я заметил это предупреждение: введите описание изображения здесь

Я открываю диспетчер пакетов NuGet и вижу, что это предупреждение правильно, тестируемый проект имеет другую версию Microsoft.NETCore.App: введите описание изображения здесь введите описание изображения здесь

Моя проблема в том, что Visual Studio не позволяет мне обновлять эту версию, поэтому я смущен тем, как решить эту проблему: введите описание изображения здесь В идеале я бы просто щелкнул выпадающий список и выбрал нужную версию, но Visual Studio утверждает, что не может этого сделать из-за "дополнительных ограничений в проекте или package.config". Как я могу обновить этот пакет? Какие "дополнительные ограничения" относятся к Visual Studio?

Ответ 1

Неявные ссылки на пакеты, которые Microsoft.NET.Sdk не могут быть обновлены через NuGet.

Если вы перенесли из project.json, проект с ссылкой 1.1.0, скорее всего, содержит

<RuntimeFrameworkVersion>1.1.0</RuntimeFrameworkVersion>

в файле csproj или в элементе, подобном этому (если раньше вы могли использовать диспетчер пакетов для установки версии):

<PackageReference Update="Microsoft.NETCore.App" Version="1.1.0" />

Удалить записи, подобные приведенным выше, и все пакеты будут ссылаться на 1.1.2 (или то, что установленный SDK считается последним) автоматически. Относительно, установите RuntimeFrameworkVersion во всех проектах.

Ответ 2

У меня была аналогичная проблема с установкой пакета Entityframework.Core в веб-приложении .NET Core 2. Чтобы решить эту проблему, я принудительно установил ее через консоль диспетчера пакетов:

Install-Package Microsoft.NETCore.App -Version 2.0.5

(2.0.5 была самой последней версией в то время)

Надеюсь, это полезно. Мир.