Configuring Projects (F#)
This topic includes information about how to use the Project Designer when you work with F# projects. Working with F# projects is not significantly different from working with Visual Basic or C# projects. You can often use the general Visual Studio project documentation as your primary reference when you use F#. This topic provides links to relevant information in the Visual Studio documentation for settings that are shared with the other Visual Studio languages, and also describes the settings specific to F#.
The Project Designer and its general use are described fully in the topic Introduction to the Project Designer in the Visual Studio documentation. The Project Designer consists of several pages grouped by related functionality. The pages available for F# projects are mostly a subset of those available for other languages. The pages supported in F# are described in the following table. The pages that are not available relate to features that are not available in F#, or that are available only by changing a command-line option. The pages that are available in F# resemble the C# pages most closely, so a link is provided to the relevant C# Project Designer page.
Project Designer page
Enables you to specify application-level settings and properties, such as whether you are creating a library or an executable file, what version of the .NET Framework the application is targeting, and information about where the resource files that the application uses are stored.
Enables you to control how the code is compiled.
Enables you to specify commands to run before or after a compilation.
Enables you to control how the application runs during debugging. This includes what command-line to use and what your application's starting directory is, and any special debugging modes you want to enable, such as native code and SQL.
Enables you to specify where to search for assemblies that the code depends on.
The following table summarizes settings that are specific to F#.
Project Designer page
Generate tail calls
If selected, enables the use of the tail Microsoft intermediate language (MSIL) instruction. This causes the stack frame to be reused for tail recursive functions. Equivalent to the --tailcalls compiler option.
Allows you to specify additional compiler command-line options.