为什么使用System.Console.WriteLine的单行应用程序会给我一个语法错误?

时间:2012-01-16 16:00:46

标签: .net visual-studio-2012 microsoft-metro

在经历了多次令人沮丧的经历之后,我决定再次使用Windows开发人员预览构建Windows Metro风格的应用程序。

所以我启动了Visual Studio和BAM!正如我尝试输入此代码

System.Console.WriteLine("");

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

所以我尝试了别的东西:

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

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

为什么会出现此错误?所有这些代码应该工作正常!或者我犯了一个基本错误?

2 个答案:

答案 0 :(得分:10)

因为Metro applications use a subset of the .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());
    }
}

答案 1 :(得分:0)

Windows 8 Metro Apps没有控制台(因为图形环境中的控制台没有意义),但您可以使用第三方库(如Console Class for Metro Apps <)获得控制台的某些功能/ p>