我有使用2个NuGet依赖项的项目:FreeSpire.Doc和FreeSpire.Xls,它们都依赖于FreeSpire.Pdf库。问题是它们依赖于具有不同版本的库。在运行时我得到了一个异常
无法从程序集“Spire.Pdf,Version = 3.6.230.55040,Culture = neutral,PublicKeyToken = 663f351905198cb3”
加载类型“3”
有没有办法在项目中拥有两个版本的库?
答案 0 :(得分:0)
据我所知,你不能在同一个项目中拥有两个版本的NuGet包。
如果指向较旧版的人可以使用较新的版本,但它需要是一个丑陋的黑客,例如:
手动添加所需的DLL作为参考(如果是开源项目,您甚至可以自己编译)。
将逻辑分解为两个不同的项目,并在指向较旧版本的项目之后始终构建指向较新版本的项目。
如果您可以以某种方式将DLL安装到GAC中,您可以并排运行两个版本。