0
A
回答
0
是的,好像我必須手動加載程序集,無論如何。
我發現的一個解決方案是訂閱AppDomain的AssemblyResolve事件。當找不到程序集並且允許您手動提供程序集時引發此事件。
- 重新註冊的事件處理程序這樣
AppDomain.CurrentDomain.AssemblyResolve + = MyResolveEventHandler;
static Assembly MyResolveEventHandler(object sender,ResolveEventArgs args) return {Assembly.LoadFrom(@「OldAsm \ Asm.dll」); }
- 一旦達到使用該特定代碼的代碼在.NET Framework將嘗試加載組件,它會崩潰,將調用的處理程序(MyResolveEventHandler)。
我會繼續尋找解決正確引用的方法,而無需編寫任何代碼,也無需將任何內容放入GAC中。如果有人找到方法,請發佈。
謝謝
0
Activator.CreateInstance。檢查msdn的例子。
相關問題
- 1. 加載兩個不同版本的DLL
- 2. 加載多個版本的DLL
- 3. 版本控制一個文件,而不把它放在一個目錄中
- 4. 在同一進程中加載2個版本的相同DLL
- 5. Windows如何處理加載DLL的兩個不同版本?
- 6. 在GAC中註冊同一程序集的多個版本
- 7. 是否可以在Java中加載同一個DLL的不同版本?
- 8. 在同一進程中加載一組DLL的多個副本
- 9. 如果在GAC中有多個版本,VS會選擇相同的DLL的哪個版本?
- 10. 如何從GAC加載最新版本的dll
- 11. 使用同一個DLL的多個版本
- 12. 引用同一個DLL的多個版本
- 13. 防止從GAC加載dll
- 14. 在JVM中並行加載同一個庫的不同版本
- 15. DirectX多個DLL版本?
- 16. Java:動態加載同一類的多個版本
- 17. haskell中的多態性 - 使用一個函數的多個版本而不給它不同的名稱
- 18. 不同版本加載到同一類
- 19. PHP - 把同一個數組中的多維數組值放入不同的div
- 20. 把一個對象放入一個ByteBuffer而沒有序列化它
- 21. 加載多個mscvrt **。dll版本是否存在問題?
- 22. 與jni在同一個項目中加載多個dll
- 23. 如何將相同程序集的多個版本添加到gac
- 24. 加載一個shell腳本的功能而不執行它
- 25. 對於同一個dll,WiX GAC安裝和regasm不起作用
- 26. 將互操作dll放入GAC?
- 27. 使用installshield替換GAC中版本相同的DLL
- 28. 多個DLL寫入同一個文本文件?
- 29. 把facebook放入Dreamweaver中,不加載
- 30. 的ClickOnce不包括的NuGet System.Runtime DLL部署,因爲版本不同GAC
感謝您的答案,但我試圖避免反思。我想要做的就是強制框架解決到正確的文件。我在這個DLL中有很多不同的類型,並且使用反射會很昂貴的實現。 – Krikor 2010-01-08 16:37:29
您將不得不使用Load ... Methods自己加載DLL。與IO相比,這樣做反射將是微不足道的。反思有一個「壞」的聲譽,因爲大多數人從來沒有衡量它。儘可能避免,是的,但在正確答案時不要完全避開。 – 2010-01-08 23:08:41