访问命名空间Android.Content.Res;以共享形式Xamarin Project /进入AssetManager类

问题描述

据我所知,至少在堆栈溢出或其他任何地方,我都找不到答案。

我正在尝试访问Xamarin.Forms项目的MainForm.xaml.cs中的AssetManager类。

这可能吗?

我尝试了以下using语句:

Android.Content.Res; Android.OS;

这是因为我想复制XML文件并在xaml应用程序中对其进行编辑。

我已经尝试过多次在.Net visual studio扩展程序中重新安装Android SDK和移动应用程序。

我的理解是,这不是一个没有Xamarin.Forms解决方案/项目的Mainform.xaml.cs /共享项目中的依赖项代码即可访问的类,并且只能在Xamarin.Forms的Android项目中访问解决方案/项目。

您能帮我确认一下吗?

在移动应用程序仿真器项目上,我可以使用C#Xamarin.Forms访问复制和编辑XML文件的一些其他选择?

解决方法

更新: 我终于解决了这个问题!

为了访问AssetManager类,我需要命名空间Android.Content.Res;需要Mono.Android或Mono.Android.dll参考。

在安装Xamarin.Forms时,据我所知这应该是自动可用的,但不是。

为了获得参考,我必须右键单击“解决方案资源管理器”中的“依赖项”,然后在弹出窗口时单击“添加项目参考”,单击右下角的“浏览”按钮并导航至该文件位置:

“ C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Community \ Common7 \ IDE \ ReferenceAssemblies \ Microsoft \ Framework \ MonoAndroid \ v9.0”。

该位置的最后一个文件夹是Android版本号,我认为最好通过从“ Mono.Android”文件夹中的文件夹中进行选择,根据目标框架的版本选择Mono.Android.dll。 / p>

选择您选择的“ Mono.Android.dll”文件,然后在以下窗口中单击“确定”和“确定”。

希望您现在应该可以访问Android.Content.Res;。不需要DependencyService类代码的名称空间。