C# System.Web.Http的NuGet更新后出现FileLoadException

C# System.Web.Http的NuGet更新后出现FileLoadException,c#,ninject,nuget,C#,Ninject,Nuget,我刚刚从NuGet更新了已安装的项目,并在运行时收到以下未处理的异常: 无法加载文件或程序集'System.Web.Http,版本=4.0.0.0, 区域性=中性,PublicKeyToken=31bf3856ad364e35'或其 依赖关系。定位程序集的清单定义不正确 匹配程序集引用。(来自HRESULT的异常:0x8013100) 该异常是从NinjectWebCommon引发的。初始化bootstraper.Initialize(CreateKernel);一行代码就是罪犯 public

我刚刚从NuGet更新了已安装的项目,并在运行时收到以下未处理的异常:

无法加载文件或程序集'System.Web.Http,版本=4.0.0.0, 区域性=中性,PublicKeyToken=31bf3856ad364e35'或其 依赖关系。定位程序集的清单定义不正确 匹配程序集引用。(来自HRESULT的异常:0x8013100)

该异常是从NinjectWebCommon引发的。初始化bootstraper.Initialize(CreateKernel);一行代码就是罪犯

 public static void Start()
 {
     DynamicModuleUtility.RegisterModule(typeof(OnePerRequestHttpModule));
     DynamicModuleUtility.RegisterModule(typeof(NinjectHttpModule));
     bootstrapper.Initialize(CreateKernel);
 }
我假设Ninject可能依赖于System.Web.Http的旧版本,但如果不需要,我不想回滚

有人遇到过这个问题并解决了吗

编辑

似乎有问题的代码在bootstrapper.Initialize()方法中:

private静态IKernel CreateKernel()
{
var kernel=新的标准内核();
kernel.Bind().ToMethod(ctx=>()=>newbootstrapper().kernel);
kernel.Bind().To();
注册服务(内核);
//设置Web API解析器(使用WebApiContrib.Ioc.Ninject)
GlobalConfiguration.Configuration.DependencyResolver=新的NinjectResolver(内核);
返回内核;
}

当我注释掉现有注释下的代码行时,项目运行良好。需要弄清楚如何让WebApi在没有WebApiContrub.IoC.Ninject的情况下工作…

听起来您使用的是没有程序集绑定重定向的WebAPI2

<dependentAssembly>
    <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>


上述添加到my web.config中时,删除了异常,但WebApi不再工作。这意味着您在应用程序中混合了程序集版本。您是否能够解决此问题?在建议的解决方案之后,我不再得到异常,但我不工作。。。
<dependentAssembly>
    <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>