Я пытаюсь изменить номера версий следующей сборки.
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed"/>
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0"/>
</dependentAssembly>
Проблема в том, что я не знаю, как изменить значение в bindingRedirect, когда я устанавливаю Newtonsoft.Json как ElementPath,Также невозможно установить путь к bindingRedirect, поскольку другие сборки могут иметь одинаковый номер версии.
Спасибо.
РЕДАКТИРОВАТЬ:
Строка, как в комментарии @ Dialecticus будет работать.Я тестировал эту строку в Интернете: https://www.freeformatter.com/xpath-tester.html Но, к сожалению, она не работает с WiX.В документации я обнаружил, что квадратные скобки должны быть экранированы: https://wixtoolset.org/documentation/manual/v3/xsd/util/xmlconfig.html Мой XPath выглядит следующим образом:
//configuration/runtime/assemblyBinding/dependentAssembly[\[]assemblyIdentity/@name='Newtonsoft.Json'[\]]/bindingRedirect/@newVersion
Проблема здесь заключается в пространстве имен XML в assemblyBinding.Я удалил это для тестирования, и это работало.Кроме того, я начал путь с // depenAssembly , но снова я получаю сообщение об ошибке: Не удалось найти узел