【问题标题】:how to integrate .net library (.dll) from higher version with binaries from lower version如何将较高版本的 .net 库 (.dll) 与较低版本的二进制文件集成
【发布时间】:2011-05-21 14:30:25
【问题描述】:

我有使用 .net 框架 4 编译的外部 .net 库(它的提供程序最近移至 .net 4) 我的代码目前在 .net framework 3.5 上运行 如何在我的应用程序中使用该外部库? 将整个应用程序迁移到 .net 4 需要时间和测试,所以也许将来我会这样做,但现在,有什么可能性?

【问题讨论】:

    标签: .net frameworks external


    【解决方案1】:

    没有任何可能,.NET 3.5 附带的 CLR 版本无法加载 4.0 程序集。元数据格式已更改。您必须强制您的应用使用 .NET 4.0 CLR 版本。使用 VS2010 重新编译它,以 4.0 为目标,或使用包含 <requestedRuntime> 元素的 .config 文件来请求“v4.0”。

    .NET 4.0 的兼容性非常好。

    【讨论】:

      【解决方案2】:

      虽然您无法直接加载 .Net DLL,但您可以将其包装在 COM 接口中,然后在您的 .Net 3.5 进程中加载​​该 COM 接口。

      Using a .NET 4 Based DLL From a .NET 2 Based Application

      为了了解更多背景信息,微软最初在 .Net 4 中添加了In-Process Side-by-Side,以更好地支持应用程序通过 COM 加载插件的场景,并且插件是使用各种版本的 .Net 编写的。在 .Net 3.5 进程中加载​​ .Net 4 DLL 的能力只是一个很好的副作用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-27
        • 1970-01-01
        • 2019-08-02
        • 2021-02-03
        • 1970-01-01
        • 1970-01-01
        • 2021-10-06
        相关资源
        最近更新 更多