我正在使用此遗留代码:
SerialPort serialPort = new SerialPort();
serialPort.BaudRate = 19200;
serialPort.Handshake = Handshake.XOnXOff;
...但是试图将它移植到Xamarin解决方案的“Core”(可移植类库)部分中的VS 2013 / .NET 4.5.1,我得到了,“名称'Handshake'不会存在于当前上下文“
根据this,握手枚举在System.IO.Ports命名空间中,但将其添加到我的使用中会唤起“命名空间中不存在类型或命名空间名称'Ports' 'System.IO'(你错过了一个程序集参考吗?)“
也许我我错过了程序集引用?上面的链接说它在System中。我唯一的参考是“.NET Portable Subset”我假设(我知道,我知道,当你认为异步Syncopate Sinkholes或类似的东西时)会嵌入System。
当我单击引用并选择添加引用...时,提供的选项有点轻微:
那么......我怎么能用Handshake.XOnXOff?如果我不能,我的可行选择是什么?
答案 0 :(得分:2)
我认为您无法以平台无关的方式实现打印功能。您最好的选择是定义某种IPrinting接口。该接口可以在特定于平台的库中实现,然后可以将引用传递到PCL中,以便PCL可以通过接口传递打印任务。