2012-03-12 8 views
10

Esta pregunta here parece contraria a lo que he experimentado. No puedo acceder a la consola desde una nueva biblioteca de clases. Tengo using System; en la parte superior. Estoy usando Visual Studio 11 en Windows 8. Dudo que esto se haya perdido en la actualización, así que eso significa que estoy haciendo algo mal.Consola no disponible en la biblioteca de la clase C#

Además, una vez que está funcionando, ¿está la consola disponible en una biblioteca de clases portátil?

EDITAR

aquí es simplemente un archivo de prueba que hice

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace AdamLib.util.ConsoleSupport 
{ 
    class SafeRead 
    { 
     private void test() 
     { 
      System.Console.Writeline("test"); //Console is not found in system 
     } 
    } 
} 

Esto está en la biblioteca de clases.

RESUELVE

Al igual que pensé, que era mi culpa.

Gracias a @DarinDimitrov, quien señaló que con VS 11 y metro, el soporte de la consola se ha eliminado para su uso con el metro. Para resolver esto, necesitaba crear un nuevo proyecto con el segundo tipo de biblioteca de clases. Hay dos enumerados y utilicé el con la descripción que incluye metro. Para resolver el problema, tuve que usar el otro tipo sin metro en la descripción.

Gracias de nuevo a todos los que ayudaron.

+0

¿Qué mensaje de error se puede conseguir? –

+0

¿Pero el proyecto principal es una aplicación de consola o una forma de Windows? – Steve

+0

Me aparece 'El tipo o nombre del espacio de nombres 'Console' no existe en el espacio de nombres 'System' (¿falta una referencia de ensamblado?)' Y aún no hay un proyecto principal. Solo estoy escribiendo mi biblioteca de utilidades. –

Respuesta

10

Si creó una aplicación de estilo Metro, no hay Consola en WinRT. No lo busques ya que no encontrarás ninguno. Esto se explica en this article:

El subconjunto de tipos administrados y miembros fue diseñado con un claro enfoque en el desarrollo aplicación de estilo de Metro. Como resultado, se omite la siguiente:

  • Tipos y miembros que no son aplicables al desarrollo de aplicaciones estilo Metro (como la consola y tipos de ASP.NET).

  • Tipos obsoletos y heredados.

  • Tipos que se superponen con los tipos de tiempo de ejecución de Windows.

  • Tipos y miembros que envuelven la funcionalidad del sistema operativo (como System.Diagnostics.EventLog y contadores de rendimiento).

  • Miembros que causan confusión (como el método Cerrar en tipos de E/S).

podría utilizar el marco debugging API o tala.

+0

Además de eso, a menos que se suponga que esta clase lib es algún tipo de componente de vista, no querrá escribir en una consola. Escribir en a/the log. – CrazyDart

+0

Es una colección de algunas utilidades que escribí para usar con la línea de comando. Entonces necesito interactuar con eso. –

+0

@ AdamSchiavone, si necesita interactuar con una consola, no cree una biblioteca de clases WinRT ya que la noción de consola no existe en el estilo Metro de Windows 8. –

Cuestiones relacionadas