強式名稱組件 (組件簽署) (C++/CLI)
本主題討論如何簽署元件,通常稱為為元件提供強式名稱。
備註
使用 Visual C++ 時,請使用連結器選項簽署元件,以避免與元件簽署的 CLR 屬性相關的問題:
未使用屬性的原因包括元件中繼資料中可見金鑰名稱的事實,如果檔案名包含機密資訊,可能會有安全性風險。 此外,如果您使用 CLR 屬性為元件指定強式名稱,Visual C++ 開發環境所使用的建置程式將會使元件簽署的金鑰失效,然後在元件上執行 mt.exe 之類的後置處理工具。
如果您在命令列建置,請使用連結器選項簽署元件,然後執行後處理工具(例如 mt.exe),您必須使用 sn.exe 重新簽署元件。 或者,您可以建置並延遲簽署元件,並在執行後續處理工具之後完成簽署。
如果您在開發環境中建置時使用簽署屬性,您可以在建置後事件中明確呼叫 sn.exe (Sn.exe ( Strong Name Tool) 來成功簽署元件。 如需詳細資訊,請參閱指定建置事件。 相較于使用連結器選項,使用屬性和建置後事件,建置時間可能會比較少。
下列連結器選項支援元件簽署:
如需強式元件的詳細資訊,請參閱 建立和使用強式名稱元件 。