2016-05-12 62 views
-3

的源代碼,我有一個DLL(PROFKT10.DLL),這是很老的和VB6項目中使用。我甚至不知道它是以哪種語言編譯的。我需要在我的.NET應用程序使用此DLL,但我不能添加此作爲參考,並得到彈出消息「請確保該文件是可訪問的,並且它是一個有效的程序集或COM組件」。使用.NET應用程序未知/非託管的DLL的 - 獲取未知DLL

我試圖通過使用DllImport屬性,但在這裏得到「型‘System.BadImageFormatException’未處理的異常導入此發生 其他信息:試圖加載程序格式不正確的(從HRESULT異常。 :0x8007000B)「

請任何人都可以幫助我獲取此dll解決方案的源代碼的例外或任何其他建議。在此先感謝

+0

你能幫我們說說DLL的作用,它來自哪裏,內部或第三方?你是否有使用它的VB6 Declare語句,或者它的COM DLL是否是CreateObject調用的示例?正如devio所說PE Viewer可能有所幫助。 – OldBoyCoder

+0

你真正的問題是你試圖使用其來源未知的代碼。時間正視這一點。 –

回答

1

BadImageFormatException可以有許多原因,看到它的MSDN page

如果DLL可以追溯到VB6,它甚至可能是一個16位的DLL。在這種情況下,你運氣不好,因爲在64位Windows上不支持16位可執行文件。

爲了找到答案,谷歌的「DLL的PE查看器」或使用this list爲提供有關DLL的信息工具。

+0

VB6是32位的。它不得不回去VB3也許VB4爲16位 – OldBoyCoder

+0

VB4是可以build16位二進制文​​件的最後一個版本 –

相關問題