-keyfile

アセンブリに厳密な名前を付けるキーまたはキー ペアを含むファイルを指定します。

構文

-keyfile:file

引数

file 必須。 キーが含まれるファイル。 ファイル名に空白が含まれている場合は、名前を二重引用符 (" ") で囲みます。

Remarks

コンパイラでは、アセンブリ マニフェストに公開キーを挿入してから、秘密キーで最終的なアセンブリに署名します。 キー ファイルを生成するには、コマンド ラインで「sn -k file」と入力します。 詳細については、「Sn.exe (厳密名ツール)」を参照してください。

-target:module を指定してコンパイルした場合は、キー ファイルの名前がモジュールに保持され、-addmodule でアセンブリをコンパイルすると作成されるアセンブリに組み込まれます。

また、暗号化情報を -keycontainer でコンパイラに渡すことができます。 部分的に署名されたアセンブリを作成する場合は、-delaysign を使います。

このオプションは、任意の共通中間言語モジュールのソース コードで、カスタム属性 (AssemblyKeyFileAttribute) として指定することもできます。

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

キー ファイルには公開キーだけが含まれる場合があることに注意してください。

アセンブリの署名の詳細については、「厳密な名前付きアセンブリの作成と使用」を参照してください。

Note

-keyfile オプションは、Visual Studio 開発環境からは利用できません。これはコマンド ラインからコンパイルするときにのみ使用できます。

次のコードでは、ソース ファイル Input.vb をコンパイルし、キー ファイルを指定します。

vbc -keyfile:myfile.sn input.vb

関連項目