【问题标题】:Managed proxy dll for platform dependent libs平台相关库的托管代理 dll
【发布时间】:2015-07-31 17:29:44
【问题描述】:

出于某种原因,我有两个依赖于平台 (x86/x64) 的 .NET 托管 dll。 两者都有相同的公共接口。

我需要从 AnyCPU 项目中引用它们。但是它们不能简单地在运行时加载,因为我的代码使用了那些 dll 暴露的接口。

是否可以创建代理 dll 来代表那些平台相关库编译时的接口,并在每个平台的运行时平台特定 dll 中动态加载并将调用转发给它?

似乎“嵌入式互操作类型”功能与我需要的功能相似,但它不是 COM 库。

这是否可行?请提出任何可能有帮助的建议。

【问题讨论】:

  • 可行,或许可行,但我们需要更多上下文

标签: c# .net dll


【解决方案1】:

嗯,您已经使用最佳和推荐的做法回答了您的问题。

  1. 使用通用接口定义创建 AnyCPU 程序集。
  2. 在您的应用中引用此程序集以及这两个程序集。
  3. 根据运行架构执行运行时加载,实例化并转换为通用接口
  4. 利润

也请查看here 获取有关如何在运行时选择正确 DLL 的建议

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 2018-10-22
    • 2011-04-29
    相关资源
    最近更新 更多