【发布时间】:2019-03-14 05:26:21
【问题描述】:
我很难从 Xamarin 项目中读取 .xml 文件。每当我调试代码时,都会出现以下错误
找不到路径“/storage/emulated/0/Xml/SupportedTypes.xml”的一部分。
下面是我使用的代码
public static void Initialize(ConnectedDeviceCommType type)
{
string fileName = @"Xml\SupportedTypes.xml";
string filePath = Path.Combine(OS.Environment.ExternalStorageDirectory.ToString(), fileName);
try
{
var xml = XDocument.Load(filePath);
}
catch(Exception ex)
{
string st = ex.Message;
}
}
我在一些博客中读到,他们说 .xml 文件需要添加到 Asset 文件夹中,但就我而言,我的项目中没有任何 Asset 文件夹,而我正在尝试加载的项目也不是一个活动。
那么你能告诉我有什么方法可以直接在 XAMARIN 中读取 XML 文件吗?
【问题讨论】:
-
检查这个。
. . 因此,如果您的资源位于“Resources/Xml/”中,并且您的默认项目命名空间为“SampleApp.Sample”,则资源名称为:“SampleApp.Sample.Resources. Xml.MyXml.xml" -
我尝试了你的要求,但没有奏效,仍然抛出异常。我在调试期间检查了该值,它显示的值为“/storage/emulated/0/[Project namespace]\Xml\SupportedTypes.xml”
-
检查删除bin obj并重启VS
-
您是否将 XML 文件构建操作设置为 EmbeddedResource
-
@VinodMG 将您的 XML 嵌入到程序集中 (
EmbeddedResource) 并将其作为嵌入式资源读取(我个人不建议使用嵌入式资源),或者将 XML 文件添加到您的 Android 项目中资产文件夹(并使用 Xamarin.Essentials 读取)