Iam在我的asp.net web應用程序中使用第三方C++ dll。嘗試加載dll時出錯 - 嘗試加載格式不正確的程序。 (來自HRESULT的例外:0x8007000B)
dll - 64-bit
asp.net Platform - Any Cpu
asp.net Framework - 4.0 (vs 2010)
System Os - Win 7 Professional (64-bit)
我已經放置在應用程序文件夾中的DLL和調用它的完整路徑的dll:
[DllImport(@"D:\Application\Sampledll.dll",
EntryPoint = "SampleFunc",
CharSet = CharSet.Ansi,
CallingConvention = CallingConvention.StdCall)]
public static extern int SampleFunc(char[] ch1, char[] ch2);
但我得到下面的結果:
An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
當搜索的錯誤代碼:0x8007000B - 這意味着
但DLL「在64位系統中使用32位DLL」是64位DLL ....
任何如何通過將VS的目標平臺更改爲'x86'&'x64'並將IIS的「啓用32位應用程序」屬性設置爲試圖解決此錯誤「真」
,但得到了同樣的錯誤.........
任何一個可以幫助解決這個問題....
FWIW如果函數的參數是以null結尾的字符串輸入參數,它應該是'string'而不是'char []'' –
這是您在糾正問題一段時間後得到的錯誤代碼。你需要記錄的是你第一次嘗試做這件事時看到的* first *錯誤。一定要撤消你所做的努力來解決這個問題,這很可能只會加劇問題。 –