我在线查看了有关.NET Core 2.0 / 2.1 Web API应用程序中的绑定重定向的各种解决方案。
我的理解是(所有)您需要做的就是使用重定向将一个app.config文件添加到您的项目中,并且一切正常。
我尝试了此操作,例如,它根本不起作用
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding>
<dependentAssembly>
<assemblyIdentity name="Common.Core" culture="neutral" publicKeyToken="null" />
<bindingRedirect oldVersion="0.0.0.0-5.0.18186.03" newVersion="5.0.18137.2" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
然后我以编程方式将程序集重定向到所需版本,并且工作正常。
如何在Web api .NET Core 2.0应用中正确执行绑定重定向?
我之所以需要这样做,是因为第三方程序集问题。我得到了一组用于通用功能的程序集。这些程序集之一已升级到版本5.0.18186.03,但是它依赖于其他较低级别的程序集(Xml示例中的Common.Core)。整个套件已重新编译为5.0.18186.03版,但只有我使用的程序集已正式发布。但是,当使用此程序集时,.NET会说无法找到与版本5.0.18186.03相匹配的Common.Core的正确版本,
硬编码的绑定重定向可解决此问题,因为Common.Core的新版本在功能上与旧版本完全相同。
我真的不理解其中一项评论-“您为什么需要这个”?最终,总是需要诸如绑定重定向之类的东西。