/KEYFILE (アセンブリに署名するためのキーまたはキー ペアの指定)

/KEYFILE:filename

引数

filename
キーが含まれるファイル。 空白が含まれている場合は、文字列を二重引用符 (" ") で囲みます。

解説

リンカーは、アセンブリ マニフェストに公開キーを挿入してから、秘密キーで最終的なアセンブリに署名します。 キー ファイルを生成するには、コマンド ラインで「 sn -k filename 」と入力します。 署名されたアセンブリは、"厳密な名前" を持っているといわれます。

/LN を指定してコンパイルした場合は、キー ファイルの名前がモジュールに保持され、#using によって、または /ASSEMBLYMODULE でリンクして、モジュールへの明示的な参照を含むアセンブリをコンパイルすると、作成されるアセンブリに組み込まれます。

また、暗号化情報を /KEYCONTAINER でリンカーに渡すことができます。 部分的に署名されたアセンブリを作成する場合は、/DELAYSIGN を使用します。 アセンブリへの署名について詳しくは、「厳密名アセンブリ (アセンブリ署名) (C++/CLI)」と「厳密な名前付きアセンブリの作成と使用」をご覧ください。

/KEYFILE/KEYCONTAINER の両方を (コマンドライン オプションまたはカスタム属性によって) 指定すると、リンカーは最初にキー コンテナーを試します。 それが成功すると、アセンブリはキー コンテナーの情報で署名されます。 キー コンテナーが見つからない場合、リンカーは /KEYFILE で指定されたファイルを試します。 ファイルが検出された場合、アセンブリはキー ファイルの情報で署名され、キー情報はキー コンテナーにインストールされるため (sn -i と同様)、次のコンパイル時にはキー コンテナーが有効になります。

キー ファイルには公開キーだけが含まれる場合があります。

アセンブリの生成に影響を与えるその他のリンカー オプションは次のとおりです。

Visual Studio 開発環境でこのリンカー オプションを設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。

  2. [構成プロパティ]>[リンカー]>[コマンド ライン] プロパティ ページを選択します。

  3. [追加のオプション] ボックスにオプションを入力します。

このリンカーをコードから設定するには

関連項目

MSVC リンカーのリファレンス
MSVC リンカー オプション