アセンブリに厳密な名前を付けるキーまたはキー ペアを含むファイルを指定します。Specifies a file containing a key or key pair to give an assembly a strong name.




必須です。Required. キーが含まれるファイル。File that contains the key. ファイル名に空白が含まれている場合は、名前を二重引用符 (" ") で囲みます。If the file name contains a space, enclose the name in quotation marks (" ").


コンパイラでは、アセンブリ マニフェストに公開キーを挿入してから、秘密キーで最終的なアセンブリに署名します。The compiler inserts the public key into the assembly manifest and then signs the final assembly with the private key. キー ファイルを生成するには、コマンド ラインで「sn -k file」と入力します。To generate a key file, type sn -k file at the command line. 詳細については、「Sn.exe (厳密名ツール)」を参照してください。For more information, see Sn.exe (Strong Name Tool)).

-target:module を指定してコンパイルした場合は、キー ファイルの名前がモジュールに保持され、-addmodule でアセンブリをコンパイルすると作成されるアセンブリに組み込まれます。If you compile with -target:module, the name of the key file is held in the module and incorporated into the assembly that is created when you compile an assembly with -addmodule.

また、暗号化情報を -keycontainer でコンパイラに渡すことができます。You can also pass your encryption information to the compiler with -keycontainer. 部分的に署名されたアセンブリを作成する場合は、-delaysign を使います。Use -delaysign if you want a partially signed assembly.

このオプションは、任意の Microsoft Intermediate Language モジュールのソース コードで、カスタム属性 (AssemblyKeyFileAttribute) として指定することもできます。You can also specify this option as a custom attribute (AssemblyKeyFileAttribute) in the source code for any Microsoft intermediate language module.

同じコンパイルで (コマンドライン オプションまたはカスタム属性によって) -keyfile-keycontainer の両方が指定されている場合、コンパイラでは最初にキー コンテナーが試されます。In case both -keyfile and -keycontainer are specified (either by command-line option or by custom attribute) in the same compilation, the compiler first tries the key container. それが成功すると、アセンブリはキー コンテナーの情報で署名されます。If that succeeds, then the assembly is signed with the information in the key container. コンパイラでは、キー コンテナーが見つからない場合、-keyfile で指定されたファイルが試されます。If the compiler does not find the key container, it tries the file specified with -keyfile. これが成功すると、アセンブリはキー ファイルの情報で署名され、キー情報はキー コンテナーにインストールされるため (sn -i と同様)、次のコンパイル時にはキー コンテナーが有効になります。If this succeeds, the assembly is signed with the information in the key file, and the key information is installed in the key container (similar to sn -i) so that on the next compilation, the key container will be valid.

キー ファイルには公開キーだけが含まれる場合があることに注意してください。Note that a key file might contain only the public key.

アセンブリの署名の詳細については、「厳密な名前付きアセンブリの作成と使用」を参照してください。See Creating and Using Strong-Named Assemblies for more information on signing an assembly.


-keyfile オプションは、Visual Studio 開発環境内からは利用できません。これはコマンド ラインからコンパイルするときにのみ使用できます。The -keyfile option is not available from within the Visual Studio development environment; it is available only when compiling from the command line.


次のコードでは、ソース ファイル Input.vb をコンパイルし、キー ファイルを指定します。The following code compiles source file Input.vb and specifies a key file.

vbc -keyfile:myfile.sn input.vb

関連項目See also