次の方法で共有


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

/KEYFILE:filename

引数

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

解説

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

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

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

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

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

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

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

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。
  2. [構成プロパティ]>[リンカー]>[コマンド ライン] プロパティ ページを選択します。
  3. [追加のオプション] ボックスにオプションを入力します。

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

関連項目

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