2017-09-07 41 views
7

Czy istnieje sposób na łatwą konwersję biblioteki klas docelowych .NET Core 2.0 na .NET Standard?Konwersja bibliotek klasy .NET Core 2.0 do .NET Standard

Jeśli rozumiem to poprawnie, jeśli chce się zmaksymalizować możliwość ponownego użycia bibliotek klas w projektach ukierunkowanych na różne środowiska .NET, np. .NET Framework, .NET Core, Xamarin itd., Lepiej jest kierować reklamy na .NET Standard - pod warunkiem, że wszystkie wymagane API są dostępne w wersji standardu .NET, która będzie docelowa.

Jest to powód, dla którego chcę przekonwertować biblioteki klas z .NET Core 2.0 na .NET Standard 1.6 lub .NET Standard 2.0.

Odpowiedz

9

W pliku projektu, można wskazać kompilacja celu do wersji netstandard z dokładną wersją.

Przykład Proj.csproj:

<Project Sdk="Microsoft.NET.Sdk"> 
    <PropertyGroup> 
    <TargetFramework>netstandard1.6</TargetFramework> 
    </PropertyGroup> 
</Project> 
... 

Microsoft zapewnia dobrą documentation o Kierowanie typy.

Dotnet Standard nie jest frameworkiem ani biblioteką, jest abstrakcyjnym zbiorem instrukcji: jaka funkcjonalność powinna mieć System.Array, String, List i tak dalej. Obecnie dostępne są: different implementations: .NET Framework, .NET Core, Mono, Xamarin, Windows Phone. Oznacza to, że różne implementacje mogą rekompilować i ponownie wykorzystywać kierowanie do biblioteki netstandard. Jest to bardzo dobry wybór dla pakietu NuGet.

Można odtwarzać wersje i znaleźć minimalny zestaw funkcji wymagany dla biblioteki. Każdy standard Dotnet rozszerza funkcjonalność poprzedniej wersji. Im mniej wybrana jest docelowa wersja, tym więcej platform będzie obsługiwać twoja biblioteka.

7

można edytować plik csproj (można zrobić wewnątrz VS, klikając prawym przyciskiem myszy na pliku projektu) i zmienić

<TargetFramework>netcoreapp2.0</TargetFramework> 

do

<TargetFramework>netstandard2.0</TargetFramework> 
Powiązane problemy