Dlaczego „bindRedirect” został dodany do pliku app.config po dodaniu pakietu Microsoft.Bcl.Async?

Zastanawiałem się, dlaczego nuget dodał następujący kod do moich aplikacjiapp.config plik po zainstalowaniuMicrosoft.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>

Jeśli usunę ten element XML z konfiguracji, aplikacja nie będzie działać poprawnie.

O ile mi wiadomo, możemy użyćbindingRedirect aby aplikacja załadowała nowszą lub starszą wersję złożenia w przypadku, gdy nie ma wersji, której używaliśmy podczas kompilowania EXE.
Używam jednak dokładnie tej wersji2.5.19.0, dlaczego miałbym wtedy potrzebować przekierowania?

Czemu czy potrzebuję tegobindingRedirect?

questionAnswers(2)

yourAnswerToTheQuestion