У меня есть проект веб-сайта, который я запускаю из Visual Studio с помощью встроенного веб-сервера разработки. Виртуальный путь веб-сайта установлен в /
Почему перенаправление сборок привязки не работает на моем веб-сайте?
web.config содержит во время выполнения элемента с
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="CMS.Controls" publicKeyToken="834b12a258f213f9" culture="neutral" />
<bindingRedirect oldVersion="4.1.3518.21577" newVersion="4.1.3561.21846" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Я уже удален атрибут xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"
из корневого configuration
элемента.
Здесь ошибка:
Could not load file or assembly 'CMS.Controls, Version=4.1.3518.21577, Culture=neutral, PublicKeyToken=834b12a258f213f9' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Вот журнал связывания:
The operation failed.
Bind result: hr = 0x80131040. No description available.
...
LOG: DisplayName = CMS.Controls, Version=4.1.3518.21577, Culture=neutral, PublicKeyToken=834b12a258f213f9
(Fully-specified)
...
LOG: This bind starts in default load context.
LOG: Using application configuration file: D:\Project\WebSite\web.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Post-policy reference: CMS.Controls, Version=4.1.3518.21577, Culture=neutral, PublicKeyToken=834b12a258f213f9
...
LOG: Assembly Name is: CMS.Controls, Version=4.1.3561.21846, Culture=neutral, PublicKeyToken=834b12a258f213f9
WRN: Comparing the assembly name resulted in the mismatch: Revision Number
Кажется мне, как он игнорирует мой редирект. Я смотрел на него в течение часа, у меня есть опечатка или что-то еще?
Вы когда-нибудь находили ответ на этот вопрос? – Martin
@Martin 4 года Я ждал ...: o Я, вероятно, нашел способ жить с ним тогда, и с тех пор не сталкивался с этой проблемой. –
Я не уверен, что это полезно, но сегодня у меня была эта проблема с OWIN. У меня была другая версия ссылки OWIN (через Nuget) в проекте библиотек для моего основного проекта. Целевой проект имел _bindingRedirect_ в Web.config, который не работал. После изменения Nuget для ссылки на более новую версию, используемую в библиотеке, ошибка исчезла. Объект _bindingRedirect_ целевого проекта остался тем же, что и атрибут _newVersion_, который обновился до новой версии. Единственное интересное изменение, которое произошло, это то, что DLL теперь включена в ссылки для .csproj. –