我在Window Azure中托管了一个MVC应用程序作为Cloud Service。我使用RDLC报告服务进行报告。每次第一次有一些短暂的时间间隔,当我调用我的RDLC报告时,它最终会出现服务器错误。刷新可以解决问题,报告加载得很好。这是环境问题吗?任何人都面临这样的问题?什么可以解决这个问题?错误详情如下:
>应用程序中的服务器错误。无法从程序集'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'加载类型'System.Runtime.CompilerServices.ExtensionAttribute'。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.TypeLoadException:无法从程序集'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'加载类型'System.Runtime.CompilerServices.ExtensionAttribute'。
来源错误:
生成此未处理异常的源代码只能在调试模式下编译时显示。要启用此功能,请按照以下步骤之一,然后请求网址:
- 在生成错误的文件顶部添加“Debug = true”指令。例如:
醇>
或:
2)将以下部分添加到应用程序的配置文件中:
请注意,第二种技术将导致给定应用程序中的所有文件都以调试模式进行编译。第一种技术只会导致在调试模式下编译该特定文件。
重要:在调试模式下运行应用程序会产生内存/性能开销。在部署到生产方案之前,应确保应用程序已禁用调试。
堆栈追踪:
[TypeLoadException:无法从程序集'mscorlib加载'System.Runtime.CompilerServices.ExtensionAttribute',Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'。] 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)+525 System.ModuleHandle.ResolveTypeHandle(Int32 typeToken,RuntimeTypeHandle [] typeInstantiationContext,RuntimeTypeHandle [] methodInstantiationContext)+19 System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken,Type [] genericTypeArguments,Type [] genericMethodArguments)+315 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)+1171 System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeAssembly assembly,RuntimeType caType)+146 System.Web.UI.AssemblyCache.GetAjaxFrameworkAssemblyAttribute(Assembly assembly)+103 System.Web.UI.ScriptManager.get_DefaultAjaxFrameworkAssembly()+592 System.Web.UI.ScriptManager..ctor()+30 ASP.rdlcs_viewreport_aspx .__ BuildControlform1()+ 202 ASP.rdlcs_viewreport_aspx.FrameworkInitialize()+193 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+72 System.Web.UI.Page.ProcessRequest()+269 System.Web.UI.Page.ProcessRequest(HttpContext context)+167 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+664 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)+270
答案 0 :(得分:0)
将Azure Cloud Service配置为在内置.NET 4.5的“Windows Server 2012或更高版本”等操作系统下运行。