0

저는 Android, Ios 및 UWP 용 앱을 개발했습니다. 소켓 연결이 필요하기 때문에 DependenyService를 사용하여 "플랫폼 특정"코드에 액세스하고 3 개 프로젝트 모두에서 인터페이스를 구현하기 시작했습니다.PCL에서 System.Net.Sockets.Socket을 참조하는 방법

문제는 구현이 모두 System.Net.Sockets.Socket을 사용하기 때문에 모든 3 개의 프로젝트에서 동일하다는 점입니다. 그러나 필자는 내 PCL에 구현 코드를 넣은 다음 내 PCL에서 System.Net.Sockets.Socket을 참조 할 수 없기 때문에이 코드를 모든 PCL에 사용할 수 없습니다.

This picture shows the targeting section of my PCL

을 (가 종료되지 않습니다) 나는 문제가 생각하는 나의 PCL 목표 System.Net.Sockets.Socket에 대한 API를 포함하지 않는 ASP.NET 코어 1.0. 그러나 타겟이 된 ASP.NET Core 1.0을 자동으로 대상으로하기 때문에 내 PCL에이를 알릴 수 없습니다.

그래서 안드로이드, Ios 및 UWP간에 코드를 공유하거나 PCL 만 대상으로 삼을 수있는 아이디어가 있습니까?

답변

3

앱이 iOS, Android 및 UWP 만 지원해야하는 경우 2016 년 PCL 및 향후 .NET 표준 (> = 1.3)으로 전환 할 수 있습니다.

PCL 속성에서 Target .NET Platform Standard을 클릭하고 1.3 이상을 선택하십시오. 이 옵션이 없으면 몇 가지 사항을 설치/업데이트해야합니다. 요구 사항은 다음과 같습니다 : https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/libraries

enter image description here

당신이 공장이나 의존성 주입 (대안있는)과 같은 패턴을 사용하지 않고 소켓을 사용할 준비가되어 있음을 완료 한 후.


아니면 소켓 플러그인 사용 https://www.nuget.org/packages/rda.SocketsForPCL

+0

가 대단히 감사를! 시간이 좀 걸렸지 만 이제는 .net 표준과 함께 작동합니다. –