指定包含金鑰或金鑰組的檔案,以提供元件強名稱。
語法
-keyfile:file
論點
file 必填。 包含金鑰的檔案。 如果檔名包含空格,請以引號括住名稱 (“ ” “ )。
備註
編譯程式會將公鑰插入元件指令清單,然後使用私鑰簽署最終元件。 若要產生金鑰檔,請在命令列中輸入 sn -k file。 如需詳細資訊,請參閱 Sn.exe (強名稱工具) 。
如果您使用 編譯 -target:module,密鑰檔的名稱會保留在模組中,並併入使用 -addmodule 編譯元件時所建立的元件中。
您也可以使用 -keycontainer 將加密資訊傳遞至編譯程式。 如果您想要部分簽署的元件,請使用 -delaysign 。
您也可以在任何通用中繼語言模組的原始程式碼中,將此選項指定為自訂屬性 (AssemblyKeyFileAttribute)。
在 -keyfile 相同的編譯中指定 和 -keycontainer 時,編譯程式會先嘗試密鑰容器,以指定命令行選項或自定義屬性。 如果這個動作成功,則會使用金鑰容器中的資訊來簽署組件。 如果編譯程式找不到密鑰容器,它會嘗試使用 -keyfile指定的檔案。 如果成功,則會使用金鑰檔案中的資訊簽署元件,而且金鑰資訊會安裝在密鑰容器中(類似 sn -i),以便在下一次編譯時,密鑰容器有效。
請注意,金鑰檔案可能只包含公鑰。
如需簽署元件的詳細資訊,請參閱 建立和使用 Strong-Named 元件 。
備註
此選項 -keyfile 無法在Visual Studio開發環境中使用;只有在從命令行進行編譯時,才能使用此選項。
範例
下列程式代碼會編譯原始程序檔 Input.vb ,並指定金鑰檔案。
vbc -keyfile:myfile.sn input.vb