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