c# - 如何在同一个包中使用 2 个不同版本的 dll?

标签 c# dll

<分区>

我有同一个 c# dll 的两个版本。让我们调用 dll foobar.dll。我有版本 11 和 12,我需要在同一个 csproj 文件中。但是,两个单独的类使用需要 foobar.dll 版本 11 或 12 的依赖项。

作为附加约束,两个版本都不向后兼容。这主要意味着版本 11 在同一个 foobar.dll 中使用对象 A 和对象 B 但版本 12 在 2 个单独的 dll foobar.dllfoobarPlugin.dll 分别。因此,仅使用版本 12 会产生运行时错误。

对于这种情况,有没有办法将 dll 版本容器化到特定类?

最佳答案

有点难,但你有没有想过用反射器打开这些dll,然后按照你想要的方式重新编译它?

关于c# - 如何在同一个包中使用 2 个不同版本的 dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48652414/

相关文章:

c# - DllImport 是如何工作的?

c# - AutoMapper 模拟 UnitOfWork 失败

c# - 过滤 radcombobox 时始终显示第一项

c# - 使用 Properties.Settings 保存应用程序设置不起作用?

windows - 需要在 inno setup 安装程序中覆盖 DLL - 但文件未被替换

php - 为什么我必须将 libmysql.dll 复制到 apache/bin 目录才能正确加载 PHP 扩展?

delphi - 如何让多个DLL实例能够互相访问?

c# - 不连续读取来自 IBM MQ Queue 的消息

c# - 私有(private)类成员中关键字 'this' 的正确用法是什么?

java - 使用Java访问第三方DLL