我是Xamarin的新手,必须创建一个跨平台库(iOS,Android,Win Phone)。我很难创建一个为这3个平台工作的pcl。
例如,此pcl需要与打印机建立套接字连接。
在pcl中我不能使用System.Net.Sockets所以我的想法是创建一个方法并尝试用共享项目调用他的代码。
当我执行代码时,会跨过#if __ANDROID__ .
PCL
public class Class1
{
public void socket()
{
Conecta.Class oi = new Conecta.Class();
oi.conecta();
}
}
共享代码
#if __ANDROID__
using System.Net.Sockets;
#endif
namespace Conecta
{
class Class
{
public void conecta()
{
#if __ANDROID__
System.Net.Sockets.TcpClient clientSocket = new System.Net.Sockets.TcpClient();
clientSocket.Connect("192.168.210.171", 4002);
NetworkStream serverStream = clientSocket.GetStream();
byte[] outStream = System.Text.Encoding.ASCII.GetBytes("teste \n");
serverStream.Write(outStream, 0, outStream.Length);
serverStream.Flush();
#endif
}
}
}
这只是一个测试,代码并不复杂 有人可以帮帮我吗? 还有其他想法吗?
答案 0 :(得分:-1)
我相信PCL尚未完成。 即使您将来可以解决打印机问题,也会遇到很多其他问题。
在我们的项目中,我们更喜欢使用不同的.csproj文件共享一个目录中的代码。
PCL的好处真的不值得粉末和射击。