我有一个基于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,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e,Retargetable = Yes'或其中一个依赖项。给定的程序集名称或代码库无效。 (HRESULT异常:0x80131047)] System.ModuleHandle.ResolveType(RuntimeModule模块,Int32 typeToken,IntPtr * typeInstArgs,Int32 typeInstCount,IntPtr * methodInstArgs,Int32 methodInstCount,ObjectHandleOnStack类型)+0 System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module,Int32 typeToken,RuntimeTypeHandle [] typeInstantiationContext,RuntimeTypeHandle [] methodInstantiationContext)+493 System.ModuleHandle.ResolveTypeHandle(Int32 typeToken,RuntimeTypeHandle [] typeInstantiationContext,RuntimeTypeHandle [] methodInstantiationContext)+43 System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken,Type [] genericTypeArguments,Type [] genericMethodArguments)+325 System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord,MetadataImport scope,Assembly& lastAptcaOkAssembly,RuntimeModule decoratedModule,MetadataToken decoratedToken,RuntimeType attributeFilterType,Boolean mustBeInheritable,Object [] attributes,IList derivedAttributes,RuntimeType& attributeType,IRuntimeMethodInfo& ctor,Boolean& ctorHasParameters, Boolean& isVarArg)+208 System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule,Int32 decoratedMetadataToken,Int32 pcaCount,RuntimeType attributeFilterType,Boolean mustBeInheritable,IList derivedAttributes,Boolean isDecoratedTargetSecurityTransparent)+1188 System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule,Int32 decoratedMetadataToken,Int32 pcaCount,RuntimeType attributeFilterType,Boolean isDecoratedTargetSecurityTransparent)+36 System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeAssembly assembly,RuntimeType caType)+128 WebActivator.AssemblyExtensions.GetActivationAttributes(Assembly assembly)+114 WebActivator.ActivationManager.RunActivationMethods()+286 WebActivator.ActivationManager.RunPreStartMethods()+38 WebActivator.ActivationManager.Run()+56
[InvalidOperationException:预应用程序启动初始化方法在类型WebActivator.ActivationManager上运行时抛出异常,并显示以下错误消息:无法加载文件或程序集&System; System.Core,Version = 2.0.5.0,Culture =中性,PublicKeyToken = 7cec85d7bea7798e,Retargetable = Yes'或其中一个依赖项。给定的程序集名称或代码库无效。 (HRESULT异常:0x80131047)。] System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods)+691 System.Web.Compilation.BuildManager.CallPreStartInitMethods()+ 425 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager,IApplicationHost appHost,IConfigMapPathFactory configMapPathFactory,HostingEnvironmentParameters hostingParameters,PolicyLevel policyLevel,Exception appDomainCreationException)+1021
[HttpException(0x80004005):预应用程序启动初始化方法运行类型WebActivator.ActivationManager引发异常,并显示以下错误消息:无法加载文件或程序集&System; System.Core,Version = 2.0.5.0 ,Culture = neutral,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
答案 0 :(得分:3)
是AutoMapper 3.0.0。
我按照
的建议使用了AutoMapper 2.2.1https://github.com/AutoMapper/AutoMapper/issues/383
问题解决了。