【发布时间】:2014-07-17 11:00:55
【问题描述】:
我正在为 Android 和 iOS 开发一个 Xamarin 项目。我想在我的共享代码库中使用 Xamarin 组件(来自商店)。目前,我已经创建了一个“共享项目”,但似乎无法将组件添加到该项目中。这理解正确吗?如果是这样,是否有某种解决方法?
谢谢。
【问题讨论】:
我正在为 Android 和 iOS 开发一个 Xamarin 项目。我想在我的共享代码库中使用 Xamarin 组件(来自商店)。目前,我已经创建了一个“共享项目”,但似乎无法将组件添加到该项目中。这理解正确吗?如果是这样,是否有某种解决方法?
谢谢。
【问题讨论】:
将该组件添加到所有平台特定项目中,然后您就可以在共享项目中使用它。如果平台之间的 API 存在任何差异,您必须使用编译器标志或部分类/方法来解决这些差异。
http://developer.xamarin.com/guides/cross-platform/application_fundamentals/shared_projects/
共享项目不会自行编译,它纯粹是作为 一组源代码文件,可以包含在其他文件中 当被另一个项目引用时,代码是有效的 作为该项目的一部分编译。共享项目不能引用任何 其他项目类型(包括其他共享项目)。
【讨论】:
组件是特定于平台的。要在共享或 PCL 项目中使用特定于平台的代码,您可以使用 DI 将对公共接口的引用传递到您的共享代码中。
http://developer.xamarin.com/guides/cross-platform/xamarin-forms/dependency-service/
【讨论】: