【问题标题】:Read .xml file from project directory in Xamarin project从 Xamarin 项目的项目目录中读取 .xml 文件
【发布时间】: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 读取)

标签: c# xamarin


【解决方案1】:
【解决方案2】:

我真的不明白为什么要将 xml 文件保留在目录中。因为,如果您发布您的应用程序,您可能不会设置与开发相同的目录结构。我建议将文件放在与应用程序相同的文件夹中。下面的代码可以帮助您从目录访问您的 xml 文件。

string filePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "SupportedTypes.xml");

【讨论】:

  • 您好 Devlst,我也尝试了您建议的方式,但没有运气,它正在抛出异常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-19
  • 2014-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多