我想知道为什么 nuget 在安装后将以下代码添加到我的应用程序app.config
文件中Microsoft.Bcl.Async
:
<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
?