2009-03-19 8 views
8

Se bueno, soy un novato total de F #. He creado mi primera aplicación de consola y no puedo entender cómo F # decide cuál de mis archivos .fs se va a ejecutar al inicio. Normalmente las aplicaciones tienen un punto de entrada, y los proyectos de formularios F # que he visto tienen un punto de entrada. Mi proyecto de consola no.¿Cómo determina f # qué archivo ejecutar en el inicio?

Parece que siempre comienza con el último archivo que he agregado, que es un dolor enorme. No puedo creer que se supone que debe funcionar de esta manera. Debo estar haciendo algo mal.

Respuesta

8

F # es compatible con los puntos de entrada, con EntryPointAttribute. Vea la última captura de pantalla de this blog para más detalles. La función 'principal' toma un conjunto de cadenas y devuelve un int, y el EntryPoint debe estar en el último archivo de código en el proyecto. Ver también 12.1.4 del language spec.

Tenga en cuenta que si no proporciona un punto de entrada explícito, entonces el 'código de nivel superior' en el último archivo del proyecto se comporta efectivamente como 'principal'.

(Por cierto, ver también this blog para obtener información sobre la gestión de archivos pedidos en un proyecto dentro VS.)

+0

Gracias, esto hace que el código sea mucho más fácil de leer, especialmente para mis compañeros de trabajo que también son nuevos en F #. –

+0

¿Sigue siendo cierto? Tengo varios archivos .fsx en mi proyecto y parece estar ejecutando el archivo * first * .fsx que encuentra. Estoy en Visual Studio 2012. –

4

EDITAR respuesta de Brian Lee para información más reciente

Mi respuesta es la vinculación a la información fuera de fecha.

En este punto, F # no admite un punto de entrada explícito para una aplicación. Tiene un punto de entrada implícito que es, como ha observado, el último archivo del proyecto.

Esta discusión tiene más detalles: http://cs.hubfs.net/forums/thread/4151.aspx

+0

Esto no es correcto; el enlace está desactualizado, mira mi respuesta. – Brian

+0

según lo que veo (en el proyecto de consola vs2015 F #) es en realidad el primer archivo en el archivo de proyecto. – BraveNewMath

Cuestiones relacionadas