如何在 PCL 中引用 System.Net.Sockets.Socket
How to reference System.Net.Sockets.Socket in PCL
我一直在为 Android、Ios 和 UWP 开发应用程序。
由于我需要套接字连接,所以我使用 DependenyService 访问 "platform specific" 代码并开始在所有 3 个项目中实现我的接口。
问题是所有 3 个项目的实现完全相同,因为它们都使用 System.Net.Sockets.Socket
。
但是我不能简单地将实现代码放在我的 PCL 中并将其用于所有 3 个,因为我无法在我的 PCL 中引用 System.Net.Sockets.Socket
。 (不在那里退出)
This picture shows the targeting section of my PCL
我认为问题是我的 PCL 目标是 ASP.NET Core 1.0,它不包含 System.Net.Sockets.Socket
的 API。
但是,我无法让 PCL 停止目标 ASP.NET Core 1.0,因为它会自动成为目标。
所以有没有人知道我如何才能只在 Android、Ios 和 UWP 之间共享代码,或者让我的 PCL 只针对它们?
如果应用只支持iOS、Android和UWP,你可以切换到2016年的PCL和以后的.NET标准(>=1.3 ).
在 PCL 的属性中单击 Target .NET Platform Standard
和 select 1.3 或更高版本。如果您没有此选项,则必须 install/update 一些东西。要求列于此处:https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/libraries
完成后,您就可以使用套接字了,而无需使用工厂或依赖注入(它们是替代方案)等模式。
或者您使用 Sockets 插件:https://www.nuget.org/packages/rda.SocketsForPCL
我一直在为 Android、Ios 和 UWP 开发应用程序。 由于我需要套接字连接,所以我使用 DependenyService 访问 "platform specific" 代码并开始在所有 3 个项目中实现我的接口。
问题是所有 3 个项目的实现完全相同,因为它们都使用 System.Net.Sockets.Socket
。
但是我不能简单地将实现代码放在我的 PCL 中并将其用于所有 3 个,因为我无法在我的 PCL 中引用 System.Net.Sockets.Socket
。 (不在那里退出)
This picture shows the targeting section of my PCL
我认为问题是我的 PCL 目标是 ASP.NET Core 1.0,它不包含 System.Net.Sockets.Socket
的 API。
但是,我无法让 PCL 停止目标 ASP.NET Core 1.0,因为它会自动成为目标。
所以有没有人知道我如何才能只在 Android、Ios 和 UWP 之间共享代码,或者让我的 PCL 只针对它们?
如果应用只支持iOS、Android和UWP,你可以切换到2016年的PCL和以后的.NET标准(>=1.3 ).
在 PCL 的属性中单击 Target .NET Platform Standard
和 select 1.3 或更高版本。如果您没有此选项,则必须 install/update 一些东西。要求列于此处:https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/libraries
完成后,您就可以使用套接字了,而无需使用工厂或依赖注入(它们是替代方案)等模式。
或者您使用 Sockets 插件:https://www.nuget.org/packages/rda.SocketsForPCL