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

Jav*_*arp 1 .net microsoft-metro visual-studio-2012

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

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

System.Console.WriteLine("");
Run Code Online (Sandbox Code Playgroud)

它给了我"控制台"下的红色波浪形.

所以我尝试别的东西:

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

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

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

use*_*116 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());
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 为了公平对待.Net,使用`Console`在GUI中没有任何意义. (5认同)