【问题标题】:how .net 1.1 application can work with .net 2.0 assembly.net 1.1 应用程序如何与 .net 2.0 程序集一起工作
【发布时间】:2011-04-01 02:36:31
【问题描述】:

我们有使用第三方组件的旧 .net 1.1 项目。显然,该组件无法根据新要求正常工作,并且没有提供者的支持。提供者建议使用工作正常的新组件。问题是这个组件需要.net 2.0。

项目很大,将项目迁移到 2.0 的成本很高。

我们还有什么其他选择? 1.1 的程序集如何调用 2.0 的程序集?

【问题讨论】:

    标签: .net-1.1


    【解决方案1】:

    .NET 1.1 无法加载 .NET 2.0 程序集,因为内部格式已更改。您的应用基本上会认为该程序集不是 .NET 程序集。

    从长远来看,更新您的应用程序以使用 .NET 2.0 将是一个好主意(如果不是更新的,因为现在有多个版本的 .NET 2.0)。但是,如果这不是一个选项,您可以为您的可执行文件创建一个 .config 文件,并告诉 CLR 在运行您的应用程序时始终使用 .NET 2.0。这应该允许加载 .NET 2.0 程序集,但是您的应用使用的 .NET 1.1 和 2.0 之间的任何重大更改都会导致错误。

    【讨论】:

    • 您认为围绕 2.0 程序集创建具有所需功能的包装对象并将其公开为 COM dll 是个好主意吗?
    • @user976536 我认为这行不通。在 .NET 4.0 之前,一个进程只能运行 1 个 CLR。如果您尝试从 .NET 1.1 应用程序加载 COM 对象,它必须加载 .NET 2.0 才能加载 .NET 2.0 程序集。这会给你一个错误,因为 .NET 1.1 CLR 已经加载到进程中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 2022-12-18
    • 2018-05-22
    相关资源
    最近更新 更多