我创建了一个具有依赖项(dll)的C#dll项目。我正在成功编译C#dll并使用jni4net生成我需要在java中使用的dll和jar文件。 jar文件和dll成功生成,但是当我运行java代码时,我收到此错误。 “混合模式程序集是针对运行时版本v2.0.50727构建的,如果没有其他配置信息,则无法在4.0运行时加载。”我的问题是如何在proxygen.exe中包含App.config文件来解决此错误。我在C#项目中的app.config文件是
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
我需要从proxygen.exe生成的dll来读取配置文件。 这是我的java代码
Bridge.setVerbose(false);
Bridge.setDebug(true);
Bridge.init();
Bridge.LoadAndRegisterAssemblyFrom(new File(""));//path to the generated dll from proxygen.exe
CsharpClass op=new CsharpClass();
答案 0 :(得分:0)
在Java中添加Bridge.setClrVersion(“v20”);
或者您需要将C#编译器设置为针对.NET 4.0进行编译
另见 https://github.com/jni4net/jni4net/blob/master/content/samples/runtimeSelection/