Xamarin.android 如何添加对Mono.Android的引用?

Xamarin.android 如何添加对Mono.Android的引用?,xamarin.android,xamarin-studio,Xamarin.android,Xamarin Studio,我正在使用Xamarin Studio为Android开发一个类库。如何在我的库项目中添加对Mono.Android的引用? Mono.Android不在可用程序集列表中。假设已安装X.Android,请右键单击解决方案。然后Add->addnewproject->Android->Android库项目 您不需要添加任何参考资料 如果您希望在库项目中支持的不仅仅是Xamarin.Android,您可以使用可移植类库(PCL)。我发现配置文件78和158工作得非常好,都提供了wait/async支

我正在使用Xamarin Studio为Android开发一个类库。如何在我的库项目中添加对Mono.Android的引用?
Mono.Android不在可用程序集列表中。

假设已安装X.Android,请右键单击解决方案。然后
Add->addnewproject->Android->Android库项目

您不需要添加任何参考资料


如果您希望在库项目中支持的不仅仅是Xamarin.Android,您可以使用可移植类库(PCL)。我发现配置文件78和158工作得非常好,都提供了wait/async支持

但是,您不应该知道PCL只支持概要文件中目标的最小子集。因此,并非.NET4.5中的所有内容都可用,除非将其抽象出来,否则您将无法在其中执行特定于平台的操作。这可以通过创建接口和使用IoC注入实现来实现


IoC可以由和提供。

如果出于任何原因,您的Xamarin Android项目缺少Mono.Android参考,可以通过添加以下行手动将其添加到项目的.csproj中:

    <Reference Include="Mono.Android" />

这在第一个“项目组”中。查找
,并将其放在前面。(顺序不重要,它只需要在ItemGroup中,但这是字母顺序,所以我把它放在那里)

在我的例子中,我删除了一个旧的Xamarin Android中过时的引用,我认为Mono.Android已经过时,当我更新Xamarin表单时会重新安装,所以我删除了它。错误。

C:\ProgramFiles(x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssembly\Microsoft\Framework\MonoAndroid\v8.1\Mono.Android.dll


对于VS2017,图书馆可以在上面的位置找到。

我还发现Jonathan Pepper的服务容器非常易于使用。或者更多UTIL更新:现在建议通过.NET标准完成PCL。它本质上是一个PCL,但指定了额外的细节,以保证任何声明支持给定.NET标准版本的设备的跨平台兼容性。在我写这篇文章时,“2.0”是一个很好的目标。将所有可移植代码放入其中一个“可移植”库中,包括每个平台需要自定义的API接口。然后,为每个平台创建一个特定于平台的库,该库提供可移植库所需的API。那么任何设备都只需要便携库+设备库。。。。要处理特定于平台的类型,例如UI类型,有多种技术可以“包装”特定于平台的类型,因此您的主应用程序代码和可移植库可以传递对象,而可移植代码不知道特定于平台的类型。在可能的情况下,创建可移植表示。例如,使用Xamarin.Forms.Color,并在需要时让每个平台包含一个到本机颜色对象的转换器。谢谢!我从一个普通的类库开始。我不知道我怎么会错过Android库。