2017-09-07 6 views
7

.NET Core 2.0을 대상으로하는 클래스 라이브러리를 .NET Standard로 쉽게 변환 할 수 있습니까?.NET Core 2.0 클래스 라이브러리를 .NET 표준으로 변환

올바르게 이해하면 다른 .NET 프레임 워크를 타겟팅하는 프로젝트에서 클래스 라이브러리의 재사용 가능성을 극대화하려는 경우. .NET Framework, .NET Core, Xamarin 등을 사용하는 경우 .NET 표준을 대상으로하는 것이 좋습니다. 모든 필수 API는 대상으로 삼는 .NET Standard 버전에서 사용할 수 있습니다.

이 때문에 클래스 라이브러리를 .NET Core 2.0에서 .NET Standard 1.6 또는 .NET Standard 2.0으로 변환하려고합니다.

답변

9

을 변경할 수 있습니다, 당신은 가리킬 수 있습니다 타겟 버전은 netstandard으로 정확한 버전으로 컴파일하십시오. Proj.csproj

예 :

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

Microsoft는 유형을 대상 대해 좋은 documentation을 제공합니다.

Dotnet Standard는 프레임 워크 또는 라이브러리가 아니므로 System.Array, String, List 등의 기능이 있어야하는 추상 명령 집합입니다. 현재 different implementations: .NET Framework, .NET Core, Mono, Xamarin, Windows Phone이 있습니다. 즉, 다른 구현은 netstandard을 대상으로 라이브러리를 다시 컴파일하고 다시 사용할 수 있습니다. 그것은 NuGet 패키지를위한 매우 좋은 선택입니다.

버전을 가지고 놀고 라이브러리에 필요한 최소 기능 세트를 찾을 수 있습니다. 각 Dotnet Standard는 이전 버전의 기능을 확장합니다. 따라서 타겟 버전이 적 으면 라이브러리가 지원할 플랫폼이 많아집니다.

7

당신은 csproj 파일을 편집 (프로젝트 파일을 마우스 오른쪽 버튼으로 클릭 VS 내에서 수행 할 수 있습니다) 프로젝트 파일에서

<TargetFramework>netcoreapp2.0</TargetFramework> 

<TargetFramework>netstandard2.0</TargetFramework>