'/'应用程序中的服务器错误.System.Web.Http.WebHost

Edd*_*Edd 3 c# .net-assembly system.web asp.net-mvc-4

我正在尝试发布ASP.NET MVC 4 Internet应用程序.发布后,我继续点击我网站的链接,找到:

'/'应用程序中的服务器错误.

无法加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.该系统找不到指定的文件.

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息: System.IO.FileNotFoundException:无法加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.该系统找不到指定的文件.

来源错误:

在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.

程序集加载跟踪:以下信息有助于确定无法加载程序集"System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"的原因.

警告:装配绑定日志记录已关闭.要启用程序集绑定失败日志记录,请将注册表值[HKLM\Software\Microsoft\Fusion!EnableLog](DWORD)设置为1.注意:程序集绑定失败日志记录会导致一些性能损失.要关闭此功能,请删除注册表值[HKLM\Software\Microsoft\Fusion!EnableLog].

堆栈跟踪:

[FileNotFoundException:无法加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.系统找不到指定的文件.] c:\ Users\EAGUILARCO\Documents\Visual Studio 2012\Projects\ProyectoFinal\ProyectoFinal\Global.asax.cs中的ProyectoFinal.MvcApplication.Application_Start():26

[HttpException(0x80004005):无法加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.系统找不到指定的文件.] System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context,HttpApplication app)+9916613 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext,HttpContext context,MethodInfo [] handlers)+118 System.Web. HttpApplication.InitSpecial(HttpApplicationState状态,MethodInfo []处理程序,IntPtr appContext,HttpContext上下文)+172 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext,HttpContext context)+336 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)+ 296

[HttpException(0x80004005):无法加载文件或程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.系统找不到指定的文件.] System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+9930508 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext context)+ 254

到目前为止我尝试过的:

  • 修改注册表,失败.另外,我不确定这是否能解决我的问题.
  • 将'System.Web.Http.WebHost Copy Local'属性设置为'true'.这也没有解决问题.

更新: System.Web.Http.WebHost的版本是4.0.20710.0

Rob*_*son 8

问题似乎是在bin文件夹中找到已部署的程序集.

检查bin文件夹 - 它应该包含System.Web.Http.WebHost dll.

如果此dll位于此文件夹中,请通过右键单击文件然后单击属性来检查版本.

如果它不是4.0.0.0,那么您应该部署版本4.0.0.0或尝试右键单击项目中的引用并确保"特定版本"属性设置为false.