2017-11-18 14 views
1

Xamarin 응용 프로그램을 작성 중이며 .NET 4.5 프레임 워크를 대상으로하는 PCL에 내 공유 코드가 있습니다. 또한 기본적으로 .NET 표준 2.0을 대상으로하는 다른 라이브러리에서 내 Xamarin 응용 프로그램의 서비스 액세스 계층을 구현하는 라이브러리가 있습니다. 왜 내가 이해에서, .NET 표준에 서, 이후.NET 표준 4.5를 대상으로하는 Xamarin PCL에 .NET 표준 2.0을 대상으로하는 클래스 라이브러리에 대한 참조를 추가하십시오.

Project [Service access library] targets '.NETStandard,Version=v2.0'. It cannot be referenced by a project that targets '.NETPortable,Version=v4.5,Profile=Profile111'.

내가 이해가 안 :

문제는 내가 후자, 비주얼 스튜디오를 참조 할 때 나에게 다음과 같은 오류를 준다이다 .NET 4.5 프레임 워크보다 낮은 추상화 수준. 어떤 통찰력이라도 대단히 감사 할 것입니다.

답변

3

아니요 .net 표준 2.0을 지원하는 .net 프레임 워크의 최소 버전은 .net 4.6.1 (.net Core 2.0 도구와 vs 2017.3+)입니다. 닷넷 4.7.1은 당신이 사용하는 툴링에 상관없이 .net 2.0 표준을 지원합니다.

.net 표준 2.0에는 큰 API 표면이 있으며, 엔티티 프레임 워크 코어 2.0과 asp.net 코어 2.0은 .net 표준 2.0 API를 기반으로 개발되었습니다.

pcl 프로필 111은 .net 4.5 및 Windows 8.1을 나타내며 .net 표준 1.1을 공통으로 지원합니다.

최신 xamarin 형식 2.5 .net 2.0 표준을 지원하므로 PCL 프로젝트 사용을 중단하고 모든 곳에서 .net 표준 2를 사용하는 것이 좋습니다.

체크 아웃 내 당신은 또한 다음과 같은 .NET 프레임 워크 라이브러리의 nuget 패키지를 타겟팅 할 수 있습니다 https://github.com/ysmoradi/ToDo

에서 .NET 표준 2와 EF 코어 2 + SQL 라이트를 사용하여 두 안드로이드 & 아이폰 OS를 대상으로 자 마린 양식 샘플 응용 프로그램을 수행하는 https://github.com/davideicardi/DynamicExpresso 모바일에서 작동하지만 .net 프레임 워크 만 대상으로합니다. 전에는 사용할 수 없었습니다. 이제 할 수 있습니다. 당신이 당신의 프로젝트에 PCL 라이브러리의 nuget 패키지를 추가 https://github.com/ysmoradi/ToDo/blob/master/src/ToDo/ToDo.csproj#L5

에서 살펴 봐야 할 경우

그래서 업데이트는 .NET 표준 2.0로 PCL 교체, 양식 2.5 자 마린하고 당신은 갈 수 있어요 :)

비주얼 스튜디오 2017.5는 미래이기 때문에 pcl 대신 .net 표준을 사용하여 프로젝트를 만듭니다.