在Windows 8中读取文本文件

8

我在中遇到了一些读取嵌入式资源(文本文件)的困难,通常我使用Assembly.GetExecutingAssembly(),但似乎在这个版本中无法使用。我正在引用System.Reflection命名空间,但它显示找不到,考虑到可能已被删除。

有什么想法吗?

目前正在使用Windows 8 Consumer Preview

代码: Assembly readAssembly = Assembly.GetExecutingAssembly(); StreamReader streamReader = new StreamReader(readAssembly.GetManifestResourceStream("Test.txt"));

错误: System.Reflection.Assembly' 不包含 'GetExecutingAssembly' 的定义


可能是与 如何读取嵌入式资源文本文件 相似的问题。 - Software Engineer
@supergeek,GetExecutingAssembly()有什么问题吗?它会返回null吗?它会抛出异常吗?它会毁了你的早餐吗? - Frédéric Hamidi
奇怪,文档说它支持Windows 8 Beta和Consumer Preview...你能发布调用GetExecutingAssembly()的确切代码吗? - Frédéric Hamidi
1
你是指WinRT吗?Windows 8 不太可能是这里的问题... - Marc Gravell
@FrédéricHamidi 我认为他指的是WinRT,而不是Windows 8。 - Marc Gravell
显示剩余2条评论
3个回答

8

3
其他人的提示:在搜索时使用WinRT,而不是Windows 8。 - supergeek1982

2
在AppStore库中,您可以使用以下代码:

在AppStore库中,您可以使用以下代码:

Stream stream = this.GetType().GetTypeInfo().Assembly.GetManifestResourceStream(fileName);

谢谢,这正是我所需要的。您还可以通过查看程序集中的内容来找到要用于文件的确切名称:(假设您已经有了上面显示的程序集)string[] names = assembly.GetManifestResourceNames(); - Victor Chelaru

1
为什么不使用在VS 2012中可用的ReadFileAsync()方法。 将文本文件添加到您的项目中并调用异步方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接