MSIL にコンパイル
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]
コンパイルをマネージ コードとき、コンパイラは Microsoft Intermediate Language (MSIL)、ネイティブ コードに効率的に変換できる命令の CPU に依存しないセットであるに、ソース コードを変換します。 MSIL の読み込み、格納、初期化、およびオブジェクトで呼び出しのメソッドについてとが算術演算と論理の操作、制御フロー、ダイレクト メモリ アクセス、例外処理、およびその他の操作方法についてです。 コードを実行できる、MSIL する必要がありますに変換 CPU 固有のコードを通常は、ジャスト イン タイム (JIT) コンパイラ によって。 共通言語ランタイムはサポートしているコンピュータ アーキテクチャごとに 1 つまたは複数の JIT コンパイラを提供をしているため、同じ MSIL セット JIT コンパイルと実行にできます、サポートされているアーキテクチャ。
コンパイラは、MSIL を生成と、メタデータも生成されます。 メタデータは、各種類の定義、各種類のメンバ、メンバをコードの参照をおよび実行時に、ランタイムを使用する他のデータの署名など、コードで種類をに。 MSIL と、メタデータに含まれて、ポータブル実行可能 (PE) ファイルに基づくを公開された Microsoft PE および共通オブジェクト ファイル形式 (COFF) 従来実行可能なコンテンツのために拡張します。 この MSIL またはネイティブ コードと、メタデータに対応するファイル形式によって、オペレーティング システムは、共通言語ランタイム イメージを認識します。 MSIL と共に、ファイル内のメタデータの存在はタイプ ライブラリまたはインターフェイス定義言語 (IDL) 必要がないことをつまりコード自体の記述をできます。 ランタイムを検索し、実行中に必要に応じて、ファイルからのメタデータを抽出します。