我有一个基于 ASP.NET MVC4、.NET 4.0 的网站
它部署在运行 IIS7 的服务器上。我做了一些小的改动
添加了 AutoMapper(使用 nuget 包)并将其用于其中一个控制器
添加了从 ApiController 派生的新控制器(其他控制器从 Controller 派生)
该站点在我的开发机器(Cassini 和 IIS)上运行良好。
当我将新版本发布到服务器时,它不起作用并显示错误页面(如下)。我不确定是什么原因以及如何解决它。请问你能帮帮我吗?
更新 1
带有 ApiController 但没有 AutoMapper 的版本运行良好。
“/”应用程序中的服务器错误。
无法加载文件或程序集“System.Core,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e,Retargetable=Yes”或其依赖项之一。给定的程序集名称或代码库无效。(来自 HRESULT 的异常:0x80131047)
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.IO.FileLoadException:无法加载文件或程序集“System.Core,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e,Retargetable=Yes”或其依赖项之一。给定的程序集名称或代码库无效。(来自 HRESULT 的异常:0x80131047)
源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
程序集加载跟踪:以下信息有助于确定为什么无法加载程序集“System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes”。
警告:程序集绑定日志记录已关闭。要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) 设置为 1。注意:与程序集绑定失败日志记录相关的一些性能损失。要关闭此功能,请删除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。
堆栈跟踪:
[FileLoadException:无法加载文件或程序集“System.Core,版本=2.0.5.0,文化=中性,PublicKeyToken=7cec85d7bea7798e,可重定位=是”或其依赖项之一。给定的程序集名称或代码库无效。(HRESULT 异常:0x80131047)] System.ModuleHandle.ResolveType(RuntimeModule 模块,Int32 typeToken,IntPtr* typeInstArgs,Int32 typeInstCount,IntPtr* methodInstArgs,Int32 methodInstCount,ObjectHandleOnStack 类型)+0 System.ModuleHandle.ResolveTypeHandleInternal(IntTokenModule 模块, , RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext) +493 System.ModuleHandle.ResolveTypeHandle(Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext) +43 System.Reflection.RuntimeModule。
[InvalidOperationException:在类型 WebActivator.ActivationManager 上运行的预应用程序启动初始化方法引发异常,并显示以下错误消息:无法加载文件或程序集'System.Core,版本 = 2.0.5.0,文化 = 中性,PublicKeyToken = 7cec85d7bea7798e, Retargetable=Yes' 或其依赖项之一。给定的程序集名称或代码库无效。(HRESULT 异常:0x80131047)。] System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 方法)+691 System.Web.Compilation.BuildManager.CallPreStartInitMethods() +425 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, 异常 appDomainCreationException) +1021
[HttpException (0x80004005):在类型 WebActivator.ActivationManager 上运行的预应用程序启动初始化方法引发异常,并显示以下错误消息:无法加载文件或程序集'System.Core,版本 = 2.0.5.0,文化 = 中性,PublicKeyToken =7cec85d7bea7798e, Retargetable=Yes' 或其依赖项之一。给定的程序集名称或代码库无效。(HRESULT 异常:0x80131047)。] System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+646 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+99 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext context)+ 685