1

在经历了多次令人沮丧的经历后,我决定再次尝试使用 Windows Developer Preview 构建 Windows Metro 风格的应用程序。

所以我启动了 Visual Studio 和 BAM!就在我尝试输入此代码时

System.Console.WriteLine("");

它给了我“控制台”下的红色波浪。

所以我尝试了别的东西:

string text = System.IO.File.ReadAllText(@"C:\Users\Public\TestFolder\WriteText.txt");

那也失败了!文件下的红色波浪。

为什么会弹出这个错误?所有这些代码都应该可以正常工作!还是我犯了一个基本错误?

4

2 回答 2

10

因为Metro 应用程序使用 .Net Framework API 的子集。在这个版本System.ConsoleSystem.IO.File并不存在。

来自 MSDN,“将System.IO.File.ReadAllText方法替换为使用异步 I/O 成员的方法;例如:”

public static async Task<string> ReadAllText(StorageFile file)
{
    IInputStream inputStream = await file.OpenForReadAsync();
    using (Stream stream = inputStream.AsStream())
    using (StreamReader reader = new StreamReader(stream))
    {
        return await Task.Run(() => reader.ReadToEnd());
    }
}
于 2012-01-16T16:04:48.173 回答
0

Windows 8 Metro Apps don't have a console (as the console in a graphical environment doesn't make sense), but you can get some of the functionality of the console with third party libraries like Console Class for Metro Apps

于 2012-12-03T18:58:04.207 回答