Iis 7 IIS 7.5上的MVC5引发异常:无法加载类型HttpRedirect

Iis 7 IIS 7.5上的MVC5引发异常:无法加载类型HttpRedirect,iis-7,asp.net-mvc-5,http-redirect,Iis 7,Asp.net Mvc 5,Http Redirect,我已将MVC5应用程序很好地部署到本地IIS8(Windows 8),但部署到Windows Web Server 2008 SP1后无法工作 我得到的错误是: Exception Details: System.Web.HttpException: Could not load type 'HttpRedirect'. Stack Trace: [HttpException (0x80004005): Could not load type 'HttpRedirect'.] Syste

我已将MVC5应用程序很好地部署到本地IIS8(Windows 8),但部署到Windows Web Server 2008 SP1后无法工作

我得到的错误是:

Exception Details: System.Web.HttpException: Could not load type 'HttpRedirect'.
Stack Trace: 
[HttpException (0x80004005): Could not load type 'HttpRedirect'.]
   System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +9671464
   System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +38

[ConfigurationErrorsException: Could not load type 'HttpRedirect'.]
   System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +359
   System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, Boolean checkAptcaBit) +19
   System.Web.Configuration.Common.ModulesEntry.SecureGetType(String typeName, String propertyName, ConfigurationElement configElement) +39
   System.Web.Configuration.Common.ModulesEntry..ctor(String name, String typeName, String propertyName, ConfigurationElement configElement) +42
   System.Web.HttpApplication.BuildIntegratedModuleCollection(List`1 moduleList) +160
   System.Web.HttpApplication.GetModuleCollection(IntPtr appContext) +950
   System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +82
   System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +172
   System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +336
   System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +296
[HttpException (0x80004005): Could not load type 'HttpRedirect'.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9915300
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254
我阅读了多篇文章,检查了IIS上的设置,重新安装了NET Framework(4,4.5,4.5.1),并使用c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet\u regiis.exe-ir在IIS中注册

我还尝试使用标准的ASP.NET网站MVC2/3/4和MVC2/5部署几个不同的测试应用程序。所有这些都以同样的错误告终。使用Net4的Win表单在此服务器上运行良好

有趣的是,我在网上找不到任何与加载“HttpRedirect”类型问题直接相关的文章。服务器上安装了HttpRedirect角色

不知道下一步该怎么办。第二天就要打仗了,我的点子都快用完了。要找到在机器上运行MVC的详细要求也不容易,或者只有我和星期五:-)

更新:

来自FUSLOGVW的日志

*装配活页夹日志条目(2014年6月27日@15:20:31)*

手术是成功的。绑定结果:hr=0x0。手术 已成功完成

从以下位置加载程序集管理器: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll运行于 可执行文件C:\Windows\SysWOW64\inetsrv\w3wp.exe ---下面是详细的错误日志

===预绑定状态信息===日志:DisplayName=System.Web.Http(部分)警告:已为 程序集:WRN:assembly Name:System.Web.Http |域ID:6 WRN:A 当仅显示部件显示名称的一部分时,会发生部分绑定 假如警告:这可能导致活页夹加载错误 装配警告:建议提供完全指定的文本 程序集的标识,WRN:由简单名称组成, 版本、区域性和公钥令牌。警告:见白皮书 有关更多信息和 这一问题的共同解决办法。日志:Appbase= file:///D:/sitesource/mysite/CM3Management/ 日志:初始私有路径= D:\sitesource\mysite\CM3Management\bin日志:动态库= C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件\cm3管理\bf917f7b日志:缓存库= C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件\cm3management\bf917f7b日志:AppName=871e80调用程序集: (不详)。 ==日志:此绑定在默认加载上下文中启动。日志:使用应用程序配置文件: D:\sitesource\mysite\CM3Management\web.config日志:使用主机 配置文件: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config日志:使用 来自的计算机配置文件 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config。 日志:此时未将策略应用于引用(私有, 自定义、部分或基于位置的部件绑定)。日志:正在尝试 下载新网址 file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET文件/cm3management/bf917f7b/871e80/System.Web.Http.DLL。日志: 正在尝试下载新的URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET 文件/cm3management/bf917f7b/871e80/System.Web.Http/System.Web.Http.DLL。 日志:正在尝试下载新URL file:///D:/sitesource/mysite/CM3Management/bin/System.Web.Http.DLL. 日志:程序集下载成功。正在尝试安装文件: D:\sitesource\mysite\CM3Management\bin\System.Web.Http.dll日志: 进入下载缓存设置阶段。日志:程序集名称为: System.Web.Http,版本=4.0.0.0,区域性=中性, PublicKeyToken=31bf3856ad364e35日志:部分指定的程序集 从应用程序目录绑定成功。需要重新申请吗 政策。日志:使用应用程序配置文件: D:\sitesource\mysite\CM3Management\web.config日志:使用主机 配置文件: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config日志:使用 来自的计算机配置文件 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config。 日志:发布策略参考:System.Web.Http,版本=4.0.0.0, 区域性=中性,PublicKeyToken=31bf3856ad364e35日志:GAC查找失败 不成功的日志:绑定成功。从返回程序集 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件\cm3management\bf917f7b\871e80\assembly\dl3\4ba23522\3f728a19\U 6f7acf01\System.Web.Http.dll。 日志:在默认加载上下文中加载程序集

类似的问题“部分加载的程序集”仅在我的情况下影响System.Web.Http上的更多程序集。到目前为止,我检查的所有日志都有类似的外观


我还想添加一个内容,即我尝试在System.Web.Http程序集的“copy local”打开然后关闭的情况下发布。这没什么区别。复制所有程序集的本地文件也没有帮助。

能否在服务器上运行
fuslogvw
,查看查找路径是否存在问题?听起来像是DLL被丢失或加载了一个不好的版本。谢谢你的评论。隧道里有灯光,因为日志显示了一些关于部分加载组件的信息。还不确定是什么。如果你想看一看的话,我现在已经把日志附在了主帖子上了。所以看起来应该怪
System.Web.Http
。在编译时,您是否看到关于“在同一程序集的不同版本之间发现冲突…”的任何警告?VS2013提供了一些关于这类事情的好信息,使得指定
非常容易。理想情况下,在
节点中应该有类似于
的内容。此外,假设问题得到解决,请确保禁用
fuslogvw
。这是一个很大的开销,所以最好在它达到目的后消除它。我将它部署到另一台机器上。我的本地应用程序运行windows 8,当部署到本地IIS8时,该应用程序运行良好。部署后,它仅在测试环境中中断。