2011-11-18 18 views
6

Acabo de comenzar a explorar el entorno de winform mono y no puedo encontrar la manera de iniciar un programa desde monodesarrollo sin iniciar una sesión de consola.Mono y WInforms en OS X

Mi programa simple funciona bien, pero cuando sale de una sesión de terminal siempre se crea & esperándome para 'presionar cualquier tecla'. Supongo que podría arreglar las cosas para que la ventana de la terminal se cierre automáticamente, pero preferiría que la aplicación se ejecutara 'nativamente', ¿es posible o la forma en que la función mono & .net funciona no lo permite?

Como se muestra en examples at Zetcode, en 'Main' el resto del código se inicia con 'application.run (new aFunction());', pensé que esto podría ser la causa de la sesión de la terminal pero reemplazándola con:

 
myNewClass n = new myNewClass(); 
n.aFunction(); 

hace que el programa no se ejecute en absoluto (o tal vez simplemente salga sin hacer nada).

Soy un programador con experiencia, pero no estoy familiarizado en absoluto con C# o el entorno mono/.net por lo que "indicar lo obvio" puede ser todo lo que se requiere en una respuesta.

+0

Tu pregunta no está clara. La razón por la cual su sesión de terminal no se cierra podría ser una configuración del sistema. El código que publicaste no tiene ningún sentido. A menos que la clase que estás iniciando herede de un Formulario entonces Application.Run (myNewClass) no funcionará. ¿Qué tipo de aplicación estás planeando para hacer esto? De hecho, me sorprendió que Mono incluso como Application.Run, ya que se supone que se limita a las aplicaciones de Windows basadas en la documentación. –

+0

Eché un vistazo rápido a la página, no hay NADA para indicar que este código funcionaría en cualquier otro sistema operativo que no sea Windows con Mono instalado. No puede usar Windows Form en ningún otro sistema operativo que no sea Windows. –

+0

@RamHound Bueno, el código funciona en sistemas operativos que no sean Windows; de lo contrario, no tendría ningún problema. Tal vez he entendido mal algo, pero ¿por qué otra cosa existiría mono aparte de proporcionar una plataforma portátil para programas .net? – blankabout

Respuesta

3

MonoDevelop generalmente le permitirá iniciar un programa con o sin que se ejecute en una consola externa.

En MonoDevelop 2.8 en Linux puede controlar esto por contexto haciendo clic en un proyecto en el árbol de soluciones y seleccionando Opciones; luego Ejecutar en la consola externa en la sección Ejecutar. No estoy seguro si puede deshabilitar esto en OSX.

+0

Encontré las opciones 'ejecutar' en el menú de Opciones de proyecto/programa. Hace exactamente lo que dice en la lata así que gracias por apuntarme en la dirección correcta. – blankabout