Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This topic describes compiler command-line options for the F# compiler, fsc.exe. The compilation environment can also be controlled by setting the project properties.
Compiler Options Listed Alphabetically
The following table shows compiler options listed alphabetically. Some of the F# compiler options are similar to the C# compiler options. If that is the case, a link to the C# compiler options topic is given.
Compiler Option |
Description |
---|---|
-a <output-filename> |
Used to generate a library and specify its filename. This option is a short form of --target:library <filename>. |
--baseaddress:<string> |
Used to specify the base address of the library to be built. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /baseaddress (C# Compiler Options). |
--codepage:<int> |
Used to specify the codepage used to read source files. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /codepage (C# Compiler Options). |
--crossoptimize[+|-] |
Enable or disable cross-module optimizations. |
--delaysign[+|-] |
Used to delay-sign the assembly using only the public portion of the strong name key This compiler option is equivalent to the C# compiler option of the same name. For more information, see /delaysign (C# Compiler Options). |
--checked[+|-] |
Used to enable or disable generation of overflow checks. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /checked (C# Compiler Options). |
--debug[+|-] -g[+|-] --debug:[full|pdbonly] -g: [full|pdbonly] |
Used to enable or disable the generation of debug information, or to specify the type of debug information to generate. The default is full, which allows attaching to a running program. Choose pdbonly to get limited debugging information stored in a pdb (program database) file. This compiler option is equivalent to the C# compiler option of the same name. For more information, see |
--define:<string> -d:<string> |
Used to define a symbol for use in conditional compilation. |
--doc:<xmldoc-filename> |
Used to instruct the compiler generate XML documentation comments to the file specified. For more information, see XML Documentation (F#). This compiler option is equivalent to the C# compiler option of the same name. For more information, see /doc (C# Compiler Options). |
--fullpaths |
Used to instruct the compiler to generate fully qualified paths. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /fullpaths (C# Compiler Options). |
--help -? |
Used to display usage information, including a brief description of all the compiler options. |
--keycontainer:<string> |
Used to specify a strong name key container. |
--keyfile:<filename> |
Used to specify the name of a public key file to use to sign the generated assembly. |
--lib:<folder-name> -I:<folder-name> |
Used to specify a directory to be searched for assemblies that are referenced. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /lib (C# Compiler Options) |
--linkresource:<resource-info> |
Used to link a specified resource to the assembly. The format of resource-info is filename[,name[,public|private]] Linking a single resource with this option is an alternative to embedded an entire resource file with the --resource option. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /linkresource (C# Compiler Options). |
--mlcompatibility |
Used to ignore warnings that appear when you use features that are designed for compatibility with other versions of ML. |
--noframework |
Used to disable the default reference to the .NET Framework assembly. |
--nointerfacedata |
Used to instruct the compiler to omit the resource it normally adds to an assembly that includes F#-specific metadata. |
--nologo |
Don't show the banner text when launching the compiler. |
--nooptimizationdata |
Used to instruct the compiler to only include optimization essential for implementing inlined constructs. Inhibits cross-module inlining but improves binary compatibility. |
--nowin32manifest |
Used to instruct the compiler to omit the default Win32 manifest. |
--nowarn:<int-list> |
Disable specific warnings listed by number. Separate each warning number by a comma. You can discover the warning number for any warning from the compilation output. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /nowarn (C# Compiler Options). |
--optimize[+|-] [<string-list>] -O[+|-] [<string-list>] |
Used to enable or disable optimizations. Some optimization options can be disabled or enabled selectively by listing them. These are: nojitoptimize, nojittracking, nolocaloptimize, nocrossoptimize, notailcalls. |
--out:<output-filename> -o:<output-filename> |
Used to specify the name of the compiled assembly or module. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /out (C# Compiler Options). |
--pdb:<pdb-filename> |
Name the output debug PDB (program database) file. This option only applies when --debug is also enabled. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /pdb (C# Compiler Options). |
--platform:<platform-name> |
Used to specify that the generated code will only run on the specified platform (x86, Itanium, or x64), or, if the platform-name anycpu is chosen, specifies that the generated code can run on any platform. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /platform (C# Compiler Options). |
--reference:<assembly-filename> -r <assembly-filename> |
Used to make code from an F# or .NET assembly available to the code being compiled. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /reference (C# Compiler Options). |
--resource:<resource-filename> |
Used to embed a managed resource file into the generated assembly. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /resource (C# Compiler Options). |
--sig:<signature-filename> |
Used to generate a signature file based on the generated assembly. For more information about signature files, see Signatures (F#). |
--simpleresolution |
Used to specify that assembly references should be resolved using directory-based Mono rules rather than MSBuild resolution. The default is to use MSBuild resolution except when running under Mono. |
--standalone |
Specifies to statically link the F# library and all referenced DLLs that the code being compiled depends on into the assembly being generated. |
--staticlink:<assembly-name> |
Used to statically link the given assembly and all referenced DLLs that depend on this assembly. Use the assembly name, not the DLL name. |
--tailcalls[+|-] |
Enable or disable the use of the tail IL instruction, which causes the stack frame to be reused for tail recursive functions. This option is enabled by default. |
--target:[exe | winexe | library | module ] <output-filename> |
Used to specify the type and file name of the generated compiled code.
|
--times |
Display timing information for compilation. |
--utf8output |
Used to enable printing compiler output in the UTF-8 encoding. |
--warn:<warning-level> |
Set a warning level (0 to 4). Each warning is given a level based on its severity. Level 4 gives more, but less severe, warnings, than level 0. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /warn (C# Compiler Options). |
--warnaserror[+|-] [<int-list>] |
Used to enable or disable the option to report warnings as errors. You can provide specific warning numbers to be disabled or enabled. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /warnaserror (C# Compiler Options). |
--win32res:resource-filename |
Used to add a Win32 resource file to the compilation. This compiler option is equivalent to the C# compiler option of the same name. For more information, see /win32res (C# Compiler Options). |
Related Topics
Title |
Description |
---|---|
Describes command-line options supported by the F# interpreter, fsi.exe. |
|
Describes the UI for projects, including project property pages that provide build options. |