我们正在使用Xamarin开发一个跨平台的移动应用程序。我已经注意到使用共享代码或PCL/.net标准构建代码的不同方法。我尝试使用.net标准,但我发现它并不包括所有的库,比如使用ado的东西、使用system.data的数据表/数据集。或者以system.net为例。其他函数的重载较少,而且它似乎是跨平台工作的.net的简化版本。是否有任何方法添加此功能或使用范围更广的.net?
发布于 2017-08-25 20:45:00
您是正确的- .Net标准和.Net核心都被简化了整个.Net框架的版本。它们只包含可用于所有平台(Mac、Android、iOS、Linux、Windows等)的功能。
完整的.Net框架只需要在Windows上工作,因此您还可以根据实现的复杂性较低以及代码基础更加成熟这一事实来做更多的事情(按照C#标准,跨平台仍然是非常新的)。在我的记忆中,如果引用正确,System.Net应该可以工作,但是System.Data不会(或者至少不可能直接访问数据库)。
您可以通过NuGet包重新获得一些功能,但这与使用WinForms或诸如此类的东西不同.
我最好的建议是使用API编程。您可以使用运行在正常(完整) .Net框架上的web服务器,并使用您习惯的所有.Net特性来完成所有繁重的任务。您的Xamarin应用程序会从API中发送和接收数据,并且基本上为您正在做的任何事情提供一个移动前端。对于大多数应用程序来说,这种方法都是有意义的,如果您使用Swift和Java分别创建单独的iOS和安卓应用程序,通常也会这样做。
https://stackoverflow.com/questions/45889037
复制相似问题