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

问题描述:

我有Android应用程序(UI层),它与.NET库(BL层)完美协作。 UI层实现BL接口。在PCL项目中使用.NET库的任何方式?

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

便携库项目只能引用其他便携库项目和程序集。

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

不,您不能使用.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中引用图书馆的唯一方法。