在PCL项目中使用.NET库的任何方法?

时间:2017-05-31 14:27:27

标签: .net xamarin.android xamarin.forms portable-class-library

我有Android应用程序(UI层),它与.NET库(BL层)完美配合。 UI层实现BL接口。

现在我想用PCL创建XamarinForms应用程序。但是不可能在那里引用我的其他解决方案的项目:

  

可移植库项目只能引用其他可移植库项目和程序集。

这是什么解决方法?有没有办法使用.NET库开发XamarinForms跨平台应用程序?

1 个答案:

答案 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引用库的唯一方法。