¿Por qué una aplicación de una sola línea con System.Console.WriteLine me da un error de sintaxis?
-
29-10-2019 - |
Pregunta
Después de varias experiencias frustrantes, decidí intentar crear aplicaciones de estilo Windows Metro con Windows Developer Preview.
¡Así que enciendo Visual Studio y BAM!Justo cuando trato de escribir este código
System.Console.WriteLine("");
me muestra el ondulado rojo debajo de "Consola".
Así que intento algo más:
string text = System.IO.File.ReadAllText(@"C:\Users\Public\TestFolder\WriteText.txt");
¡Y ESO también falla!Rojo ondulado debajo de Archivo.
¿Por qué aparece este error?¡Todo este código debería funcionar bien!¿O estoy cometiendo un error básico?
Solución
Debido a que las aplicaciones Metro usan un subconjunto de.API de Net Framework .En esta versión, System.Console
y System.IO.File
noexisten.
De MSDN, "Reemplace el método System.IO.File.ReadAllText
con un método que utilice miembros de E / S asíncronos; por ejemplo:"
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());
}
}
Otros consejos
Las aplicaciones Windows 8 Metro no tienen una consola (ya que la consola en un entorno gráfico no tiene sentido), pero puede obtener algunas de las funciones de la consola con bibliotecas de terceros como Clase de consola para aplicaciones Metro