2013-07-04 89 views
2

我真的在我的应用程序获得以下错误Java错误,C#.NET 2.0中框架

错误:使用.NET 2.0中,Windows XP操作系统

System.TypeInitializationException: The type initializer for 'java.util.Locale' threw an exception. ---> java.lang.UnsatisfiedLinkError: Unable to load DLL 'vjsnativ': The specified module could not be found. (Exception from HRESULT: 0x8007007E) ---> System.DllNotFoundException: Unable to load DLL 'vjsnativ': The specified module could not be found. (Exception from HRESULT: 0x8007007E) 
    at com.ms.vjsharp.windowing.win32.UnsafeWin32Calls.GetLocaleInfo<PInvokeHelper>vjsnativ(Int32 lcid, Int32 lctype, StringBuilder lpLCData, Int32 cchData) 
    at com.ms.vjsharp.windowing.win32.UnsafeWin32Calls.GetLocaleInfo(Int32 lcid, Int32 lctype, StringBuffer lpLCData, Int32 cchData) 
    at java.util.Locale..ctor(CultureInfo ci, String language, String ctryRgn, String variant) 
    at java.util.Locale..ctor(String languageCode, String ctryRgnCode) 
    at java.util.Locale..cctor() 
    --- End of inner exception stack trace --- 
    at java.lang.ExceptionInInitializerError.checkAndThrowException(Throwable thrown) 
    at java.util.Locale..cctor() 
    --- End of inner exception stack trace --- 
    at java.util.Locale.getDefault() 
    at com.ms.vjsharp.lang.StringImpl.toUpperCase(String mrString) 
    at com.vividsolutions.jts.io.WKTReader.getNextWord(StreamTokenizer tokenizer) 
    at com.vividsolutions.jts.io.WKTReader.readGeometryTaggedText(StreamTokenizer tokenizer) 
    at com.vividsolutions.jts.io.WKTReader.read(Reader reader) 
    at com.vividsolutions.jts.io.WKTReader.read(String wellKnownText) 

`米。请检查并让我知道你的答案和建议。

感谢

+2

你真的*需要*使用J#吗?它很久以前就停止了。 –

+2

为什么downvote?有些人不愿意与传统的第三方库集成 - 这篇文章对我来说只是一个很大的帮助 – Andy

回答

0

你可以找到并复制vjsnativ.dll应用程序的目录,也可以调用任何J#代码之前添加以下代码。

// This problem started with .NET 4 
if (Environment.Version.Major >= 4) 
{ 
    string dllpath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), @"..\Microsoft.NET\Framework\v2.0.50727"); 
    dllpath = Path.GetFullPath(dllpath); 
    LoadLibrary(Path.Combine(dllpath, "vjsnativ.dll")); 
} 
// J# code should work now 
+0

除了LoadLibrary没有被定义,Assembly.LoadFile给这个文件带来了以下错误:模块需要包含一个程序集清单。 (从HRESULT异常:0x80131018) –

+0

因此,使LoadLibrary定义:[DllImport(“kernel32.dll”)] public static extern IntPtr LoadLibrary(string dllToLoad); – LogicG8