0

Я разрабатываю приложение для Android, Ios и UWP. Поскольку мне нужно подключение сокета, я использовал DependenyService для доступа к «определенному для платформы» коду и начал реализовывать мой интерфейс во всех трех проектах.Как ссылаться System.Net.Sockets.Socket в PCL

Проблема в том, что реализация точно такая же во всех трех проектах, потому что все они используют System.Net.Sockets.Socket. Однако я не могу просто поставить код реализации в свой PCL и использовать его для всех 3, потому что я не могу ссылаться на System.Net.Sockets.Socket на свой PCL. (Не выходит там)

This picture shows the targeting section of my PCL

Я думаю, что проблема в том, что мои PCL цели ASP.NET Основные 1,0, который не содержит API для System.Net.Sockets.Socket. Однако я не могу сказать, что мой PCL остановит целевой ASP.NET Core 1.0, потому что он автоматически нацеливается.

У кого-нибудь есть идея, как я могу обмениваться кодами только между Android, Ios и UWP, или сделать мой PCL только нацеленным на них?

ответ

3

Если приложение должно поддерживать только iOS, Android и UWP, вы можете переключиться на PCL 2016 года и будущее под названием .NET standard (> = 1.3).

В свойствах вашего PCL нажмите Target .NET Platform Standard и выберите значение 1.3 или выше. Если у вас нет этой опции, вам нужно установить/обновить некоторые вещи. Требования перечислены здесь: https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/libraries

enter image description here

После того, как вы сделали это, вы будете готовы использовать сокеты без использования шаблонов, таких как завод или инъекции зависимостей (которые являются альтернативой).


Или вы используете Sockets плагин: https://www.nuget.org/packages/rda.SocketsForPCL

+0

спасибо очень много! Мне потребовалось некоторое время, но теперь он работает с стандартом .net. –

 Смежные вопросы

  • Нет связанных вопросов^_^