如何使包含的程序集使用其自己版本的第三方程序集来使用其父级程序集

时间:2019-05-15 05:04:12

标签: c#

我已阅读以下内容以及关于SO的大量帖子:

但是我似乎无法实现(不求助于GAC解决方案)我所需要的如下:

ThirdPartyLibrary.dll

通过NuGet安装,并且具有AutoMapper的AutoMapper依赖性> = 6.2.2,但是 仅工作 且AutoMapper = 6.2.2(即使该依赖性未指定)

MyClassLibrary.dll

这是我正在生产的东西。引用了AutoMapper 8.x,并具有AutoMapper> = 8.0.0的依赖项。还需要引用 ThirdPartyLibrary.dll

在MyClassLibrary实际调用ThirdPartyLibrary.SomeMethod()之前,一切似乎都还可以,然后失败,因为ThirdPartyLibrary现在正在使用AutoMapper 8.x并引发异常。

所以我的问题是:

在不从AutoMapper 8.x降级的情况下,如何使ThirdParty使用AutoMapper的6.2.2和MyClassLibrary使用8.x进行?

我很高兴使用一些app.config或AssemblyResolve来做到这一点。如果必须使用AssemblyResolve,则可以在MyClassLibrary中挂起该事件,否则会很好,否则我将不得不根据MyClassLibrary重新访问所有应用程序。

0 个答案:

没有答案