我有一個動態加載dll的應用程序。應用程序和 dll使用Functions.dll,它可以是針對每個dll的應用程序的不同版本 ,但在執行時應用程序和dll都使用相同的 dll版本(由EXE使用的版本)和共享靜態變量...C#動態DLL系統問題
我如何強制他們使用自己的Functions.dll(n版本)?
-details:
- 我試圖通過裝載DLL的 「裝配 DLL = Assembly.LoadFile(」 和由 「集DLL = domaindll.Load(」
- 在Functions.dll,人這些方法和對象是靜態
- 我用Functions.dll「靜態」的引用它在所有 情況throught VS不是動態
- 的DLL和Functions.dll在C#開發過
- 文件夾Estructure:
應用:
Application.EXE
Functions.dll(version 1.2)
DLLS:
EXAMPLEDLL1:
EXAMPLEDLL1.DLL
Functions.dll(version 1.1)
EXAMPLEDLL2:
EXAMPLEDLL2.DLL
Functions.dll(version 1.0)
EXAMPLEDLL3:
EXAMPLEDLL3.DLL
Functions.dll(version 1.2)
它是一個很好的解決方案...但我不能簽署Functions.dll,因爲當我在一個測試中使用簽名的Fuctions.dll(靜態引用它到一個項目)時,它會給出每個dll方法中的隨機錯誤。 (這不會發生在未簽名的) 例子: 最好的重載方法匹配-'Funciones.FunSAP。comboboxvaciar(SAPbouiCOM.ComboBox)'有一些無效參數 -'x.Application'不包含'Formx'的定義,也沒有找到接受'x.Application'類型的第一個參數的擴展方法'Formx'(你是否缺少使用指令或程序集引用?) – VSP 2009-06-11 07:49:34
也許你應該編輯你的問題併發佈一個實際的代碼示例。這可能會使問題更加明顯。 – 2009-06-11 13:02:44