如何在c#中读取存储在外部DLL资源中的文本文件

时间:2012-11-21 11:19:17

标签: dll resources external

我正在尝试读取存储在外部DLL上的文本文件(.xml)。 我可以通过这种方式获取存储在DLL中的文件:Get Folder Address In DLL

但是当我想使用以下方法阅读文本文件时遇到问题:

File.OpenRead(Uri.AbsoluteUri);

Uri就像:

pack://application:,,,/Library;component/catalog.xml

我的DLL上有更多元素,如图像。当我尝试加载它们时,它运行良好。

BitmapImage bmp = new BitmapImage(new Uri("pack://application:,,,/Library;component/image.png"));

图像显示良好。

为什么它不适用于我的文本文件?

1 个答案:

答案 0 :(得分:2)

我通过使用像这样的StreamResourceInfo解决了这个问题:

System.Windows.Resources.StreamResourceInfo streamResourceInfo = System.Windows.Application.GetResourceStream("pack://application:,,,/Library;component/catalog.xml");

感谢此帖:Opening a file from a pack URI in WPF