2013-08-26 107 views
4

Eclipse會查找我的插件需要執行的.dll文件。這是文件的完整路徑:無法加載.dll文件(HRESULT 0x80070002)

C:\Eclipse\eclipse-sib\eclipse\configuration\org.eclipse.osgi\bundles\324\1\.cp\jni4net.n.w32.v20-0.8.6.0 

試圖打開它像這樣:

public class Main { 

    public static void main(String[] args) { 

    File f = new File("C:\\Eclipse\\eclipse-sib\\eclipse\\configuration\\org.eclipse.osgi\\bundles\\324\\1\\.cp\\jni4net.n-0.8.6.0.dll"); 

    System.out.println(f.getName() + " " + f.getAbsolutePath()); 
    } 

} 

不工作!

Output: 
jni4net.n-0.8.6.0.dll C:\Eclipse\eclipse-sib\eclipse\configuration\org.eclipse.osgi\bundles\324\1\.cp\jni4net.n-0.8.6.0.dll 

但正如我只要文件被訪問的運行我的插件,我收到以下內容:

enter image description here

使用FUSLOGVW.EXE它說的一樣:

*** Assembly Binder Log Entry (26.08.2013 @ 13:53:35) *** 

The operation failed. 
Bind result: hr = 0x80070002. The system cannot find the file specified. 

Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll 
Running under executable C:\Eclipse\eclipse-sib\eclipse\eclipsec.exe 
--- A detailed error log follows. 

LOG: IJW explicit bind. File path:C:\Eclipse\eclipse-sib\eclipse\configuration\org.eclipse.osgi\bundles\324\1\.cp\jni4net.n-0.8.6.0.dll. 

有人知道問題可能是什麼嗎?

回答

2

我認爲這個錯誤可能是因爲缺少「jni4net.n-0.8.6.0.dll」的依賴關係。 在Windows上,我建議使用FileMon/ProcessMonitor來檢查在錯誤發生之前Eclipse會嘗試加載哪些文件/ dll。

+0

看depends,看看是否有任何相關性不在文檔中明確提到。要真正看到會發生什麼,請運行http://live.sysinternals.com中的procmon.exe來查看Eclipse的實際內核調用。您可能很驚訝在該過程中搜索文件的位置。 – Pekka

0

結束與文件名:jni4net.n.w32.v20-0.8.6.0 而不是你使用什麼:jni4net.n-0.8.6.0.dll