Warum gibt mir eine einzeilige App mit System.Console.WriteLine einen Syntaxfehler?
-
29-10-2019 - |
Frage
Nach mehreren frustrierenden Erfahrungen habe ich mich entschlossen, erneut Apps im Windows Metro-Stil mit der Windows Developer Preview zu erstellen.
Also starte ich Visual Studio und BAM!Genau so, wie ich versuche, diesen Code einzugeben
System.Console.WriteLine("");
es gibt mir das rote Schnörkel unter "Konsole".
Also versuche ich etwas anderes:
string text = System.IO.File.ReadAllText(@"C:\Users\Public\TestFolder\WriteText.txt");
und DAS scheitert auch!Rot verschnörkelt unter Datei.
Warum tritt dieser Fehler auf?All dieser Code sollte gut funktionieren!Oder mache ich einen grundlegenden Fehler?
Lösung
Weil Metro-Anwendungen eine Teilmenge der verwenden.Net Framework API .In dieser Version System.Console
und System.IO.File
nichtexistieren.
In MSDN "Ersetzen Sie die System.IO.File.ReadAllText
-Methode durch eine Methode, die die asynchronen E / A-Elemente verwendet. Beispiel:"
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());
}
}
Andere Tipps
Windows 8 Metro Apps verfügen nicht über eine Konsole (da die Konsole in einer grafischen Umgebung keinen Sinn ergibt), aber Sie können einige Funktionen der Konsole mit Bibliotheken von Drittanbietern wie Konsolenklasse für Metro-Apps