我想知道为什么在安装了Microsoft.Bcl.Async
后,nuget会向我的应用程序的app.config
文件添加以下代码:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.5.19.0" newVersion="2.5.19.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.5.19.0" newVersion="2.5.19.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
如果我从配置中删除此XML元素,该应用程序将无法正常工作。
据我所理解,我们可以使用bindingRedirect
在编译EXE时使用的程序集版本不见的情况下,加载较新或较旧的程序集版本。然而,我正在使用精确版本2.5.19.0
,那我为什么需要重定向?
为什么我需要这个bindingRedirect
?