/KEYFILE (アセンブリに署名するためのキーまたはキー ペアの指定)
/KEYFILE:filename
引数
filename
キーが含まれるファイル。 空白が含まれている場合は、文字列を二重引用符 (" ") で囲みます。
解説
リンカーは、アセンブリ マニフェストに公開キーを挿入してから、秘密キーで最終的なアセンブリに署名します。 キー ファイルを生成するには、コマンド ラインで「 sn -k filename 」と入力します。 署名されたアセンブリは、"厳密な名前" を持っているといわれます。
/LN を指定してコンパイルした場合は、キー ファイルの名前がモジュールに保持され、#using によって、または /ASSEMBLYMODULE でリンクして、モジュールへの明示的な参照を含むアセンブリをコンパイルすると、作成されるアセンブリに組み込まれます。
また、暗号化情報を /KEYCONTAINER でリンカーに渡すことができます。 部分的に署名されたアセンブリを作成する場合は、/DELAYSIGN を使用します。 アセンブリへの署名について詳しくは、「厳密名アセンブリ (アセンブリ署名) (C++/CLI)」と「厳密な名前付きアセンブリの作成と使用」をご覧ください。
/KEYFILE と /KEYCONTAINER の両方を (コマンドライン オプションまたはカスタム属性によって) 指定すると、リンカーは最初にキー コンテナーを試します。 それが成功すると、アセンブリはキー コンテナーの情報で署名されます。 キー コンテナーが見つからない場合、リンカーは /KEYFILE で指定されたファイルを試します。 ファイルが検出された場合、アセンブリはキー ファイルの情報で署名され、キー情報はキー コンテナーにインストールされるため (sn -i と同様)、次のコンパイル時にはキー コンテナーが有効になります。
キー ファイルには公開キーだけが含まれる場合があります。
アセンブリの生成に影響を与えるその他のリンカー オプションは次のとおりです。
Visual Studio 開発環境でこのリンカー オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。
[構成プロパティ]>[リンカー]>[コマンド ライン] プロパティ ページを選択します。
[追加のオプション] ボックスにオプションを入力します。
このリンカーをコードから設定するには
- 以下を参照してください。AdditionalOptions