PCL使用共享代码(跨平台库)

时间:2014-10-20 18:53:37

标签: android sockets visual-studio-2013 xamarin cross-platform

我是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
        }

    }
}

这只是一个测试,代码并不复杂 有人可以帮帮我吗? 还有其他想法吗?

1 个答案:

答案 0 :(得分:-1)

我相信PCL尚未完成。 即使您将来可以解决打印机问题,也会遇到很多其他问题。

在我们的项目中,我们更喜欢使用不同的.csproj文件共享一个目录中的代码。

PCL的好处真的不值得粉末和射击。