2017-02-18 32 views
13

Из последнего (или, возможно, двух последних) обновлений я не могу обновить пакет NETStandartLibrary в Nuget. Я просто создаю новый проект стандартной библиотеки. Смотрите это сообщение:VS 2017 RC: я не могу обновить NETStandard.Library в Nuget

enter image description here

В свойствах проекта, версия отличается:

enter image description here

И в .csproj:

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

    <PropertyGroup> 
     <TargetFramework>netstandard1.4</TargetFramework> 
    </PropertyGroup> 

</Project> 

В NuGet, я добавляю зависимость «Microsoft.EntityFrameworkCore», затем я получил предупреждение:

Предупреждение Обнаруженное понижение пакета: NETStandard.Library от 1.6.1 до 1.6.0 AgainTest (> = 1.0.0) -> Microsoft.EntityFrameworkCore (> = 1.1.0) -> NETStandard.Library (> = 1.6.1) AgainTest (> = 1.0.0) -> NETStandard.Library (> = 1.6.0)

Я выбираю высокую версию в свойстве проекта, но предупреждение продолжается.

  • Что это за номера этой версии?
  • Как я могу устранить это предупреждение?
+0

Не уверен, если это ошибка, хотя был еще один пакет в моих зависимостей, это вызвано, но даже после его удаления все еще показал некоторое предупреждение, но он исчез из dotnet cli, который он показывал в желтом ранее. Я удалил EFCore и другие, удалю. Удалили папки bin и obj и выполнили восстановление из командной строки. Затем повторно добавлена ​​EntityFramework, и сообщение исчезло. Однако он никогда не присутствовал на VS для Mac. Такая же версия и проект. В VS SDK был желтый значок предупреждения по стандарту .net, но сообщения не было. Это уже не так. странным и непредсказуемым. –

ответ

12

Вы не можете изменить это из графического интерфейса, потому что этот пакет является имплицитно определенным из вашей TargetFramework. Чтобы изменить версию пакета NETStandard.Library, добавьте в файл csproj следующее.

<PropertyGroup> 
    <NetStandardImplicitPackageVersion>1.6.1</NetStandardImplicitPackageVersion> 
</PropertyGroup> 
7

Добавление следующей строки в csproj также, кажется, работает:

<ItemGroup> 
    <PackageReference Update="NETStandard.Library" Version="1.6.1" /> 
</ItemGroup> 
+0

В чем разница? – Orwel

+0

Практически в контексте вашего вопроса, вероятно, ничего. Первый ответ - способ объявить другую версию пакета NetStandard, учитывая, что они теперь неявные, а не явные. Второй способ - это более общий способ обновления любого пакета к другой версии, поэтому его можно применять и к другим пакетам, а не только к NetStandard – schnitty