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