2017-02-18 48 views
13

Z ostatniej (lub może dwóch ostatnich) aktualizacji nie mogę zaktualizować pakietu NETStandartLibrary w Nuget. Właśnie utworzyłem nowy standardowy projekt biblioteki. Zobacz tę wiadomość:VS 2017 RC: Nie mogę zaktualizować biblioteki NETStandard.Library w Nuget

enter image description here

We właściwościach projektu, wersja jest inna:

enter image description here

A w .csproj:

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

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

</Project> 

W Nuget, mogę dodać zależność "Microsoft.EntityFrameworkCore", a następnie otrzymałem ostrzeżenie:

Ostrzeżenie Wykryto obniżenie pakietu: NETStandard.Library od 1.6.1 do 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)

Wybieram wysoką wersję we właściwości projektu, ale ostrzeżenie jest kontynuowane.

  • Co to są wszystkie numery wersji?
  • Jak mogę rozwiązać to ostrzeżenie?
+0

Nie wiem, czy jest to błąd, ale nie było innego pakietu w moich uzależnień, który spowodował to, ale nawet po usunięciu go jeszcze pokazał ostrzeżenie, ale zniknęło z dotneta cli, które wcześniej pokazywało na żółto. Usunąłem EFCore i inne, odinstaluj. Usunięto foldery bin i obj i wykonano przywracanie z wiersza poleceń. Następnie ponownie dodano EntityFramework i komunikat zniknął. Jednak nigdy nie był obecny na VS dla Mac. Ta sama wersja narzędzia i projekt. W SDK VS była żółta ikona ostrzegawcza nad standardem .net, ale brak wiadomości. To już minęło. dziwne i nieprzewidywalne. –

Odpowiedz

12

Nie można zmienić tego z GUI, ponieważ ten pakiet jest niejawny zdefiniowany w ramach TargetFramework. Aby zmienić wersję pakietu NETStandard.Library, dodaj następujące dane do pliku csproj.

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

Dodanie następujących do csproj również wydaje się działać:

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

Jaka jest różnica? – Orwel

+0

Praktycznie w kontekście twojego pytania prawdopodobnie nic. Pierwszą odpowiedzią jest sposób deklarowania innej wersji pakietu NetStandard, biorąc pod uwagę, że są teraz implicite zamiast jawne. Drugi sposób to bardziej ogólny sposób aktualizacji dowolnego pakietu do innej wersji, dzięki czemu można go również zastosować do innych pakietów, a nie tylko do NetStandard – schnitty