2016-06-08 16 views
9

Utworzono nową bibliotekę .NET Core Class i dodano pakiet Nuget z wewnętrznego, firmowego serwera Nuget. Wystąpił następujący błąd:Co najmniej jeden pakiet jest niekompatybilny z .NETStandard, Version = v1.5

Package XXXX is not compatible with netstandard1.5 (.NETStandard,Version=v1.5). Package XXXX 1.0 supports: net45 (.NETFramework,Version=v4.5) One or more packages are incompatible with .NETStandard,Version=v1.5.

Zaktualizowałem plik project.json tak, aby wyglądał tak, ale ten sam błąd nadal występuje.

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "XXXXX": "1.0.0", 
    "NETStandard.Library": "1.5.0-rc2-24027" 
    }, 

    "frameworks": { 
    "netstandard1.5": { 
     "imports": [ 
     "dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
    } 
} 

Czy ktoś ma wgląd w to?

+3

Naprawdę, naprawdę niewiele lepiej czekać, aż skończą. Stworzenie ~ 8 standardów to zawirowanie, a nie standard. Nawet jeśli dziś to rozwiążesz, przestanie działać jutro. Kontakt z tymi pośrednimi, niekończącymi się beta wersjami kodu open source jest całkiem nowy dla programistów .NET, działa tylko wtedy, gdy aktywnie uczestniczysz w projekcie. –

+1

@HansPassant Według mojej wiedzy standard platformy .NET jest teraz dostępny. W przyszłości pojawią się dodatkowe zmiany, ale nie będą one przełamujące. –

Odpowiedz

10

Tl; dr - musi to być netstandardall the way down!

Aby zainstalować pakiet w projekcie .NET Core, pakiet i wszystkie jego zależności muszą być zgodne z netstandard1.X.

Wygląda na to, że projekt jest ustawiony na netstandard1.5, ale zależy od pakietu, który jest kierowany tylko na net45. Jedynym sposobem rozwiązania tego problemu jest zastąpienie zależności lub zaktualizowanie jej do wersji, która jest skierowana na netstandard.

W niektórych przypadkach imports umożliwia korzystanie z Portable Class Library w aplikacji .NET Core. To nie jest ogólne rozwiązanie dla wszystkich niekompatybilnych pakietów, ale raczej tymczasowa poprawka, która działa z pakietami, które są już kierowane na mniejszy interfejs API.

+1

Widziałem kilka referencji, które mówią, w tym "portable-net4 + win8" z net4 będącą wersją frameworka rozwiąże ten problem. Na przykład. https://docs.efproject.net/en/latest/miscellaneous/rc1-rc2-upgrade.html#using-imports-in-project-json. –

+1

@GrandMasterT Czy importowanie 'portable-net45 + netcore45 + wp8' działa dla ciebie? –

+2

@GrandMasterT To może działać tylko wtedy, gdy pakiet jest przenośną biblioteką klas. Wygląda na to, że nie jest to twój pakiet. – svick

Powiązane problemy