Dot-Net

是否可以以程式方式執行程序集重定向

  • June 6, 2013

我們在一些新的類庫中使用 Microsoft 的 Unity 框架進行依賴注入。主應用程序正在使用其他一些需要 Unity v2.0.414 的企業庫(Common 和 Logging),但我們使用 Unity v2.1.515 實現了我們的庫。

為了解決版本差異,我為主應用程序創建了一個 app.Config 並在配置文件中放置了一個 bindingRedirect 條目,效果很好。然而,我們剛剛了解到,到目前為止,該應用程序從未使用過 app.config,而 mgmt 更喜歡這種方式。

那麼是否有可能以程式方式實現程序集重定向(即在程式碼中)?謝謝!

您是否嘗試過AppDomain.AssemblyResolve事件?

這篇文章也可以幫助您如何使用程序集綁定重定向來忽略修訂和內部版本號

public void Load(string assembly)
{
   AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(Method);
   Assembly assembly = Assembly.LoadFrom(assemblyFile);
   // ...
}

引用自:https://stackoverflow.com/questions/16927952