Pourquoi une application unique avec System.Console.Writeline me donne-t-elle une erreur de syntaxe?
-
29-10-2019 - |
Question
J'ai décidé de créer des applications Windows Metro Windows avec l'aperçu du développeur Windows, après plusieurs expériences frustrantes.
Alors je lance Visual Studio et Bam! Juste comme j'essaie de taper ce code
System.Console.WriteLine("");
Cela me donne le Red Sliggly sous "Console".
Alors j'essaye autre chose:
string text = System.IO.File.ReadAllText(@"C:\Users\Public\TestFolder\WriteText.txt");
Et cela échoue aussi! Red Sliggly sous le dossier.
Pourquoi cette erreur apparaît-elle? Tout ce code devrait bien fonctionner! Ou est-ce que je fais une erreur de base?
La solution
Car Les applications de métro utilisent un sous-ensemble de l'API .NET Framework. Dans cette version System.Console
et System.IO.File
n'existe pas.
De MSDN, "Remplacer System.IO.File.ReadAllText
Méthode avec une méthode qui utilise les membres d'E / S asynchrones; par exemple:"
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());
}
}
Autres conseils
Les applications de métro Windows 8 n'ont pas de console (car la console dans un environnement graphique n'a pas de sens), mais vous pouvez obtenir une partie des fonctionnalités de la console avec des bibliothèques tierces comme Classe de console pour les applications de métro