-keyfile
Указывает файл, содержащий ключ или пару ключей, чтобы задать для сборки строгое имя.
Синтаксис
-keyfile:file
Аргументы
file
Обязательный. Файл, который содержит ключ. Если имя файла содержит пробел, заключите это имя в кавычки (" ").
Замечания
Компилятор вставляет открытый ключ в манифест сборки, а затем подписывает окончательную сборку закрытым ключом. Чтобы создать файл ключа, в командной строке введите sn -k file
. Дополнительные сведения см. в статье Sn.exe (средство строгих имен).
При компиляции с параметром -target:module
имя файла ключа сохраняется в модуле и включается в сборку, создаваемую при компиляции с параметром -addmodule.
Также можно передать сведения о шифровании компилятору с помощью параметра -keycontainer. Если требуется использовать частично подписанную сборку, применяйте параметр -delaysign.
Этот параметр можно также указать в качестве пользовательского атрибута (AssemblyKeyFileAttribute) в исходном коде для любого модуля общего промежуточного языка.
Если для одной процедуры компиляции одновременно заданы параметры -keyfile
и -keycontainer (в командной строке или с помощью пользовательских атрибутов), то сначала компилятор пытается использовать контейнер ключей. В случае успеха сборка подписывается данными контейнера ключей. Если компилятору не удастся обнаружить контейнер ключей, будет предпринята попытка использовать файл, заданный параметром -keyfile
. В случае успеха сборка подписывается данными из файла ключей, и эти данные о ключах помещаются в контейнер ключей (аналогично команде sn -i
). Теперь при следующей компиляции контейнер ключей будет действителен.
Обратите внимание, что файл ключей может содержать только открытый ключ.
Дополнительные сведения см. в статье Создание и использование сборок со строгими именами.
Примечание.
Параметр -keyfile
недоступен в среде разработки Visual Studio. Его можно использовать только при компиляции из командной строки.
Пример
Следующий код компилирует Input.vb
и определяет файл ключей.
vbc -keyfile:myfile.sn input.vb