Могу ли я указать bindingRedirect, чтобы всегда использовать последнюю доступную версию?

Наличие приложения ASP.NET содержит несколько записей в файле Web.Config в этом формате:

<dependentAssembly>
    <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="0.0.0.0-1.6.5135" newVersion="1.6.5135" />
</dependentAssembly>

Эти библиотеки поставляются в виде пакетов NuGet.

Теперь каждый раз, когда я обновляю свои 20+ пакетов NuGet, я делаю что-то вроде:

  • Один клик, чтобы обновить все пакеты.
  • Откройте приложение в браузере.
  • Смотрите ошибки, такие как этот.
  • Откройте мой Web.Config, найдите запись переадресации привязки.
  • Посмотрите последнюю версию сборки.
  • Измените мой web.config.
  • Обновите эти шаги 2... 6 для всех других обновленных пакетов NuGet с переадресацией связывания.

Это очень раздражает.

Мой вопрос:

Есть ли способ сообщить bindingRedirect entry, чтобы всегда использовать последнюю версию?

например. что-то вроде:

<bindingRedirect oldVersion="0.0.0.0-*" newVersion="*" />

(с помощью подстановочного знака, чтобы сообщить последнюю версию)

Ближайшее, что я встретил, похоже на:

<bindingRedirect oldVersion="0.0.0.0-9.9.9.9" newVersion="1.6.5135" />

(укажите только одну версию)

Ответ 1

К сожалению, ответ на этот вопрос нет. См. Элемент bindingRedirect в MSDN.

Цитата:

oldVersion: обязательный атрибут.

Указывает версию первоначально запрошенной сборки. Формат номера версии сборки - major.minor.build.revision. Допустимые значения для каждой части этого номера версии: от 0 до 65535.

Вы также можете указать диапазон версий в следующем формате: n.n.n.n - n.n.n.n

newVersion: обязательный атрибут. Указывает версию используемой сборки вместо первоначально запрошенной версии в формате: n.n.n.n

Это значение может указывать более раннюю версию, чем oldVersion.