Specifies a key container name for a key pair to give an assembly a strong name.




Term Definition
container Required. Container file that contains the key. Enclose the file name in quotation marks ("") if the name contains a space.


The compiler creates the sharable component by inserting a public key into the assembly manifest and by signing the final assembly with the private key. To generate a key file, type sn -k``file at the command line. The -i option installs the key pair into a container. For more information, see [Sn.exe (Strong Name Tool)]Sn.exe (Strong Name Tool)).

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.

You can also specify this option as a custom attribute (AssemblyKeyNameAttribute) in the source code for any Microsoft intermediate language (MSIL) module.

You can also pass your encryption information to the compiler with -keyfile. Use -delaysign if you want a partially signed assembly.

See Creating and Using Strong-Named Assemblies for more information on signing an assembly.


The -keycontainer option is not available from within the Visual Studio development environment; it is available only when compiling from the command line.


The following code compiles source file Input.vb and specifies a key container.

vbc -keycontainer:key1 input.vb  

See Also

Assemblies and the Global Assembly Cache
Visual Basic Command-Line Compiler
Sample Compilation Command Lines