添加具有不同版本的库

本文关键字:版本 添加 | 更新日期: 2023-09-27 17:56:51

我的项目使用了2个NuGet依赖项:FreeSpire.Doc和FreeSpire.Xls,它们都依赖于FreeSpire.Pdf库。问题是它们依赖于不同版本的库。在运行时我得到了一个例外

无法从程序集"Spire.Pdf,版本=3.6.230.55040,区域性=中性,公钥令牌=663f351905198cb3"加载类型"3"

有没有办法在项目中有两个版本的库?

添加具有不同版本的库

我所知,您不能在同一项目中有两个版本的NuGet包。

如果指向旧版本的那个可以与较新版本一起使用,但它需要是一个丑陋的黑客,例如:

  • 手动添加所需的 DLL 作为参考(如果是一个开源项目,您甚至可以自己编译它)。

  • 将逻辑分离到两个不同的项目,并始终在指向旧版本的项目之后构建指向较新版本的项目。

  • 如果可以以某种方式将 DLL 安装到 GAC 中,则可以并行运行这两个版本。