我在c#.net中編寫了一個dll,它調用應用程序中的另一個第三方.NET dll。在VB6應用程序中使用.NET dll
Assembly u = Assembly.LoadFrom(dllLocation);
Type t = u.GetType("MyLIB.CLass");
MethodInfo m = t.GetMethod("Method");
object[] myparam = new object[1];
myparam[0] = fileLocation;
result = (string)m.Invoke(null, myparam);
請注意,某些文件被該DLL初始時以及使用位置中加載:當我寫在C#.NET控制檯應用程序測試它使用以及下面的代碼也能正常工作:
string path = Assembly.GetExecutingAssembly().Location;
path = Path.GetDirectoryName(path);
但問題是,當我嘗試使用VB6調用它,我得到一個錯誤,它無法加載第三方DLL。請幫忙,因爲我似乎不知道發生了什麼。
什麼是確切的錯誤?你有沒有檢查它在正確的位置? – MarkJ
確切的錯誤是「它無法找到第三方DLL或其中一個依賴關係丟失」。請問如何檢查它是否在VB6的當前位置? – Jay
看起來像你需要檢查提供給你的第三方DLL的供應商,並要求COM互操作支持。 – Turbot