【发布时间】:2017-01-06 19:29:43
【问题描述】:
我正在尝试找出哪种方式更适合我们的项目。
Xamarin 的 PCL 库或共享项目。
在Xamarin documentation link here 中说,经验法则是当我们不共享库时选择共享项目。可以使用 #if 编写共享项目,以确保它适用于多个平台 - 这也会导致重构 #ifs not active 时出现一些问题。
但我有一种直觉,将这段代码放到共享类中是不对的。如果适用于 Windows、Android 和 IOS 移动平台的代码使用共享项目而不是 PCL - 这意味着我们在共享项目中使用#ifs,而不是在特定平台项目中编写特定于平台的代码。
这是试图通过#ifs 支持非PCL 项目,并使共享代码更复杂且更难维护。这不应该是 Xamarin 为改进 .NET PCL 代码库而要做的工作吗?
这也意味着我们将特定于平台的功能放在共享项目中,而不是特定于平台的项目中 - 即从平台项目本身隐藏特定平台的复杂性 - 这在架构方面感觉不对。
我是对的(在这种情况下,我与 Xamarin 文档有冲突)还是我遗漏了什么?
【问题讨论】:
标签: android .net mono xamarin portable-class-library