-keyfile-keyfile

Указывает файл, содержащий ключ или пару ключей, чтобы задать для сборки строгое имя.Specifies a file containing a key or key pair to give an assembly a strong name.

СинтаксисSyntax

-keyfile:file  

АргументыArguments

file
Обязательный.Required. Файл, который содержит ключ.File that contains the key. Если имя файла содержит пробел, заключите это имя в кавычки (" ").If the file name contains a space, enclose the name in quotation marks (" ").

ПримечанияRemarks

Компилятор вставляет открытый ключ в манифест сборки, а затем подписывает окончательную сборку закрытым ключом.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.

Этот параметр можно также указать в исходном коде любого модуля MSIL в качестве настраиваемого атрибута (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.

ПримерExample

Следующий код компилирует Input.vb и определяет файл ключей.The following code compiles source file Input.vb and specifies a key file.

vbc -keyfile:myfile.sn input.vb

См. такжеSee also