无法加载文件或程序集&System; Web.Http.WebHost ...'或其中一个依赖项。该模块应该包含一个程序集清单

时间:2014-11-24 16:57:50

标签: asp.net-mvc-3 iis-7.5 windows-sbs

我有一个客户在本地部署的MVC应用程序。它已经工作多年了。

我有客户试图在这种环境中加载它:

  • SERVER :Windows Small Business Server 2011标准版
  • IIS :7.5
  • .NET :3.5.1& 4.5

他们正在部署为子域,但收到此错误:

Server Error in '/' Application.

Could not load file or assembly 'System.Web.Http.WebHost, Version=4.0.0.0, 
Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The 
module was expected to contain an assembly manifest.

Description: An unhandled exception occurred during the execution of the current web 
request. Please review the stack trace for more information about the error and where 
it originated in the code. 

Exception Details: System.BadImageFormatException: Could not load file or assembly 
'System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 
or one of its dependencies. The module was expected to contain an assembly manifest.

Source Error: 

An unhandled exception was generated during the execution of the current web request. 
Information regarding the origin and location of the exception can be identified using 
the exception stack trace below.

Assembly Load Trace: The following information can be helpful to determine why the assembly 
'System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 
could not be loaded.


WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value    
[HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

Stack Trace: 


[BadImageFormatException: Could not load file or assembly 'System.Web.Http.WebHost, 
Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its 
dependencies. The module was expected to contain an assembly manifest.]
site.MvcApplication.Application_Start() in f:\Users\{path}\site\Global.asax.cs:912

[HttpException (0x80004005): Could not load file or assembly 'System.Web.Http.WebHost, 
Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its 
dependencies. The module was expected to contain an assembly manifest.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext 
context, HttpApplication app) +12864673
   System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, 
   HttpContext context, MethodInfo[] handlers) +175
   System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, 
   IntPtr appContext, HttpContext context) +304
   System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, 
   HttpContext context) +404
   System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +475

[HttpException (0x80004005): Could not load file or assembly 'System.Web.Http.WebHost, 
Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its 
dependencies. The module was expected to contain an assembly manifest.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +12881540
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +159
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, 
   HttpContext context) +12722601

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17929

我试过了

  • 从工作目录中复制指示的dll无效。
  • 检查应用程序池信息
  • 比较工作地点与此之间的设置
  • 许多Google搜索
  • 全新安装应用程序和IIS

我们没有尝试似乎工作。想法?

1 个答案:

答案 0 :(得分:0)

我删除了bin文件夹,并重新构建了应用程序。然后我通过并确保所需的dll在发布时被复制到本地,现在可以正常工作。