如何处理混合模式汇编是针对jni4net中v2.0.50727版本的错误构建的

本文关键字:v2 jni4net 版本 构建 错误 50727 处理 何处理 混合 汇编 模式 | 更新日期: 2023-09-27 18:24:39

我创建了一个具有依赖项(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();

如何处理混合模式汇编是针对jni4net中v2.0.50727版本的错误构建的

在Java中添加Bridge.setClrVersion("v20");

或者您需要将C#编译器设置为针对.NET 4.0 进行编译

另请参阅https://github.com/jni4net/jni4net/blob/master/content/samples/runtimeSelection/