Windows开发人员预览C#版本-缺少功能?

Windows开发人员预览C#版本-缺少功能?,c#,windows-8,c#-5.0,C#,Windows 8,C# 5.0,我最近安装了Windows8DevPreview,不过遇到了不少问题。看看新的C#API,我可以说有些功能缺失了。例如,我找不到等待读取文件的时间-经典的StreamReader不再接受文件名字符串,而是Stream的实例 我错过了什么?我把对象浏览器翻了个底朝外,实际上什么也没找到 更新:这显然是可移植类库和传统编译之间的区别:。因此,我们还可以使用不可移植的Windows 8 API吗?WinRT可能不支持这一点。它应该在完整的.NET 4.5中。开发者预览只包括用于开发Windows Me

我最近安装了Windows8DevPreview,不过遇到了不少问题。看看新的C#API,我可以说有些功能缺失了。例如,我找不到等待读取文件的时间-经典的
StreamReader
不再接受文件名字符串,而是
Stream
的实例

我错过了什么?我把对象浏览器翻了个底朝外,实际上什么也没找到


更新:这显然是可移植类库和传统编译之间的区别:。因此,我们还可以使用不可移植的Windows 8 API吗?

WinRT可能不支持这一点。它应该在完整的.NET 4.5中。

开发者预览只包括用于开发Windows Metro应用程序的库,而不包括完整的框架。这(很遗憾)还排除了System.Data和一些其他知名的名称空间。

除了使用metro模板将取消WinRT(请参阅其他答案)这一事实之外,您只需打开一个流:

using(FileStream fs = new FileStream(filename))
using (StreamReader reader = new StreamReader(fs))
{
    string text = reader.ReadToEnd();
}

要从metro应用程序读取/写入文件,请使用新的Window.Storage API。由于metro应用程序的安全性和异步性,我不相信metro应用程序中会提供经典的文件读/写功能。

您使用的是WinRT版本的.NET吗?@Daniel我想是的,我刚刚从metro模板创建了一个新项目。我没有使用
WinMD
,如果这是个问题,那么输出设置为
windowsmetro风格的应用程序
。我当然希望如此,尽管我没想到微软会期望我们玩一个新玩具(并实际开发一些东西),而不给我们如此“边际”的空间文件读取等功能。
System.IO
@Mikulas中还有其他类。您应该使用
Windows.Storage
命名空间中的WinRT类来处理文件,特别是将其作为流打开。然后可以使用扩展方法
AsStream()
将流包装为
System.IO.Stream
。这是因为Dev Preview只有VS Express。但是你可以从这里安装完整的VS(当然也可以预览:-这将启用非Metro项目类型。找到了一个,尽管其他人可能仍在努力解决这个问题。谢谢希望也能找到其他缺失的功能。