我遇到了.NET Core(2.2)的问题,如果可以进行绑定重定向,我可能可以解决。
我在解决方案中有2个项目(嗯,还有更多,但它们并不相关):
项目1引用了第三方DLL,我们将其称为ThirdPartyABC.dll
。
项目2引用了同一公司的另一个第三方DLL,我们将其称为ThirdPartyXZY.dll
问题出在以下事实:ThirdPartyABC.dll
还包含并引用了ThirdPartyXYZ.dll
的副本-但是是“错误”版本(以及更高版本)。
最初,我是由Nuget安装的。目前,我已引用二进制文件以解决此问题。
MsBuild为我提供了正常的“发现的冲突” MSB3277错误,冗长的日志记录表明我确实在尝试使用更高版本。如果我完全删除了较高的版本而仅留下较低的版本,则会出现运行时错误(“无法加载文件或程序集”),这可能与您期望的一样。如果我保留较高的版本,那么当然是复制到bin目录的版本,这不是我想要的。
我需要的是一种使构建使用我希望它使用的版本而不是更高版本的方法。我认为绑定重定向可以解决问题,但这在.NET Core中似乎不是问题。
如果有任何建议,我将不胜感激。