Не удалось загрузить тип Ninject.Web.WebApi.IWebApiRequestScopeProvider из сборки Ninject.Web.WebApi. - PullRequest
0 голосов
/ 06 августа 2020

Я недавно обновил свое решение до. net Framework 4.8 и обновил множество пакетов nuget, и теперь у меня проблемы с запуском моего проекта API.

Я почувствовал, что это плохо пахнет перенаправление привязки, но я посмотрел на это, и они выглядят следующим образом ...

  <dependentAssembly>
    <assemblyIdentity name="Ninject" publicKeyToken="c7192dc5380945e7" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-3.3.4.0" newVersion="3.3.4.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Ninject.Web.Common" publicKeyToken="c7192dc5380945e7" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-3.3.2.0" newVersion="3.3.2.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Ninject.Web.Common.OwinHost" publicKeyToken="c7192dc5380945e7" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-3.3.1.0" newVersion="3.3.1.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Ninject.Web.WebApi" publicKeyToken="c7192dc5380945e7" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-3.3.1.0" newVersion="3.3.1.0" />
  </dependentAssembly>

А вот файл packages.config ...

  <package id="Ninject" version="3.3.4" targetFramework="net48" />
  <package id="Ninject.Extensions.NamedScope" version="3.3.0" targetFramework="net48" />
  <package id="Ninject.Web.Common" version="3.3.2" targetFramework="net48" />
  <package id="Ninject.Web.Common.OwinHost" version="3.3.1" targetFramework="net48" />
  <package id="Ninject.Web.Common.WebHost" version="3.3.2" targetFramework="net48" />
  <package id="Ninject.Web.WebApi" version="3.3.1" targetFramework="net48" />
  <package id="Ninject.Web.WebApi.OwinHost" version="3.3.0" targetFramework="net48" />

Нет спецификаций c перенаправление здесь для Ninject.Web.WebApi.OwinHost, поэтому я думаю, что это может быть проблема или, может быть, одна из других библиотек, но у них никогда не было перенаправления, и я пробовал ...

Get-Package MyApp.Api | Add-Bindings

(извините синтаксис здесь - он может быть неправильным как по памяти)

... добавить соответствующие привязки, которые отсутствовали.

1 Ответ

0 голосов
/ 06 августа 2020

Это было вызвано проблемой управления версиями пакетов Nuget (вот почему я больше не использую Ninject по выбору ...)

Я понизил версию пакета WebApi следующим образом ...

<package id="Ninject.Web.WebApi" version="3.3.0" targetFramework="net48" />

Чтобы он соответствовал Ninject.Web.WebApi.OwinHost, был очищен, перестроен и попробовал снова, и все работало отлично.

Я подозреваю, что пакет Ninject.Web.WebApi.OwinHost еще не обновлен и несовместимо.

...