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

时间:2014-12-09 01:26:02

标签: c# asp.net-mvc-4 .net-assembly system.web

我正在尝试发布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&#39 ;或其中一个依赖项。系统找不到指定的文件。

来源错误:

  

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

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

  

警告:装配绑定日志记录已关闭。   要启用程序集绑定失败日志记录,请将注册表值[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'或其中一个依赖项。该系统找不到指定的文件。]      ProyectoFinal.MvcApplication.Application_Start()位于c:\ Users \ EAGUILARCO \ Documents \ Visual Studio 2012 \ Projects \ ProyectoFinal \ ProyectoFinal \ Global.asax.cs: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复制本地'属性为' true'。这也没有解决问题。

更新: System.Web.Http.WebHost版本为4.0.20710.0

1 个答案:

答案 0 :(得分:8)

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

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

如果此dll位于此文件夹中,请右键单击该文件,然后单击属性以检查版本。

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