gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 13:46:48 24 4
gpt4 key购买 nike

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

Could not load file or assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

异常是从 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 static IKernel CreateKernel()
{
var kernel = new StandardKernel();
kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => new Bootstrapper().Kernel);
kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>();

RegisterServices(kernel);

// Set Web API Resolver (using WebApiContrib.Ioc.Ninject)
GlobalConfiguration.Configuration.DependencyResolver = new NinjectResolver(kernel);

return kernel;
}

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

最佳答案

听起来您正在使用没有程序集绑定(bind)重定向的 Web API2

<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>

关于c# - System.Web.Http 的 NuGet 更新后出现 FileLoadException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19655565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com