我的网站最初是使用VS2010在MVC 4.0 RC中编写的.我刚下载并安装了VS2012,并将我的项目升级到了Dotnet Framework 4.5.
在我的项目中,我使用Custom MemberShipProvider和自定义RoleProvider.在VS2010上,它就像一个魅力.但现在我一直在收到一个奇怪的配置错误:
"在应用程序的预启动初始化阶段,无法调用此方法."
我的web.config中的"system.web - > membership - > providers - > add"行被标记为红色作为问题的根源.
通过创建一个新的MVC 4.0项目(在VS2012中),添加我的自定义成员资格/角色提供程序,适当地更改web.config以及发现错误再次出现,我消除了对该问题与迁移过程有关的怀疑!
深入研究问题 - 我在应用程序日志中找到了以下信息:
异常信息:异常类型:InvalidOperationException异常消息:预应用程序启动初始化方法启动类型WebMatrix.WebData.PreApplicationStartCode引发异常,并显示以下错误消息:在应用程序的启动前初始化阶段无法调用此方法.(C:\ Users\dov.AD\Documents\Visual Studio 2012\Projects\MvcApplication2\MvcApplication2\web.config第52行).
System.Web处理1 methods, FuncSystem.Web.Compilation.BuildManager.CallPartInitMethods(String preStartInitListPath)的System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1方法)中的System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection 1 setHostingEnvironmentCultures). System.Web.Hosting.HostingEnvironment.Initialize中的Compilation.BuildManager.ExecutePreAppStart()(ApplicationManager appManager,IApplicationHost appHost,IConfigMapPathFactory configMapPathFactory,HostingEnvironmentParameters hostingParameters,PolicyLevel policyLevel,Exception appDomainCreationException)在应用程序的预启动初始化阶段期间无法调用此方法.
System.Web.Configuration.ConfigUtil.GetType(String typeName,String propertyName,ConfigurationElement configElement,XmlNode node )中的(C:\ Users\dov.AD\Documents\Visual Studio 2012\Projects\MvcApplication2\MvcApplication2\web.config第52行),System.Web.Configuration.ProvidersHelper.InstantiateProvider(ProviderSettings providerSettings,Type providerType)中的System.Web.Configuration.ConfigUtil.GetType(String typeName,String propertyName,ConfigurationElement configElement,Boolean checkAptcaBit,Boolean ignoreCase)中的布尔checkAptcaBit,Boolean ignoreCase)在System.Web.Security.Meithip.Initialize
上System.Web.Security.Membership.InitializeSettings(Boolean initializeGeneralSettings,RuntimeConfig appConfig,MembershipSection设置)的System.Web.Configuration.ProvidersHelper.InstantiateProviders(ProviderSettingsCollection configProviders,ProviderCollection providers,Type providerType)中()WebMatrix.WebData.WebSecurity.PreA上的System.Web.Security.Membership.get_Providers()WebMatrix.WebData.PreApplicationStartCode.Start()上的ppStartInit()在应用程序的预启动初始化阶段期间无法调用此方法.在System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
在System.Web.Compilation.BuildManager.GetType(字符串的typeName,布尔throwOnError,布尔IGNORECASE)在System.Web.Configuration.ConfigUtil.GetType(字符串的typeName,字符串propertyName的,的ConfigurationElement configElement,XmlNode节点,布尔checkAptcaBit,布尔值ignoreCase)Run Code Online (Sandbox Code Playgroud)Request information: Request URL: http://localhost:4995/ Request path: / User host address: …