Почему однострочное приложение с System.Console.WriteLine выдает синтаксическую ошибку? - PullRequest
1 голос
/ 16 января 2012

Я решил снова попробовать создать приложения в стиле Windows Metro с Windows Developer Preview, после нескольких разочаровывающих событий.

Поэтому я запускаю Visual Studio и BAM!Право, когда я пытаюсь набрать этот код

System.Console.WriteLine("");

, оно дает мне волнистый красный цвет в разделе "Консоль".

Поэтому я пытаюсь что-то еще:

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

и это тоже не помогает!Красный волнистый под Файл.

Почему эта ошибка появляется?Весь этот код должен работать нормально!Или я делаю основную ошибку?

Ответы [ 2 ]

10 голосов
/ 16 января 2012

Поскольку Приложения Metro используют подмножество .Net Framework API . В этой версии System.Console и System.IO.File не существуют.

Из MSDN, "Заменить метод System.IO.File.ReadAllText на метод, который использует элементы асинхронного ввода-вывода; например:"

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());
    }
}
0 голосов
/ 03 декабря 2012

Приложения Windows 8 Metro не имеют консоли (поскольку консоль в графической среде не имеет смысла), но некоторые функции консоли можно получить с помощью сторонних библиотек, таких как Класс консоли дляMetro Apps

...