我想使用XmlReader读取我的项目中的file.xml(我只想在我的.exe中打包)。 它在我从应用程序文件夹中读取文件时有效,但我想从资源中读取它,这样我就可以在没有附加文件的情况下发出我的可执行文件。
我尝试了不同的方法,但没有一个可以工作。 我在WPF 3.0中使用C#。
你能帮助我吗?
答案 0 :(得分:4)
添加您的xml文件,并在属性中将其标记为“嵌入式资源”。用以下内容加载它:
Assembly a = Assembly.GetExecutingAssembly();
using (Stream stream = a.GetManifestResourceStream("LoadResourceTest.mydata.xml"))
using (XmlReader r = XmlReader.Create(stream))
{
...
}
我的测试程序是LoadResourceText.exe,因此是此代码中的LoadResourceTest。
答案 1 :(得分:1)
如果您将任何东西作为资源加载,则必须使用 WPF Pack URI's
一些例子:
"pack://application:,,,/ResourceFile.xaml"
"pack://application:,,,/ReferencedAssembly;component/ResourceFile.xaml"
"/ResourceFile.xaml"
"/ReferencedAssembly;component/ResourceFile.xaml"