Почему «bindingRedirect» добавляется в файл app.config после добавления пакета Microsoft.Bcl.Async?

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

Ответы на вопрос(2)

Ваш ответ на вопрос