Opciones del compilador
En este tema se describen las opciones de línea de comandos del compilador de F#, fsc.exe.
El entorno de compilación también se puede controlar estableciendo las propiedades del proyecto. Para los proyectos que tienen como destino .NET Core, la propiedad "Otras marcas", en , se usa para especificar opciones de <OtherFlags>...</OtherFlags> .fsproj línea de comandos adicionales.
Opciones del compilador por orden alfabético
En la tabla siguiente se muestran las opciones del compilador enumeradas alfabéticamente. Algunas de las opciones del compilador de F# son similares a las opciones del compilador de C#. Si ese es el caso, se proporciona un vínculo al tema de opciones del compilador de C#.
| Opción del compilador | Descripción |
|---|---|
-a filename.fs |
Genera una biblioteca a partir del archivo especificado. Esta opción es una forma corta de --target:library filename.fs . |
--baseaddress:address |
Especifica la dirección base preferida para cargar una DLL. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/baseaddress (C# Compiler Options). |
--codepage:id |
Especifica qué página de códigos se usará durante la compilación si la página necesaria no es la página de códigos predeterminada actual del sistema. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/páginas de códigos (C# Opciones del compilador). |
--consolecolors |
Especifica que los errores y advertencias usan texto codificado por colores en la consola. |
--crossoptimize[+|-] |
Habilita o deshabilita las optimizaciones entre módulos. |
--delaysign[+|-] |
Retrasa la firma del ensamblado usando solo la parte pública de la clave de nombre segura. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/delaysign (C# Compiler Options). |
--checked[+|-] |
Habilita o deshabilita la generación de comprobaciones de desbordamiento. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/activada (opciones del compilador# C). |
--debug[+|-]-g[+|-]--debug:[full|pdbonly]-g: [full|pdbonly] |
Habilita o deshabilita la generación de información de depuración o especifica el tipo de información de depuración que se generará. El valor predeterminado es full , que permite adjuntar a un programa en ejecución. Elija pdbonly obtener información de depuración limitada almacenada en un archivo pdb (base de datos de programa).Equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea /depuración (opciones# compilador de C). |
--define:symbol-d:symbol |
Define un símbolo para su uso en la compilación condicional. |
--deterministic[+|-] |
Genera un ensamblado determinista (incluido el GUID de la versión del módulo y la marca de tiempo). Esta opción no se puede usar con números de versión con caracteres comodín y solo admite tipos de depuración insertados y portátiles. |
--doc:xmldoc-filename |
Indica al compilador que genere comentarios de documentación XML en el archivo especificado. Para obtener más información, consulta XML Documentation. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/documento (C# Compiler Options). |
--fullpaths |
Indica al compilador que genere rutas de acceso completas. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/rutas de acceso (C# Opciones del compilador). |
--help-? |
Muestra información de uso, incluida una breve descripción de todas las opciones del compilador. |
--highentropyva[+|-] |
Habilite o deshabilite la selección aleatoria del diseño de espacio de direcciones (ASLR) de alta entropía, una característica de seguridad mejorada. El sistema operativo aleatoriza las ubicaciones en memoria donde se carga la infraestructura de las aplicaciones (como la pila y el montón). Si habilita esta opción, los sistemas operativos pueden usar esta selección aleatoria para usar el espacio de direcciones de 64 bits completo en un equipo de 64 bits. |
--keycontainer:key-container-name |
Especifica un contenedor de claves de nombre seguro. |
--keyfile:filename |
Especifica el nombre de un archivo de clave pública para firmar el ensamblado generado. |
--lib:folder-name-I:folder-name |
Especifica un directorio en el que se va a buscar ensamblados a los que se hace referencia. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/lib (C# Compiler Options). |
--linkresource:resource-info |
Vincula un recurso especificado al ensamblado. El formato de resource-info es filename[name[public|private]]Vincular un único recurso con esta opción es una alternativa a insertar un archivo de recursos completo con la --resource opción .Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/linkresource (C# Compiler Options). |
--mlcompatibility |
Omite las advertencias que aparecen cuando se usan características diseñadas para la compatibilidad con otras versiones de ML. |
--noframework |
Deshabilita la referencia predeterminada al .NET Framework ensamblado. |
--nointerfacedata |
Indica al compilador que omita el recurso que normalmente agrega a un ensamblado que incluye metadatos específicos de F#. |
--nologo |
No muestra el texto del banner al iniciar el compilador. |
--nooptimizationdata |
Indica al compilador que solo incluya la optimización esencial para implementar construcciones en línea. Impide la integración entre módulos, pero mejora la compatibilidad binaria. |
--nowin32manifest |
Indica al compilador que omita el manifiesto de Win32 predeterminado. |
--nowarn:warning-number-list |
Deshabilita las advertencias específicas enumeradas por número. Separe cada número de advertencia mediante una coma. Puede detectar el número de advertencia de cualquier advertencia de la salida de compilación. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/nowarn (C# Compiler Options). |
--optimize[+|-][optimization-option-list]-O[+|-] [optimization-option-list] |
Habilita o deshabilita las optimizaciones. Algunas opciones de optimización se pueden deshabilitar o habilitar de forma selectiva enumerando estas opciones. Estos son: nojitoptimize , , , , nojittracking nolocaloptimize nocrossoptimize notailcalls . |
--out:output-filename-o:output-filename |
Especifica el nombre del ensamblado o módulo compilado. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/salida (opciones # compilador de C). |
--pathmap:path=sourcePath,... |
Especifica cómo asignar rutas físicas a nombres de ruta de origen generados por el compilador. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/pathmap (C# Compiler Options). |
--pdb:pdb-filename |
Denomina el archivo PDB (base de datos de programa) de depuración de salida. Esta opción solo se aplica cuando --debug también está habilitada.Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/pdb (C# Compiler Options). |
--platform:platform-name |
Especifica que el código generado solo se ejecutará en la plataforma especificada ( , o ) o, si se elige el nombre de la plataforma, especifica que el código generado se puede ejecutar en x86 Itanium cualquier x64 anycpu plataforma.Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/plataforma (opciones del compilador# C). |
--preferreduilang:lang |
Especifica el nombre de referencia cultural del idioma de salida preferido (por ejemplo, es-ES , ja-JP ). |
--quotations-debug |
Especifica que se debe emitir información de depuración adicional para las expresiones que se derivan de literales de comillas de F# y definiciones reflejadas. La información de depuración se agrega a los atributos personalizados de un nodo de árbol de expresión de F#. Vea Comillas de código y Expr.CustomAttributes. |
--reference:assembly-filename-r:assembly-filename |
Hace que el código de un ensamblado .NET Framework F# esté disponible para el código que se está compilando. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/referencia (opciones del compilador# C). |
--resource:resource-filename |
Inserta un archivo de recursos administrado en el ensamblado generado. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/resource (C# Compiler Options). |
--sig:signature-filename |
Genera un archivo de firma basado en el ensamblado generado. Para obtener más información sobre los archivos de firma, vea Firmas. |
--simpleresolution |
Especifica que las referencias de ensamblado se deben resolver mediante reglas mono basadas en directorios en lugar de MSBuild resolución. El valor predeterminado es usar la MSBuild, excepto cuando se ejecuta en Mono. |
--standalone |
Especifica que se produzca un ensamblado que contenga todas sus dependencias para que se ejecute por sí mismo sin necesidad de ensamblados adicionales, como la biblioteca de F#. |
--staticlink:assembly-name |
Vincula estáticamente el ensamblado dado y todos los archivos DLL a los que se hace referencia que dependen de este ensamblado. Use el nombre del ensamblado, no el nombre del archivo DLL. |
--subsystemversion |
Especifica la versión del subsistema del sistema operativo que va a usar el ejecutable generado. Use 6.02 para Windows 8.1, 6.01 para Windows 7, 6.00 para Windows Vista. Esta opción solo se aplica a los archivos ejecutables, no a los archivos DLL, y solo se debe usar si la aplicación depende de características de seguridad específicas disponibles solo en determinadas versiones del sistema operativo. Si se usa esta opción y un usuario intenta ejecutar la aplicación en una versión inferior del sistema operativo, se producirá un error con un mensaje de error. |
--tailcalls[+|-] |
Habilita o deshabilita el uso de la instrucción il de cola, lo que hace que el marco de pila se reutilice para las funciones recursivas de cola. Esta opción está habilitada de manera predeterminada. |
--target:[exe|winexe|library|module] filename |
Especifica el tipo y el nombre de archivo del código compilado generado.
|
--times |
Muestra información de tiempo para la compilación. |
--utf8output |
Habilita la impresión de la salida del compilador en la codificación UTF-8. |
--warn:warning-level |
Establece un nivel de advertencia (de 0 a 5). El nivel predeterminado es 3. Cada advertencia tiene un nivel en función de su gravedad. El nivel 5 proporciona más advertencias, pero menos graves, que el nivel 1. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/warn (C# Compiler Options). |
--warnon:warning-number-list |
Habilite advertencias específicas que podrían estar desactivadas de forma predeterminada o deshabilitadas por otra opción de línea de comandos. |
--warnaserror[+|-] [warning-number-list] |
Habilita o deshabilita la opción de notificar advertencias como errores. Puede proporcionar números de advertencia específicos que se deshabilitarán o habilitarán. Las opciones más adelante en la línea de comandos invalidan las opciones anteriores en la línea de comandos. Por ejemplo, para especificar las advertencias que no desea que se indiquen como errores, especifique --warnaserror+ --warnaserror-:warning-number-list .Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/warnaserror (C# Compiler Options). |
--win32manifest:manifest-filename |
Agrega un archivo de manifiesto win32 a la compilación. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/win32manifest (C# Compiler Options). |
--win32res:resource-filename |
Agrega un archivo de recursos win32 a la compilación. Esta opción del compilador es equivalente a la opción del compilador de C# del mismo nombre. Para obtener más información, vea/opciones del compilador win32res ((C#) ). |
Advertencias de opt-in
El compilador de F# admite varias advertencias de opt-in:
| Number | Resumen | Nivel | Descripción |
|---|---|---|---|
| 21 | Recursión activada en tiempo de ejecución | 5 | Advertir cuando se comprueba un uso recursivo para la sonoridad de inicialización en tiempo de ejecución. |
| 22 | Enlaces ejecutados sin orden | 5 | Advertir cuando un enlace recursivo se puede ejecutar fuera de orden debido a una referencia hacia delante. |
| 52 | Copias implícitas de structs | 5 | Advertir cuando se copia una estructura inmutable para asegurarse de que una operación no muta el original. |
| 1178 | Igualdad o comparación implícitas | 5 | Advertir cuando se deduce implícitamente que una declaración de tipo de F# es NoEquality o pero el atributo no está presente en el NoComparison tipo. |
| 1182 | Variables sin utilizar | N/D | Advertir de variables no utilizadas. |
| 3180 | Asignaciones implícitas del montón | N/D | Advertir cuando un valor local mutable se asigna implícitamente como celda de referencia porque se ha capturado mediante un cierre. |
| 3366 | Notación de índice | N/D | Advertir cuando se usa la notación de índice F# expr.[idx] 5. |
| 3517 | Error de InlineIfLambda | N/D | Advertir cuando el optimizador de F# no puede en línea un valor, por ejemplo, si se ha proporcionado un valor de función calculado en lugar de InlineIfLambda una expresión lambda explícita. |
| 3388 | Conversión implícita adicional | N/D | Advertir cuando se usa implícitamente una conversión upcast adicional, agregada en F# 6. |
| 3389 | Ampliación implícita | N/D | Advertir cuando se usa un ampliación numérico implícito. |
| 3390 | op_Implicit Conversión |
N/D | Advertir cuando se usa una conversión implícita de .NET en un argumento de método. |
Puede habilitar estas advertencias mediante /warnon:NNNN o donde es el número de advertencia <WarnOn>NNNN</WarnOn> NNNN pertinente.
Artículos relacionados
| Title | Descripción |
|---|---|
| Opciones de F# Interactive | Describe las opciones de línea de comandos admitidas por el intérprete de F#, fsi.exe. |
| Referencia de propiedades del proyecto | Describe la interfaz de usuario de los proyectos, incluidas las páginas de propiedades del proyecto que proporcionan opciones de compilación. |