2009-08-20 84 views
1

[DllImport(「DoSomething.dll」,EntryPoint =「something_dump」,SetLastError = true)] private static extern void something_dump(IntPtr dumper);Vista DLLImport問題C#

當我運行XP機器上這dllimport的它工作正常,但在Vista上我收到了異常:

無法加載DLL「DoSomething.dll」:指定的模塊找不到。 (異常來自HRESULT:0x8007007E)

在兩臺機器上它位於Windows/System32目錄,但由於某種原因,Vista不加載它。

當我完全有資格在Vista計算機上的路徑...的DllImport( 「C:\ WINDOWS \ SYSTEM32 \ DoSomething.dll」 ......它的工作原理

我是不是真的要告訴dllimport的!功能在vista機器看在system32目錄?

+1

這是Vista的32位或64位版本? – Jeremy 2009-08-20 19:08:02

+0

Vista的機器是32位(抱歉,不只是說32位,顯然我必須使用32個字符。) – Will 2009-08-20 19:18:32

+0

該DLL實際上是否已在Vista機器上註冊? – mxmissile 2009-08-21 15:34:19

回答

0

問題是有人正在應對當前的解決方案輸出目錄的dll ...問題是他們沒有複製dll的依賴關係到輸出目錄.. 。所以不知何故,XP可以解決這些依賴和Vista將失敗(這兩個操作系統的DLL是完全相同的)

Soluti on:刪除系統dll的應對當前解決方案輸出目錄...

0

將您的Dll放入「文檔設置\管理員\」此路徑工作。

請注意,您需要將所有支持文件示例.ino或.txt文件支持也放到該dll中。

它會正常工作。

所有最優秀的。

問候, Prasath