強式名稱的組件
強式名稱 (Strong Name) 是由組件的識別 (Identity),也就是其簡單文字名稱、版本號碼及文化特性資訊 (如果有提供),加上公開金鑰和數位簽章所組成的。 它是使用對應的私密金鑰,從組件檔案 (包含組件資訊清單的檔案,而組件資訊清單則是包含構成組件的所有檔案的名稱和雜湊) 中產生的。 在 Windows Software Development Kit (SDK) 中提供的 Microsoft® Visual Studio® .NET 和其他開發工具,都可以對組件指派強式名稱。 具有相同強式名稱的組件應該是相同的。
您可以使用強式名稱來簽署組件以確保其名稱是全域唯一的。 尤其,強式名稱可以滿足下列需求:
強式名稱可依賴金鑰組 (Key Pairs) 以保證名稱的獨特性。 沒有人能夠產生您所產生的相同組件名稱,因為使用不同私密金鑰產生的組件會有不同的名稱。
強式名稱可保護組件的版本世系 (Lineage)。 強式名稱可確保沒有人能產生您自己組件的後續版本。 使用者可以確定他們載入的組件版本是來自建立用來建置應用程式版本的同一個發行者。
強式名稱可提供強式整體性檢查。 通過 .NET Framework 安全性檢查可保證組件內容從建置之後就未經變更。 不過,請注意,強式名稱本身並未隱含任何如數位簽章和支援憑證所提供的信任層級。
當您參考強式名稱的組件時,您會希望取得某些優點,例如版本控制和命名保護。 如果強式名稱的組件接著又參考簡單名稱但是不具有這些優點的組件,那麼您就會失去這些由於使用強式名稱的組件所可能衍生的優點,而回復到 DLL 衝突的情況。 因此,強式名稱的組件只能參考其他強式名稱的組件。