Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从C使用jni4net连接JVM时,webapp中出现错误#_Java_C#_Java Native Interface_Jni4net - Fatal编程技术网

Java 从C使用jni4net连接JVM时,webapp中出现错误#

Java 从C使用jni4net连接JVM时,webapp中出现错误#,java,c#,java-native-interface,jni4net,Java,C#,Java Native Interface,Jni4net,我试图使用jni4net从我的C#webapp中访问一个简单的java代码,但它抛出了一些错误 生成访问java类的所有代理和DLL 我在“Program.cs”文件中编写了与JVM连接的代码 稍后,自定义java函数即从testfunc()调用display\u msg(),可以使用Program.testfunc()从bot内部的任何位置调用该函数 我正在附加Program.cs文件,出现异常。 我还将我的java文件命名为Test.java,它位于包mypack中 Program.cs 使

我试图使用jni4net从我的C#webapp中访问一个简单的java代码,但它抛出了一些错误

生成访问java类的所有代理和DLL

我在“Program.cs”文件中编写了与JVM连接的代码

稍后,自定义java函数即从testfunc()调用display\u msg(),可以使用Program.testfunc()从bot内部的任何位置调用该函数

我正在附加Program.cs文件,出现异常。 我还将我的java文件命名为Test.java,它位于包mypack中

Program.cs

使用Microsoft.AspNetCore;
使用Microsoft.AspNetCore.Hosting;
使用Microsoft.Extensions.Logging;
使用net.sf.jni4net;
使用制度;
使用mypack;
命名空间验证bot
{
公共课程
{
公共静态void Main(字符串[]args)
{
var setup=new BridgeSetup();
setup.Verbose=true;
setup.AddAllJarsClassPath(“./”);
CreateJVM(设置);
桥接器。寄存器组装(类型(测试)。组装);
CreateWebHostBuilder(args.Build().Run();
}
公共静态IWebHostBuilder CreateWebHostBuilder(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging((日志)=>
{
logging.AddDebug();
logging.AddConsole();
}).UseStartup();
公共静态void testfunc()
{
测试=新测试();
test.display_msg();
Console.WriteLine(“\n按任意键退出”);
Console.ReadKey();
}
}
}
Test.java

包mypack;
导入java.io.*;
公开课考试
{
公共静态void main(字符串参数[])
{
int s=10;
系统输出打印项次;
}
公共无效显示\u msg()
{
println(“你好,我在一个java程序中”);
}
}
例外情况

Exception thrown: 'System.MissingMethodException' in jni4net.n-0.8.8.0.dll
Exception thrown: 'System.Reflection.TargetInvocationException' in System.Private.CoreLib.dll
Exception thrown: 'System.TypeInitializationException' in jni4net.n-0.8.8.0.dll
An unhandled exception of type 'System.TypeInitializationException' occurred in jni4net.n-0.8.8.0.dll
The type initializer for 'net.sf.jni4net.utils.Registry' threw an exception.

我是C语言的初学者,所以请帮我解决这个问题。

根据我们的评论,我们推断.NET core 2.1不支持这种方法:(可能还有其他方法)

System.Reflection.Emit.AssemblyBuilder System.AppDomain.DefinedDynamicAssembly(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess)


从评论中,我们推断.NETCore2.1不支持此方法:(可能还有其他方法)

System.Reflection.Emit.AssemblyBuilder System.AppDomain.DefinedDynamicAssembly(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess)


它是否告诉您哪种类型无法初始化,或者哪种方法丢失?它在line-Bridge.CreateJVM(setup)中显示错误;因此我认为CreateJVM丢失了。以下是两个内部异常:MissingMethodException:Method not found:“System.Reflection.Emit.AssemblyBuilder System.AppDomain.DefinedDynamicAssembly(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess)”。您在使用哪个.NET虚拟机?这个方法还应该存在吗?我使用的是.NETCore2.1。由于我是.net和c#的新手,我已经陷入了这个错误中很多天了。它是否告诉您哪种类型无法初始化,或者哪种方法丢失了?它在line-Bridge.CreateJVM(setup)中显示错误;因此我认为CreateJVM丢失了。以下是两个内部异常:MissingMethodException:Method not found:“System.Reflection.Emit.AssemblyBuilder System.AppDomain.DefinedDynamicAssembly(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess)”。您在使用哪个.NET虚拟机?这个方法还应该存在吗?我使用的是.NETCore2.1。由于我是.net和c#的新手,我已经陷入了这个错误中很多天了,无法找出哪里出了问题。