【问题标题】:how to handle Mixed mode assembly is built against version v2.0.50727 error in jni4net如何处理混合模式程序集是针对 jni4net 中的 v2.0.50727 版本错误构建的
【发布时间】:2015-11-26 11:59:11
【问题描述】:

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

【问题讨论】:

    标签: java c# .net


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-01-26
      • 2016-05-08
      • 2011-09-19
      • 1970-01-01
      • 1970-01-01
      • 2016-03-29
      • 2023-03-24
      • 2011-04-30
      • 1970-01-01
      相关资源
      最近更新 更多