Мне было интересно, почему 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
?