我最近安装了Windows 8 Dev预览版,但我遇到了很多问题。看看新的C#API,我可以说缺少一些功能。例如,我找不到等待读取文件 - 经典StreamReader
不再采用文件名字符串而是采用Stream
的实例。
我错过了什么?我把对象浏览器翻了出去,实际上找不到任何东西。
更新:这显然是可移植类库与传统编译之间的区别:http://msdn.microsoft.com/en-us/library/system.io.streamreader.aspx。因此,我们可以使用非便携式Windows 8 API吗?
答案 0 :(得分:5)
可能WinRT不支持。它应该在完整的.NET 4.5中。
答案 1 :(得分:5)
开发人员预览版仅包含用于开发Windows Metro Apps的库,而不包括完整框架。这(遗憾地)也排除了System.Data和一些其他众所周知的命名空间。
答案 2 :(得分:3)
要从metro应用程序读取/写入文件,请使用新的Window.Storage API。由于安全性和城域应用程序的异步特性,我不相信城域应用中可以使用经典文件读/写。
答案 3 :(得分:2)
除了您使用metro模板将取消WinRT(请参阅其他答案)之外,您只需打开一个流:
using(FileStream fs = new FileStream(filename))
using (StreamReader reader = new StreamReader(fs))
{
string text = reader.ReadToEnd();
}