Я начал обновлять некоторые пакеты nuget и начал получать эти предупреждения при сборке с конфликтом для System.Net.Http.Как предлагается здесь:
Странная проблема с System.Net.Http 4.2.0.0 не найдена
Я заменил все ссылки на System.Net.Http, чтобы использовать версию nugetвместо того, который в комплекте с Visual Studio.Затем я изменил все привязки перенаправления (app.configs и web.configs), как это было предложено везде, и у меня все работает локально.Но ..
При развертывании на нашем тестовом сервере все равно появляется ошибка
Could not load file or assembly 'System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Я использую net 4.7.0 и Visual Studio 2017
Я искалвсе мои конфиги для ссылки до версии 4.2.0.0 но без хитов.Почему IIS думает, что это нужно?
Моя версия nuget System.Net.Http - 4.3.4, но реальный файл web.config имеет следующие строки:
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.3" newVersion="4.1.1.3"/>
</dependentAssembly>
Опять яЯ могу собрать и запустить его локально, но мой сервер сообщает об ошибке.
ОБНОВЛЕНИЕ: Я пытался добавить это на своих серверах web.config
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.1.1.3" />
</dependentAssembly>
Это устраняет ошибку!Но я до сих пор не понимаю, зачем мне это делать?Например, почему мой сервер считает, что ему нужно использовать 4.2.0?