-keyfile

Указывает файл, содержащий ключ или пару ключей, чтобы задать для сборки строгое имя.

Синтаксис

-keyfile:file  

Аргументы

file
Обязательный. Файл, который содержит ключ. Если имя файла содержит пробел, заключите это имя в кавычки (" ").

Замечания

Компилятор вставляет открытый ключ в манифест сборки, а затем подписывает окончательную сборку закрытым ключом. Чтобы создать файл ключа, в командной строке введите sn -k file. Дополнительные сведения см. в статье Sn.exe (средство строгих имен).

При компиляции с параметром -target:module имя файла ключа сохраняется в модуле и включается в сборку, создаваемую при компиляции с параметром -addmodule.

Также можно передать сведения о шифровании компилятору с помощью параметра -keycontainer. Если требуется использовать частично подписанную сборку, применяйте параметр -delaysign.

Этот параметр можно также указать в исходном коде любого модуля MSIL в качестве настраиваемого атрибута (AssemblyKeyFileAttribute).

Если для одной процедуры компиляции одновременно заданы параметры -keyfile и -keycontainer (в командной строке или с помощью пользовательских атрибутов), то сначала компилятор пытается использовать контейнер ключей. В случае успеха сборка подписывается данными контейнера ключей. Если компилятору не удастся обнаружить контейнер ключей, будет предпринята попытка использовать файл, заданный параметром -keyfile. В случае успеха сборка подписывается данными из файла ключей, и эти данные о ключах помещаются в контейнер ключей (аналогично команде sn -i). Теперь при следующей компиляции контейнер ключей будет действителен.

Обратите внимание, что файл ключей может содержать только открытый ключ.

Дополнительные сведения см. в статье Создание и использование сборок со строгими именами.

Примечание.

Параметр -keyfile недоступен в среде разработки Visual Studio. Его можно использовать только при компиляции из командной строки.

Пример

Следующий код компилирует Input.vb и определяет файл ключей.

vbc -keyfile:myfile.sn input.vb

См. также