【问题标题】:Mixed Mode Assembly Issue with Class Library类库的混合模式程序集问题
【发布时间】:2013-12-23 11:47:30
【问题描述】:

我有一个类库项目,我必须在我的类库项目中引用一个针对 v2.0.50727 的程序集,然后最终从使用 .Net 4 版本的项目中调用我的类库。

当应用程序运行时,它给出了错误 “混合模式程序集是针对运行时版本‘v2.0.50727’构建的,如果没有额外的配置信息,则无法在 4.0 运行时中加载。”

我知道我可以在 app.config 中添加属性来避免这个错误,但就我而言,这是没有 app.config 的类库。

我尝试将我的类库更改为 .net framework 2,但仍然显示错误。

当我将主应用程序的目标框架从 .net 4 更改为 .net 3.5 时,编译器在以下行出现错误:

使用 System.ComponentModel.Composition;

我该怎么办?

【问题讨论】:

  • 您必须为使用您的类库的 EXE 提供一个 .config 文件。将这个混合模式程序集重建为目标 .NET 4 非常简单。某个地方有一个程序员需要 5 分钟才能为你完成这项工作,你不会在这里找到他。拿起电话给他打电话。
  • 嗯,在我的情况下是 Microsoft,我使用的 EXE 是 Microsoft Dynamics AX Retail POS,无法调用它们,它不起作用,可能我必须将我的程序转换为exe 并将其作为 MS POS 的外部程序调用 :(

标签: c# .net winforms dynamics-ax-2012-r2


【解决方案1】:

我最终将我的 DLL 更改为无格式 winform EXE 文件,该文件可以接受命令行参数来复制类库构造函数参数功能。我在我的 exe app.config 文件中提供了以下属性以避免混合模式组装错误:

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

【讨论】:

    猜你喜欢
    • 2014-09-23
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    • 2015-06-09
    • 2012-10-06
    • 2017-04-01
    相关资源
    最近更新 更多