我使用.net 4.5版本使用Visual Studio 2012构建了一个相当简单的网站。
当我将网站上传到我的服务器时,我收到以下错误:
找不到方法:'Void System.Web.UI.ScriptResourceDefinition.set_LoadSuccessExpression(System.String)'。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.MissingMethodException:找不到方法:'Void System.Web.UI.ScriptResourceDefinition.set_LoadSuccessExpression(System.String)'。
[MissingMethodException:找不到方法:'Void System.Web.UI.ScriptResourceDefinition.set_LoadSuccessExpression(System.String)'。] Microsoft.ScriptManager.WebFormsv45.PreApplicationStartCode.Start()+ 0
[InvalidOperationException:预应用程序启动初始化方法启动类型Microsoft.ScriptManager.WebFormsv45.PreApplicationStartCode引发异常,并显示以下错误消息:找不到方法:'Void System.Web.UI.ScriptResourceDefinition.set_LoadSuccessExpression(System。串)'..] System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods)+423 System.Web.Compilation.BuildManager.CallPreStartInitMethods()+306 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager,IApplicationHost appHost,IConfigMapPathFactory configMapPathFactory,HostingEnvironmentParameters hostingParameters,PolicyLevel policyLevel,Exception appDomainCreationException)+677
[HttpException(0x80004005):预应用程序启动初始化方法启动类型Microsoft.ScriptManager.WebFormsv45.PreApplicationStartCode引发异常,并显示以下错误消息:找不到方法:'Void System.Web.UI.ScriptResourceDefinition.set_LoadSuccessExpression (System.String)” ..] System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+9090876 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+97 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext context)+256
(托管公司提供以下内容:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.272)
我知道这个问题/答案: http://forums.asp.net/t/1823969.aspx/1但我觉得它不是很有帮助,因为它没有提供关于我在哪里更正引用的任何细节(我不知道csproj在哪里/什么)。
此外,我知道此处发布的类似问题没有答案:
如何解决此问题的任何提示和建议都表示赞赏。
谢谢!
答案 0 :(得分:4)
LoadSuccessExpression属性是.NET 4.5中的新属性。由于您的主机仅支持.NET 4,因此在部署时此属性不存在。
你得到一个遗漏的方法异常,因为属性设置器实际上只是一个幕后方法。