我正在处理一个Xamarin.Forms项目,需要使用mono.android。问题是在之前的项目中,我已经有了引用,但在新项目中,我无法添加它。有没有办法解决?或者在创建项目时可以进行某些操作吗?
这是我有Mono.Android的项目
而这个项目中没有
在解决方案浏览器中,右键单击“引用”。 点击“添加引用”。 在左侧面板上单击“浏览”。 验证mono.android上有一个复选标记。 在底部单击“浏览”。
输入此路径:C:\Program Files (x86)\Microsoft VisualStudio\2017\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v8.1
选择Mono.Android.dll。 这应该将引用添加到mono.android中!
我读到过在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文件夹中添加了程序集引用
在.NET程序集选项卡中,我浏览了dll的位置(Mono.Android + Java.Interop用于Android,Xamarin.iOS + Java.Interop用于iOS)。我的项目在VS Mac上编译通过了。