不完整的組件參考和並存執行
由於不完整的組件參考是並存問題的潛在來源,因此只能使用它們來繫結至應用程式目錄中的組件。請避免在您的程式碼中使用不完整的組件參考。
若要減少程式碼中不完整的組件參考,您可以在應用程式組態檔中使用 <qualifyAssembly> 項目,讓程式碼中不完整的組件參考變完整。請使用 <qualifyAssembly> 項目只指定不完整的參考中未設定的欄位。fullName 屬性列出的組件識別 (Identity) 必須包含使組件名稱完整的所有必要資訊:組件名稱、公開金鑰 (Public Key)、文化特性 (Culture) 和版本。
下列範例顯示使組件 myAssembly
完整的應用程式組態檔項目:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="myAssembly"
fullName="myAssembly,
version=1.0.0.0,
publicKeyToken=...,
culture=neutral"/>
</assemblyBinding>
當組件載入陳述式參考 myAssembly
時,這些組態檔設定就會使執行階段自動將不完整的 myAssembly
參考轉譯成完整的參考。例如,Assembly.Load("myAssembly") 變成 Assembly.Load("myAssembly, version=1.0.0.0, publicKeyToken=..., culture=neutral")。
注意事項 |
---|
您可以使用 LoadWithPartialName 方法,略過禁止從全域組件快取載入不完整參考組件的 Common Language Runtime 限制。這個方法只能用於遠端處理案例,因為它很容易造成並存執行的問題。 |