添加mono.android引用到Xamarin.Forms

3
我正在处理一个Xamarin.Forms项目,需要使用mono.android。问题是在之前的项目中,我已经有了引用,但在新项目中,我无法添加它。有没有办法解决?或者在创建项目时可以进行某些操作吗? 这是我有Mono.Android的项目 而这个项目中没有

1
请问您能否详细说明一下“与mono.android相关的事情”是什么意思? - Saamer
在你的共享代码中,你不能引用mono android。你可以使用Device.RuntimePlatform == Device.Android运行一些平台特定的代码,但通常情况下,如果要“处理mono.android事务”,你需要创建自定义渲染器。 - Adlorem
@Carlos,你为什么想在Forms中添加mono.android参考?如果你想在PCL中调用特定于平台的代码,可以使用DependencyService - Cherry Bu - MSFT
2个回答

3

在解决方案浏览器中,右键单击“引用”。 点击“添加引用”。 在左侧面板上单击“浏览”。 验证mono.android上有一个复选标记。 在底部单击“浏览”。

输入此路径:C:\Program Files (x86)\Microsoft VisualStudio\2017\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v8.1

选择Mono.Android.dll。 这应该将引用添加到mono.android中!


针对Mac电脑?编辑参考未显示任何内容,该怎么办? - Vijay
我已经为Mac的情况发布了完整的响应。 - benjamingranados

0

我读到过在PCL项目中必须删除引用,或使用DependencyService,但我并不是很明白如何操作,所以我提出了一个(并不是非常正统的)解决方案:

我从Windows机器上的VS Windows复制了Mono.Android.dll、Java.Interop.dll和Xamarin.iOS.dll到我的VS Mac项目的根目录,然后在项目文件中添加了以下引用:

<ItemGroup>
  <Reference Include="Mono.Android">
    <HintPath>Mono.Android.dll</HintPath>
  </Reference>
  <Reference Include="Java.Interop">
    <HintPath>Java.Interop.dll</HintPath>
  </Reference>
  <Reference Include="Xamarin.iOS">
    <HintPath>Xamarin.iOS.dll</HintPath>
  </Reference>
</ItemGroup>

然后我在Android文件夹中添加了程序集引用

enter image description here

在.NET程序集选项卡中,我浏览了dll的位置(Mono.Android + Java.Interop用于Android,Xamarin.iOS + Java.Interop用于iOS)。

enter image description here

我的项目在VS Mac上编译通过了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接