Конфликт версий пакетов 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)


arrow_upward
0
arrow_downward

Чтобы разрешить конфликт, вы должны сообщить своему коду, какую версию 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