Обнаруженное предупреждение о понижении рейтинга пакета (dotnet core, vs 2017)

Я только что обновил все мои пакеты nuget для моего решения (проект dotnet core 1.1).

сейчас я получаю следующие предупреждения и я не знаю, что они означают.

NETStandard.Library downgrade warning


обновление: я все еще получаю предупреждения, упомянутые выше. Мои веб-проекты предупреждают о Microsoft.NETCore.Пакет приложений (см. скриншот ниже) и мои проекты lib предупреждают о NETStandard.Библиотека (см. скриншот выше)

Microsoft.NETCore.App downgrade warning

при попытке обновления Microsoft.NETCore.App в диспетчере пакетов NuGet я получаю следующую ошибку:

NuGet upgrade error

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

спасибо заранее!

12 ответов


согласно ответа выше рабочего раствора-удалить следующую строку из файла csproj.

проект веб-приложения:

<RuntimeFrameworkVersion>1.0.4</RuntimeFrameworkVersion>

проект Lib:

<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>

в моем случае ни одно из этих свойств не было установлено в моих файлах csproj.

Я должен был сказать VS, чтобы обновить эти пакеты через NuGet.

предупреждения появились для меня после разрешения предупреждения для явной ссылки на неявную зависимость .NETCore.Приложение после перехода с 1.0 до 1.1.

обновление 21.09.17

Это также влияет на обновления до 2.0, разрешение такое же. Обновить эти пакеты вручную с помощью NuGet. Благодаря IbrarMumtaz за указание на это!


я смог избавиться от этих предупреждений в моем проекте, удалив <NetStandardImplicitPackageVersion> элемент .

есть некоторая информация в этой статье о неявном метапакетов, которые, кажется, быть причиной этой проблемы.

возможно, Вам также потребуется обновить некоторые зависимости. Например, мне пришлось обновить BenchmarkDotNet С 0.10.1 to 0.10.3 чтобы избавиться от нескольких предупреждений, таких как те, которые вы видите.


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

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

например, если ошибка говорит, что обнаружено понижение "SqlServer 1.0.4 - > 1.0.3", найдите строку для пакет SqlServer и редактировать версию с 1.0.3 до 1.0.4.

эти ошибки должны исчезнуть после создания проекта.

недостатком этого было то, что на этот раз у меня было только 5 ошибок, но что, если проект другого человека содержал 50 таких ошибок. Тогда задача этого человека вручную редактировать эти строки будет очень утомительной и трудоемкой.


я смог исправить такую ошибку, как добавление NoWarn в cproj

<Project Sdk="Microsoft.NET.Sdk">

 <PropertyGroup>
    <NoWarn>$(NoWarn);NU1605</NoWarn>
  </PropertyGroup>

...
</Project>

вы можете добавить его только временно во время обновления нескольких пакетов и удалить его позже.


недавно я столкнулся с этой проблемой, и обновление пакетов NuGet было тем, что сработало для меня.


вручную удаление зависимостей пакетов nuget из проекта и Install-Package для каждого из них исправило проблему в моем случае.


Попробуйте удалить:

<IsPackable>false</IsPackable>

из файла проекта - это то, что работает для меня!

Если вы все еще остались с NU1605 код ошибки вы можете игнорировать его, добавив в файл проекта следующее:

<PropertyGroup>
    <NoWarn>NU1605</NoWarn>
</PropertyGroup>

попробуйте использовать NuGet

Я получаю:

error NU1605: Detected package downgrade: System.Net.NameResolution from 4.3.0 to 4.0.0. Reference the packagedirectly from the project to select a different version.

поэтому я сослался на каталог пакета, запустив (в папке проекта):

dotnet add package System.Net.NameResolution

посмотреть ошибки NuGet-NU1605

вопрос:

пакет зависимостей задал ограничение версии для более высокой версии пакета, чем restore в конечном итоге разрешен. То есть, из-за правила "ближайших побед" при разрешении пакетов, ближе пакет на графике может быть переопределен удаленным пакетом.

устранение:

добавить прямую ссылку на проект для более поздней версии пакета, который вы хотите использовать.


Я пытался обновить Microsoft.AspNetcore.MVC до версии 2+. Решением для меня было обновить все другие зависимости сначала до 2+, а затем, наконец, обновить .В MVC.


Я мог бы решить проблему, загрузив более раннюю версию пакета, вызывающего проблему, которая, по-видимому, вызвана в зависимости от стандартной версии .NET, которая не установлена, это также должно быть решено путем обновления Visual Studio.


я решил эту проблему спасибо ответ. В принципе, просто добавьте следующую строку внутри <PropertyGroup> теги :

<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>