Конфликт версий пакетов Owin

  1. У меня есть два проекта в моем решении, проект1 и проект2.
  2. Project2 имеет тенденцию к самостоятельному размещению с Овином.
  3. Я включил CORS с помощью пакета Microsoft.Owin.Cors.
  4. Оба проекта имеют Microsoft.OWIN 3.0.1 и Microsoft.AspNet.Cors 5.2.3.
  5. Затем я копирую файл project2.exe в папку отладки проекта1 и вызываю prorject2.exe из проекта1.
  6. То потом вылезает окно исключения при попытке вызвать project2.exe.

  7. Сообщение состоит в том, что для этого требуется сборка System.Web.Cors версии 5.0.0.0.

  8. Когда я понижаю версию Microsoft.AspNet.Cors до 5.0.0.0, он снова говорит, что требуется Microsoft.Owin версии 2.0.2.

Почему это происходит и как исправить этот конфликт версий? Оба проекта построены под .Net Framewrok 4.5.2.


person M. Ko    schedule 20.07.2016    source источник


Ответы (1)


Чтобы разрешить конфликт, вы должны сообщить своему коду, какую версию OWIN использовать. это можно сделать из app.config вашего приложения.

<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.2.0" newVersion="2.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.2.0" newVersion="2.0.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
person OSH    schedule 01.12.2016