コンパイラ オプションCompiler Options

このトピックでは、F# コンパイラ (fsc.exe) のコマンド ライン オプションについて説明します。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. 一部の F# コンパイラ オプションは C# コンパイラ オプションに似ています。Some of the F# compiler options are similar to the C# compiler options. それらについては、C# コンパイラ オプションのトピックへのリンクも用意されています。If that is the case, a link to the C# compiler options topic is provided.

コンパイラ オプションCompiler Option 説明Description
-a filename.fs 指定したファイルからライブラリを生成します。Generates a library from the specified file. このオプションの短い形式は、--target:library filename.fsします。This option is a short form of --target:library filename.fs.
--baseaddress:address DLL を読み込む位置に推奨されるベース アドレスを指定します。Specifies the preferred base address at which to load a DLL.

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /baseaddress (C#コンパイラ オプション)します。For more information, see /baseaddress (C# Compiler Options).
--codepage:id 必要なページが、システムの現在の既定のコード ページがない場合は、コンパイル時に使用するコード ページを指定します。Specifies which code page to use during compilation if the required page isn't the current default code page for the system.

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /コード ページ(C#コンパイラ オプション)します。For more information, see /code pages (C# Compiler Options).
--consolecolors エラーおよび警告がコンソールの色分けされたテキストを使用することを指定します。Specifies that errors and warnings use color-coded text on the console.
--crossoptimize[+|-] モジュール間の最適化を有効または無効にします。Enables or disables cross-module optimizations.
--delaysign[+|-] 厳密な名前のキーのパブリックな部分のみを使ってアセンブリに遅延署名します。Delay-signs the assembly using only the public portion of the strong name key.

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /delaysign (C#コンパイラ オプション)します。For more information, see /delaysign (C# Compiler Options).
--checked[+|-] オーバーフロー チェックの生成を有効または無効にします。Enables or disables the generation of overflow checks.

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /チェック(C#コンパイラ オプション)します。For more information, see /checked (C# Compiler Options).
--debug[+|-]

-g[+|-]

--debug:[full|pdbonly]

-g: [full|pdbonly]
デバッグ情報の生成を有効または無効にしたり、生成するデバッグ情報の種類を指定したりします。Enables or disables the generation of debug information, or specifies the type of debug information to generate. 既定値は、実行中のプログラムにアタッチできる full です。The default is full, which allows attaching to a running program. 選択pdbonly pdb (プログラム データベース) ファイルに格納されている制限のデバッグ情報を取得します。Choose pdbonly to get limited debugging information stored in a pdb (program database) file.

同じ名前の C# コンパイラ オプションに相当します。Equivalent to the C# compiler option of the same name. 詳細については、次のトピックを参照してください。For more information, see

/デバッグ(C#コンパイラ オプション)します。/debug (C# Compiler Options).
--define:symbol

-d:symbol
条件付きコンパイルで使用する記号を定義します。Defines a symbol for use in conditional compilation.
--deterministic[+|-] (モジュールのバージョン GUID、タイムスタンプを含む) の決定論的アセンブリを生成します。Produces a deterministic assembly (including module version GUID and timestamp). このオプションは、ワイルドカードのバージョン番号では使用できず、だけ埋め込みと移植可能な種類のデバッグをサポートThis option cannot be used with wildcard version numbers, and only supports embedded and portable debugging types
--doc:xmldoc-filename 指定したファイルに XML ドキュメント コメントを生成するようにコンパイラに指示します。Instructs the compiler to generate XML documentation comments to the file specified. 詳細については、「 XML Documentation」を参照してください。For more information, see XML Documentation.

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /doc (C#コンパイラ オプション)します。For more information, see /doc (C# Compiler Options).
--fullpaths 絶対パスを生成するようコンパイラに指示します。Instructs the compiler to generate fully qualified paths.

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /fullpaths (C#コンパイラ オプション)します。For more information, see /fullpaths (C# Compiler Options).
--help

-?
使用方法を表示します。すべてのコンパイラ オプションの簡単な説明が表示されます。Displays usage information, including a brief description of all the compiler options.
--highentropyva[+|-] 強化されたセキュリティ機能である、高いエントロピの ASLR (Address Space Layout Randomization) を有効または無効にします。Enable or disable high-entropy address space layout randomization (ASLR), an enhanced security feature. OS は、アプリケーションのインフラストラクチャ (スタックとヒープなど) が読み込まれるメモリの位置をランダム化します。The OS randomizes the locations in memory where infrastructure for applications (such as the stack and heap) are loaded. このオプションを有効にすると、オペレーティング システムではこのランダム化を使用して、64 ビット コンピューターで完全な 64 ビット アドレス空間を使用できます。If you enable this option, operating systems can use this randomization to use the full 64-bit address-space on a 64-bit machine.
--keycontainer:key-container-name 厳密な名前のキー コンテナーを指定します。Specifies a strong name key container.
--keyfile:filename 生成されるアセンブリの署名に使用する公開キー ファイルの名前を指定します。Specifies the name of a public key file for signing the generated assembly.
--lib:folder-name

-I:folder-name
参照されるアセンブリを検索するディレクトリを指定します。Specifies a directory to be searched for assemblies that are referenced.

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /lib (C#コンパイラ オプション)します。For more information, see /lib (C# Compiler Options).
--linkresource:resource-info 指定されたリソースをアセンブリにリンクさせます。Links a specified resource to the assembly. リソース情報の形式は filename[name[public|private]]The format of resource-info is filename[name[public|private]]

このオプションで単一のリソースをリンクすると、--resource オプションでリソース ファイル全体を埋め込む代わりの方法として使用できます。Linking a single resource with this option is an alternative to embedding an entire resource file with the --resource option.

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /linkresource (C#コンパイラ オプション)します。For more information, see /linkresource (C# Compiler Options).
--mlcompatibility 他のバージョンの ML との互換性維持を目的に設計された機能を使用するときに、表示される警告を無視します。Ignores warnings that appear when you use features that are designed for compatibility with other versions of ML.
--noframework .NET Framework アセンブリへの既定の参照を無効にします。Disables the default reference to the .NET Framework assembly.
--nointerfacedata F# 固有のメタデータを含むアセンブリに通常は追加されるリソースを省略するよう、コンパイラに指示します。Instructs the compiler to omit the resource it normally adds to an assembly that includes F#-specific metadata.
--nologo コンパイラの起動時にバナー テキストが表示されないようにします。Doesn't show the banner text when launching the compiler.
--nooptimizationdata インライン構成要素の実装に必要な場合にのみ最適化を行うよう、コンパイラに指示します。Instructs the compiler to only include optimization essential for implementing inlined constructs. モジュール間のインライン処理を禁止し、バイナリの互換性を改善してください。Inhibits cross-module inlining but improves binary compatibility.
--nowin32manifest 既定の Win32 マニフェストを省略するようコンパイラに指示します。Instructs the compiler to omit the default Win32 manifest.
--nowarn:warning-number-list 番号で指定した特定の警告を無効にします。Disables 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.

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /nowarn (C#コンパイラ オプション)します。For more information, see /nowarn (C# Compiler Options).
--optimize[+|-][optimization-option-list]

-O[+|-] [optimization-option-list]
最適化を有効または無効にします。Enables or disables optimizations. 一部の最適化オプションについては、選択して指定したものだけを無効または有効にすることができます。Some optimization options can be disabled or enabled selectively by listing them. これには、nojitoptimizenojittrackingnolocaloptimizenocrossoptimizenotailcalls があります。These are: nojitoptimize, nojittracking, nolocaloptimize, nocrossoptimize, notailcalls.
--out:output-filename

-o:output-filename
コンパイルしたアセンブリまたはモジュールの名前を指定します。Specifies the name of the compiled assembly or module.

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /アウト(C#コンパイラ オプション)します。For more information, see /out (C# Compiler Options).
--pdb:pdb-filename 出力デバッグ PDB (プログラム データベース) ファイルに名前を付けます。Names the output debug PDB (program database) file. このオプションは、--debug も有効にした場合にのみ適用されます。This option only applies when --debug is also enabled.

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /pdb (C#コンパイラ オプション)します。For more information, see /pdb (C# Compiler Options).
--platform:platform-name 生成されたコードが、指定したプラットフォーム (x86Itanium、または x64) でのみ実行されるように指定します。または、platform-name で anycpu が選択されている場合は、生成されたコードをどのプラットフォームでも実行できるように指定します。Specifies 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.

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /プラットフォーム(C#コンパイラ オプション)します。For more information, see /platform (C# Compiler Options).
--preferreduilang:lang 出力用の言語のカルチャ名を指定します (たとえば、 es-ESja-JP)。Specifies the preferred output language culture name (for example, es-ES, ja-JP).
--quotations-debug 追加のデバッグ情報が F# 引用符リテラルとリフレクション定義から派生した式に対して生成されるように指定します。Specifies that extra debugging information should be emitted for expressions that are derived from F# quotation literals and reflected definitions. デバッグ情報は F# 式ツリー ノードのカスタム属性に追加されます。The debug information is added to the custom attributes of an F# expression tree node. 参照してくださいコード クォートExpr.CustomAttributesします。See Code Quotations and Expr.CustomAttributes.
--reference:assembly-filename

-r:assembly-filename
コンパイルするコードで F# または .NET Framework アセンブリのコードを使用できるようにします。Makes code from an F# or .NET Framework assembly available to the code being compiled.

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /参照(C#コンパイラ オプション)します。For more information, see /reference (C# Compiler Options).
--resource:resource-filename 生成されるアセンブリにマネージド リソース ファイルを埋め込みます。Embeds a managed resource file into the generated assembly.

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /リソース(C#コンパイラ オプション)します。For more information, see /resource (C# Compiler Options).
--sig:signature-filename 生成されるアセンブリに基づいてシグネチャ ファイルを生成します。Generates a signature file based on the generated assembly. シグネチャ ファイルの詳細については、次を参照してください。署名します。For more information about signature files, see Signatures.
--simpleresolution MSBuild の解決方法ではなくディレクトリベースの Mono 規則を使用して解決する必要がある、アセンブリ参照を指定します。Specifies that assembly references should be resolved using directory-based Mono rules rather than MSBuild resolution. 既定では、Mono で実行する場合を除き、MSBuild の解決方法が使用されます。The default is to use MSBuild resolution except when running under Mono.
--standalone F# ライブラリなどの追加のアセンブリを行わなくても、単独で実行できるように、すべての依存関係を含むアセンブリを生成するように指定します。Specifies to produce an assembly that contains all of its dependencies so that it runs by itself without the need for additional assemblies, such as the F# library.
--staticlink:assembly-name 指定したアセンブリと、そのアセンブリに依存するすべての参照 DLL を静的にリンクします。Statically links the given assembly and all referenced DLLs that depend on this assembly. DLL 名ではなく、アセンブリ名を使用します。Use the assembly name, not the DLL name.
--subsystemversion 生成された実行可能ファイルが使用できる OS サブシステムのバージョンを指定します。Specifies the version of the OS subsystem to be used by the generated executable. Windows 8.1、Windows 7、Windows Vista の場合は 6.00 の場合は 6.01 6.02 を使用します。Use 6.02 for Windows 8.1, 6.01 for Windows 7, 6.00 for Windows Vista. このオプションは、DLL ではなく、実行可能ファイルのみに適用され、アプリケーションが OS の特定のバージョンでのみ使用できる特定のセキュリティ機能に依存している場合にのみ使用される必要があります。This option only applies to executables, not DLLs, and need only be used if your application depends on specific security features available only on certain versions of the OS. このオプションが使用され、低いバージョンの OS でアプリケーションを実行しようとすると、失敗してエラー メッセージが表示されます。If this option is used, and a user attempts to execute your application on a lower version of the OS, it will fail with an error message.
--tailcalls[+|-] tail IL 命令の使用を有効または無効にします。有効にすると、スタック フレームが tail 再帰関数で再利用されます。Enables or disables 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] filename 生成されるコンパイル済みコードの種類とファイル名を指定します。Specifies the type and file name of the generated compiled code.
  • exe はコンソール アプリケーションを表します。exe means a console application.
  • winexe は Windows アプリケーションを表します。コンソール アプリケーションとの違いは、標準入出力ストリーム (stdin、stdout、および stderr) が定義されていないことです。winexe means a Windows application, which differs from the console application in that it does not have standard input/output streams (stdin, stdout, and stderr) defined.
  • library は、エントリ ポイントのないアセンブリです。library is an assembly without an entry point.
  • module は .NET Framework モジュール (.netmodule) です。後で他のモジュールと組み合わせて、1 つのアセンブリにまとめることができます。module is a .NET Framework module (.netmodule), which can later be combined with other modules into an assembly.
    • このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /ターゲット(C#コンパイラ オプション)します。For more information, see /target (C# Compiler Options).
    --times コンパイルのタイミング情報を表示します。Displays timing information for compilation.
    --utf8output UTF-8 エンコーディングでのコンパイラ出力を有効にします。Enables printing compiler output in the UTF-8 encoding.
    --warn:warning-level 警告レベル (0 ~ 5) を設定します。Sets a warning level (0 to 5). 既定のレベルは 3 です。The default level is 3. 各警告には、重大度に基づいてレベルが設定されます。Each warning is given a level based on its severity. レベル 5 の方が重大度は低くなりますが、レベル 1 より多くの警告が表示されます。Level 5 gives more, but less severe, warnings than level 1.

    レベル 5 の警告は次のとおりです。21 (実行時チェック再帰を使用)、22 (let rec順不同の評価)、45 (完全な抽象化)、および 52 (防御的コピー) します。Level 5 warnings are: 21 (recursive use checked at runtime), 22 (let rec evaluated out of order), 45 (full abstraction), and 52 (defensive copy). 他の警告はすべてレベル 2 です。All other warnings are level 2.

    このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /警告(C#コンパイラ オプション)します。For more information, see /warn (C# Compiler Options).
    --warnon:warning-number-list 既定でオフに可能性がありますまたは別のコマンド ライン オプションで無効になっている特定の警告を有効にします。Enable specific warnings that might be off by default or disabled by another command-line option. F# 3.0 では、1182 (使用されていない変数) の警告は既定ではオフに設定されています。In F# 3.0, only the 1182 (unused variables) warning is off by default.
    --warnaserror[+|-] [warning-number-list] 警告をエラーとして報告するオプションを有効または無効にします。Enables or disables the option to report warnings as errors. 特定の警告番号を指定して無効または有効にすることができます。You can provide specific warning numbers to be disabled or enabled. 後のコマンド ラインのオプションが前のコマンド ラインのオプションをオーバーライドします。Options later in the command line override options earlier in the command line. たとえば、警告をエラーとして報告したくないを指定する次のように指定します。 --warnaserror+ --warnaserror-:warning-number-listします。For example, to specify the warnings that you don't want reported as errors, specify --warnaserror+ --warnaserror-:warning-number-list.

    このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /warnaserror (C#コンパイラ オプション)します。For more information, see /warnaserror (C# Compiler Options).
    --win32manifest:manifest-filename コンパイルに Win32 マニフェスト ファイルを追加します。Adds a Win32 manifest file to the compilation. このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /win32manifest (C#コンパイラ オプション)します。For more information, see /win32manifest (C# Compiler Options).
    --win32res:resource-filename コンパイルに Win32 リソース ファイルを追加します。Adds a Win32 resource file to the compilation.

    このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。This compiler option is equivalent to the C# compiler option of the same name. 詳細については、次を参照してください。 /win32res ((C#) コンパイラ オプション)します。For more information, see /win32res ((C#) Compiler Options).
    タイトルTitle 説明Description
    F# Interactive オプションF# Interactive Options F# インタープリター (fsi.exe) でサポートされるコマンド ライン オプションについて説明します。Describes command-line options supported by the F# interpreter, fsi.exe.
    プロジェクトのプロパティのリファレンスProject Properties Reference ビルド オプションを提供するプロジェクトのプロパティのページなど、プロジェクトの UI について説明します。Describes the UI for projects, including project property pages that provide build options.