2011-02-01 11 views
27

En un archivo de script F # (.fsx), ¿cómo puedo determinar la ubicación del archivo .fsx que se está ejecutando actualmente? Me gustaría resolver rutas relacionadas con esto.F # para scripting: ubicación del archivo de script

Intenté Assembly.GetExecutingAssembly().CodeBase pero aparentemente no funciona en un "conjunto dinámico".

Respuesta

51

extracto de especificación # F:

_ _SOURCE_DIRECTORY__ - Sustituido por una cadena literal textualmente que especifica el nombre del directorio que contiene el archivo actual, por ejemplo, C: \ source. El nombre del archivo actual está determinado por la directiva de línea más reciente del archivo. Si no se ha dado una directiva de línea, el nombre se determina por el dado al compilador de línea de comandos en combinación con System.IO.Path.GetFullPath.

_ _SOURCE_FILE__ - Sustituido por una cadena literal, palabra por palabra que contiene el nombre del archivo actual, por ejemplo, file.fs

+4

funciona incluso en Fa # interactiva (ni idea de cómo * * - pero no importa), ¡Gracias! –

Cuestiones relacionadas