在開發上有時我們會需要將組件版本導向,可能是因為不同專案用到不同版本的相依組件,或是基於某些原因要將某個組件用特定版本替換。這時我們可以透過 Assembly Binding Redirect 來做到這件事。
Assembly Binding Redirect 可在電腦或是應用程式層級進行組件的導向,這邊以應用程式層級的導向做個簡單的介紹。
首先,Config 檔內必須在 configuration untime
節點下加入 assemblyBinding 節點,其 xmlns 屬性需指定字串 “urn:schemas-microsoft-com:asm.v1”。
...
...
...
若要限定特定 .NET Framework 版本的組件才做導向,可加上 appliesTo 屬性,並指定 .NET Framework 的版本。像是要指定只對 .NET 3.5 的組件導向的話可下面這樣編寫:
...
...
...
接著在 assemblyBinding 下我們需加上 assemblyIdentity 節點,用以指定所要導向的組件。像是要導向 Json.NET 組件的話就會像下面這樣:
...
...
...
最後在 assemblyBinding 下再加上 bindingRedirect 節點,用以指定要從哪個版本導向哪個版本就可以了。
-->