共用方式為


-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

另請參閱