2015-05-01 16 views
0

我們遇到了使用ikvmc從jar文件轉換而來的.NET dll的問題。當試圖實例化「我的」時,我們看到下面的錯誤(這是位於「ikvm.extensions」中的擴展方法「printStackTrace」的輸出,因爲這似乎是人們知道IKVM正在尋找的東西)。IKVM - 使用生成的程序集(來自JAR)在類型初始化程序中導致MissingMethodException

Java代碼中的「App」類繼承自Hashtable。另外,當我們使用ikvmc從同一個jar文件生成一個可執行文件(而不是一個dll文件)(這次使用manifest文件中的Main方法設置),並且運行該exe文件時,一切正常。 「我的」在Java代碼的Main方法中被實例化,並且都可以正常工作。

java.lang.ExceptionInInitializerError 
    at App.<init>(App.java) 
    at My.<init>(My.java:107) 
    at cli.Tests.Program.Main(Program.cs:58) 
    at cli.System.AppDomain._nExecuteAssembly(Unknown Source) 
    at cli.System.AppDomain.ExecuteAssembly(Unknown Source) 
    at cli.Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly(Unknown Source) Caused by: cli.System.MissingMethodException: Method not found: 'Void java.util.Hashtable.__<clinit>()'. 
    at cli.Tests.Program.Main(Program.cs:65) 
    ... 3 more 

任何想法我們可以採取不同的方式來解決這個問題? 如果您想知道,我們通過Nuget包含了IKVM,因此包含28個IKVM組件,是的。

回答

相關問題