我有Android应用程序(UI层),它与.NET库(BL层)完美配合。 UI层实现BL接口。
现在我想用PCL创建XamarinForms应用程序。但是不可能在那里引用我的其他解决方案的项目:
可移植库项目只能引用其他可移植库项目和程序集。
这是什么解决方法?有没有办法使用.NET库开发XamarinForms跨平台应用程序?
答案 0 :(得分:2)
不,您不能仅使用.Net库构建Xamarin跨平台应用程序。 PCL与特定的“配置文件”相关联。此配置文件由Microsoft提供,它定义了可在每个目标框架上使用的特定API,而无需重新编译。
有关您的信息,此处列出了VS2015更新3中的一些现有配置文件:link。
需要注意的重要一点是,您选择的平台越多,您可以使用的API就越少!即在PCL中,您无法直接从字符串文件名创建StreamReader
。所以:
var reader = new System.IO.StreamReader(filename);
无法在PCL中使用!对于这种情况,您需要以任何方式实现一些抽象。
您可以尝试将现有的.Net程序集转换为PCL(或.Net Standard library)。这是您从PCL引用库的唯一方法。