-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