/keyfile (C# コンパイラ オプション)
暗号化キーの格納されたファイル名を指定します。
/keyfile:file
引数
語句 |
定義 |
---|---|
file |
厳密名キーが格納されたファイルの名前。 |
解説
このオプションを使用すると、コンパイラによって、指定したファイルに格納されている公開キーがアセンブリ マニフェストに対して追加され、最終的なアセンブリが秘密キーで署名されます。 キー ファイルを生成するには、コマンド ラインで「sn -k file」と入力します。
/target:module を使用してコンパイルすると、キー ファイル名はモジュールに保持され、/addmodule でアセンブリをコンパイルするときに作成されるアセンブリに組み込まれます。
/keycontainer を使用して、暗号に関する情報をコンパイラに渡すこともできます。 部分署名されたアセンブリを作成する場合は、/delaysign を使用します。
コマンド ライン オプションまたはカスタム属性によって、コンパイル時に /keyfile と /keycontainer の両方が同時に指定されると、コンパイラは先にキー コンテナーを処理します。 コンテナーが検出された場合、アセンブリはキー コンテナーの情報で署名されます。 キー コンテナーが見つからない場合、コンパイラは /keyfile で指定されたファイルを処理します。 成功すると、キー ファイル内の情報を使用して、アセンブリが署名されます。キー情報はキー コンテナーに組み込まれるため (sn -i と同じ)、次回のコンパイルではキー コンテナーが有効になります。
キー ファイルには、公開キーだけが含まれていることがあります。
詳細については、「厳密な名前付きアセンブリの作成と使用」および「アセンブリへの遅延署名」を参照してください。
Visual Studio 開発環境でこのコンパイラ オプションを設定するには
プロジェクトの [プロパティ] ページを開きます。
[署名] プロパティ ページをクリックします。
[厳密な名前のキー ファイルを選択してください] プロパティを変更します。
このコンパイラ オプションには、AssemblyOriginatorKeyFile を使用してプログラムでアクセスできます。