Asp.net mvc 4 ASP.NET MVC 4网站赢得';t启动-无法加载类型';System.Reflection.AssemblyMetadataAttribute';

Asp.net mvc 4 ASP.NET MVC 4网站赢得';t启动-无法加载类型';System.Reflection.AssemblyMetadataAttribute';,asp.net-mvc-4,webactivator,Asp.net Mvc 4,Webactivator,我将ASP.NET MVC 4 web应用程序部署到Windows Server 2003(IIS 6)。但它不会启动 最初我为.NET4.5开发了这个项目,但当我发现WindowsServer2003不支持.NET4.5时,我不得不为.NET4重新构建它。 这意味着删除所有第三方引用(使用NuGet),将项目属性中的构建目标更改为.NET4,然后重新添加引用。 参考文献包括Ninject、EF和Automapper 当我尝试加载页面时,出现以下错误: 无法从加载类型“System.Reflec

我将ASP.NET MVC 4 web应用程序部署到Windows Server 2003(IIS 6)。但它不会启动

最初我为.NET4.5开发了这个项目,但当我发现WindowsServer2003不支持.NET4.5时,我不得不为.NET4重新构建它。 这意味着删除所有第三方引用(使用NuGet),将项目属性中的构建目标更改为.NET4,然后重新添加引用。 参考文献包括Ninject、EF和Automapper

当我尝试加载页面时,出现以下错误:

无法从加载类型“System.Reflection.AssemblyMetadataAttribute” 程序集'mscorlib,版本=4.0.0.0,区域性=中性, PublicKeyToken=b77a5c561934e089'。描述:未处理的异常 在执行当前web请求期间发生。请 查看堆栈跟踪以了解有关错误和位置的更多信息 它起源于代码

异常详细信息:System.TypeLoadException:无法加载类型 来自程序集“mscorlib”的“System.Reflection.AssemblyMetadataAttribute”, 版本=4.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089'

源错误:

在执行过程中生成了未处理的异常 当前web请求。关于货物来源和位置的信息 可以使用下面的异常堆栈跟踪来识别异常

堆栈跟踪:

[TypeLoadException:无法加载类型 来自程序集“mscorlib”的“System.Reflection.AssemblyMetadataAttribute”, 版本=4.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089.]
System.ModuleHandle.ResolveType(RuntimeModule模块,Int32 typeToken, IntPtr*类型安装RGS、Int32类型安装计数、IntPtr*方法安装RGS、, Int32 methodInstCount,ObjectHandleOnStack类型)+0
System.ModuleHandle.ResolveTypeHandleInternal(运行时模块模块, Int32 typeToken,RuntimeTypeHandle[]TypeInstanceContext, RuntimeTypeHandle[]方法实例化上下文)+180
System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken, 类型[]genericTypeArguments,类型[]genericMethodArguments)+192
System.Reflection.CustomAttribute.FilterCustomAttribute记录(CustomAttributeRecord caRecord、元数据导入范围、程序集和LastAptCookAssembly, RuntimeModule decoratedModule,MetadataToken decoratedToken, RuntimeType attributeFilterType,布尔值必须不可编辑,对象[] 属性、IList derivedAttributes、RuntimeType和attributeType, IRuntimeMethodInfo&ctor,布尔&ctor参数,布尔& isVarArg)+115
System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule、Int32 decoratedMetadataToken、Int32 pcaCount、, RuntimeType attributeFilterType,布尔值必须不可编辑,IList 派生属性,布尔值IsDecoratedTargetSecurity透明)+426 System.Reflection.CustomAttribute.GetCustomAttributes(运行时程序集 程序集,运行时类型caType)+103
System.Reflection.RuntimeAssembly.GetCustomAttributes(类型 属性类型,布尔继承)+64
WebActivator.AssemblyExtensions.GetActivationAttributes(程序集 总成)+113
WebActivator.ActivationManager.RunActivationMethods()+216
WebActivator.ActivationManager.RunPreStartMethods()+28
WebActivator.ActivationManager.Run()+55

[InvalidOperationException:应用程序启动前初始化 在WebActivator.ActivationManager类型上运行的方法引发了异常 出现以下错误消息:无法加载类型 来自程序集“mscorlib”的“System.Reflection.AssemblyMetadataAttribute”, 版本=4.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089'.] System.Web.Compilation.BuildManager.InvokePrestartInethods(ICollection`1 方法)+423
System.Web.Compilation.BuildManager.CallPreStartInitMethods()+306
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager,IApplicationHost appHost,IConfigMapPathFactory configMapPathFactory,HostingEnvironmentParameters hostingParameters, PolicyLevel PolicyLevel,异常appDomainCreationException)+677

[HttpException(0x80004005):应用程序启动前初始化 在WebActivator.ActivationManager类型上运行的方法引发了异常 出现以下错误消息:无法加载类型 来自程序集“mscorlib”的“System.Reflection.AssemblyMetadataAttribute”, 版本=4.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089'.] System.Web.HttpRuntime.FirstRequestInit(HttpContext上下文)+9164848 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext上下文)+97 System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequestWR) +258

有什么想法吗

编辑:使用VS2012开发的网站

Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly mscorlib

是的,当您在.NET 4.0而不是.NET 4.5上执行代码时,技术上可能会出错。在.NET 4.5中,该属性已从System.Core.dll移动到mscorlib.dll。虽然这听起来像是一个相当令人讨厌的突破性变化,在一个应该是100%兼容的框架版本中,[TypeForwardedTo]属性应该会使这种差异变得不可观察。

好的,所以我认为我找到了基于此的答案,看起来我将从我的机器上卸载.NET 4.5可能的副本