Могу ли я указать 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.