Переадресация привязки сборки веб-API ядра .net - PullRequest
0 голосов
/ 05 июля 2018

Я смотрел различные онлайн-решения о связывании перенаправлений в приложении веб-API .NET Core 2.0 / 2.1.

Я понимаю (было), что все, что вам нужно сделать, это добавить файл app.config в ваш проект с перенаправлениями, и все это работает.

Я попробовал это, и это не сработало вообще, например,

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding>
      <dependentAssembly>
        <assemblyIdentity name="Common.Core" culture="neutral" publicKeyToken="null" />
        <bindingRedirect oldVersion="0.0.0.0-5.0.18186.03" newVersion="5.0.18137.2" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

Вместо этого я программно перенаправил сборку на требуемую версию, и она работала нормально.

Как правильно выполнять перенаправления привязки в приложении .NET Core 2.0 веб-API?

Причина, по которой мне это нужно, из-за проблем со сборкой сторонних производителей. Мне дали набор сборок для использования для общих функций. Одна из этих сборок была обновлена ​​до версии 5.0.18186.03, но она зависит от других сборок более низкого уровня (Common.Core в примере Xml). Весь пакет был перекомпилирован до версии 5.0.18186.03, но официально выпущена только используемая мной сборка. Однако, когда эта сборка используется, .NET падает, говоря, что не может найти правильную версию Common.Core, которая соответствует версии 5.0.18186.03,

Жестко закодированное перенаправление привязки исправляет это, поскольку новая версия Common.Core функционально в точности совпадает со старой версией.

Я не очень понимаю один из комментариев - "зачем тебе это?" В конце концов, что-то вроде перенаправления привязки всегда будет необходимо.

...