コンパイラ

Last-modified: 2020-05-25 (月) 20:21:06

書きかけ

オプション

コンパイラにはオプションがあります。

csc /?

という風に打つと、以下のオプションが出力されます。

                        Visual C# Compiler のオプション
                        - 出力ファイル -
/out:<ファイル>                出力ファイル名を指定します (既定: メイン クラスかファースト
                               ファイルを伴うファイルのベース名)。
/target:exe                    コンソール アプリケーションをビルドします (既定)。 (短い形式: /t:exe)
/target:winexe                 Windows 実行可能ファイルをビルドします。 (短い形式: /t:winexe)
/target:library                ライブラリをビルドします。 (短い形式: /t:library)
/target:module                 別のアセンブリに追加できるモジュールをビルドします。 (短い形式: /t:module)
/target:appcontainerexe        Appcontainer 実行可能ファイルのビルド (短い形式: /t:appcontainerexe)
/target:winmdobj               WinMDExp で使用される Windows ランタイムの中間ファイルのビルド (短い形式: /t:winmdobj)
/doc:<ファイル>                生成する XML ドキュメント ファイル
/platform:<文字列>             このコードが実行されるプラットフォームの制限:
                               x86、Itanium、x64、arm、anycpu32bitpreferred、または anycpu。既定は anycpu です。
                        - 入力ファイル -
/recurse:<ワイルドカード>      ワイルドカードの指定に従い、現在のディレクトリとサブディレクトリ内のすべてのファイルをイ
                               ンクルードします。
/reference:<エイリアス>=<ファイル>
                               指定されたエイリアスを使用して、指定されたアセンブリ ファイルからメタベースを参照する
                               (短い形式: /r)
/reference:<ファイル リスト>   指定されたアセンブリ ファイルからメタベースを参照する (短い形式: /r)
/addmodule:<ファイル リスト>   指定されたモジュールをこのアセンブリにリンクする
/link:<ファイル リスト>        指定された相互運用機能アセンブリ ファイルからメタデータを埋め込みます (短い形式: /l)
                        - リソース -
/win32res:<ファイル>           Win32 リソース ファイルを指定します (.res)。
/win32icon:<ファイル>          出力にこのアイコンを使用します。
/win32manifest:<ファイル>      Win32 マニフェスト ファイル (.xml) を指定してください。
/nowin32manifest               既定の Win32 マニフェストを含めません。
/resource:<リソース情報>       指定したリソースを埋め込みます。 (短い形式: /res)
/linkresource:<リソース情報>   このアセンブリに指定されたリソースをリンクします。 (短い形式: /linkres)
                               リソース情報の形式は <ファイル>[,<文字列名>
                               [,public|private]] です。
                        - コード生成 -
/debug[+|-]                    デバッグ情報を生成する
/debug:{full|pdbonly}          デバッグの種類を指定します (既定値は full
                               で、実行中のプログラムにデバッガーを付加することができます)。
/optimize[+|-]                 最適化を有効にする (短い形式: /o)
                        - エラーと警告 -
/warnaserror[+|-]              すべての警告をエラーとして報告する
/warnaserror[+|-]:<警告リスト> 指定した警告をエラーとして報告する
/warn:<n>                      警告レベル (0-4) を設定する (短い形式: /w)
/nowarn:<警告リスト>           指定の警告メッセージを無効にする
                        - 言語 -
/checked[+|-]                  オーバーフロー チェックの生成
/unsafe[+|-]                   アンセーフ コードの許可
/define:<シンボル リスト>      条件付きコンパイル シンボルを定義する (短い形式: /d)
/langversion:<文字列>          言語バージョン モードの指定: ISO-1、ISO-2、3、4、5、または Default
                        - セキュリティ -
/delaysign[+|-]                厳密な名前のキーのパブリックな部分のみを使ってアセンブリを遅延署名します。
/keyfile:<ファイル>            厳密な名前のキー ファイルを指定します。
/keycontainer:<文字列>         厳密な名前のキー コンテナーを指定します。
/highentropyva[+|-]            高エントロピ ASLR の有効化
/enforcecodeintegrity[+|-]     Enforce code intergrity checks on all inputs to the compiler and enable loading compiled
                               assemblies by other programs that enforce code integrity if the operating system is
                               configured to do so.
                        - その他 -
@<ファイル>                    応答ファイルを読み取り、オプションを追加します。
/help                          この使用法のメッセージを表示します。 (短い形式: /?)
/nologo                        コンパイル時の著作権メッセージを表示しません。
/noconfig                      CSC.RSP ファイルを自動的に含めません。
                        - 詳細 -
/baseaddress:<アドレス>        ビルドするライブラリのベース アドレスです。
/bugreport:<ファイル>          'バグ報告' ファイルを作成します
/codepage:<n>                  ソース ファイルを開くときに使用するコードページを指定します。
/utf8output                    UTF-8 エンコードでコンパイラのメッセージを出力する
/main:<型>                     エントリ ポイントを含む型を指定します (他のエントリ ポイントはすべて無視します)。
                               (短い形式: /m)
/fullpaths                     コンパイラは絶対パスを生成します。
/filealign:<n>                 出力ファイル セクションで使用する配置を指定します。
/pdb:<ファイル>                デバッグ情報ファイル名を指定します (既定: .pdb 拡張子の付いた出力ファイル名)
/errorendlocation              各エラーの終了位置の出力行と出力列
/preferreduilang               出力用の言語名を指定します。
/nostdlib[+|-]                 標準ライブラリ (mscorlib.dll) を参照しない
/subsystemversion:<文字列>     このアセンブリのサブシステム バージョンを指定してください
/lib:<ファイル リスト>         参照を検索する追加のディレクトリを指定します。
/errorreport:<文字列>          内部コンパイラ エラーの処理方法を指定します: prompt、send、queue、または none
                               です。既定値は queue です。
/appconfig:<ファイル>          アセンブリ バインディング設定を含むアプリケーション構成ファイルを指定してください
/moduleassemblyname:<文字列>   このモジュールが一部となるアセンブリ名です
  • WindowsFormアプリをコンパイルする場合は
    csc program.cs
    のようにコンパイルすると、「exe」を実行した際にコンソール画面が出てしまいますが、
    以下のように「/target:winexe」をつけることでコンソール画面が出なくなります。
    csc /target:winexe program.cs
  • dllを作成する場合は、以下のように記載します。
    csc -target:library program.cs