我在windows-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'的定义
答案 0 :(得分:8)
在 WinRT 中,资源应包含在包中。您使用Package.Current.InstalledLocation.GetFileAsync
来读取资源。
以下帖子有一些示例代码:
http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/d4b327e3-a8f2-4d3c-8ed7-ba2ea953d0b9
答案 1 :(得分:2)
在AppStore库中,您可以使用以下代码:
Stream stream = this.GetType().GetTypeInfo().Assembly.GetManifestResourceStream(fileName);
答案 2 :(得分:1)
为什么不使用VS 2012中提供的ReadFileAsync()方法。 将文本文件添加到项目中并调用异步方法