我一直在为Android,Ios和UWP开发应用程序。 由于我需要套接字连接,因此我使用DependenyService访问“特定于平台”的代码,并开始在所有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仅针对它们吗?
答案 0 :(得分:3)
如果应用程序只支持iOS,Android和UWP,您可以切换到2016年的PCL和未来的.NET标准(> = 1.3)。
在PCL的属性中,单击web_page <- tryCatch({
read_html(primary_link)
}, error = function(e) {
tryCatch({
read_html(secondary_link)
}, finally = { # cleanup for second call
})
}, finally = {
# cleanup for both calls
})
并选择1.3或更高版本。如果您没有此选项,则必须安装/更新某些内容。要求列于此处:https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/libraries
完成后,您就可以使用套接字而不使用工厂或依赖注入等模式(可以选择)。