c# - VS2013无法加载Windows 8应用程序的资源文件

标签 c# xml visual-studio-2013 windows-8.1

我正在创建一个具有可自定义动态磁贴的应用程序,并且有一些我自己的标记 XML 模板,我希望将其包含在我的项目中。

XML 文件已放置在 Assets/Tiles/FileName.xml 中。

我正在尝试使用以下代码来加载文档:

XmlDocument tileXml = new XmlDocument();
tileXml.LoadXml("ms-appx:///Assets/Tiles/SM_Date.xml");

文件名与目录中一样存在。运行后,应用程序强制退出,无法找到指定的文件。

这是我在输出中遇到的唯一错误

A first chance exception of type 'System.Exception' occurred in AppName.exe

enter image description here

如何从项目资源加载 XML 文件?

我尝试过以下路径

ms-appex:///Assets/Tile/SM_DAte.xml
ms-appx:///Assets...
ms-appex://Assets...
ms-appx://Assets...
/Assets...
Assets...
/Tiles...
Tiles...

一切都无济于事。我已经检查了输出目录,文件确实被复制到位于以下位置的 Assets 目录: \bin\Debug\AppX\

尝试将其作为文件加载也不起作用:

using System.IO;
string xmlContent = File.ReadAllText("");

上面抛出一个错误,指出文件未定义。

最佳答案

首先尝试将路径更改为“ms-appx”而不是“ms-appex”。 如果这不起作用(我希望如此),请尝试将 Stream 获取到资源文件,然后调用 XmlDocument 上接受 Stream 的 Load 重载方法。

请参阅此处:http://msdn.microsoft.com/en-us/library/windows/apps/hh965322.aspx 在这里:Getting a Stream from a resource file / content

关于c# - VS2013无法加载Windows 8应用程序的资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19691509/

相关文章:

c# - 如何创建可以处理或转换未知类型的 lambda 表达式?

c# - 如何使用 Reactive Extensions 对状态进行轮询?

c# - 如何停止 "black box"操作?

sql-server - 批量加载 CouchDB 时遇到的问题

c# - 发送 pdf 声明而不保存在应用程序服务器上

c# - 无边界和可调整大小的表单 (C#)

c# - 如何从 linq 查询结果中忽略/删除非数字值 C#

visual-studio - 尝试使用正则表达式用双引号将我的文本括起来

visual-studio - TypeScript 重构在 VS 2013 RC2 中停止工作

asp.net - Visual Studio 2013 不会显示设计 View