У меня есть проблема со следующей ошибкой: "Не удалось загрузить файл или сборку". Ошибка говорит сама за себя: Micorsoft.Owin версии 2.0.0.0 не загружается в System.Web.Http.Owin. Но я хочу использовать Microsoft.Owin 3.0.0.0 и dll System.Web.Http.Owin. Я действительно ссылаюсь на версию 5.2.2.0, которая сама по себе должна работать с Microsoft.Owin.
Итак, мой вопрос здесь в том, кто ссылается на Micorsoft.Owin версии 2.0.0.0?
И поэтому: Как узнать, какая сборка запрашивает Micorsoft.Owin 2.0.0.0?
Существует ли рекомендованная стратегия для таких вопросов?
То, что я пытался сделать до сих пор, - это добавить перенаправление привязки. Но это скорее было бы обходным решением, а не хорошим решением (и это не сработало кстати):
<dependentAssembly>
<assemblyIdentity name="System.Web.Http.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.2.0" newVersion="5.2.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
Вы можете использовать инструмент Fuslogvw.exe
чтобы получить журнал привязок к сборке, в частности то, что загрузило то, что и где оно искало сборки.
Он установлен с Visual Studio, но для его запуска вам нужно будет открыть командную строку Visual Studio (например, это), а затем запустить
fuslogvw