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 была самой последней версией в то время)
Надеюсь, это полезно. Мир.