ASP.NET:“找不到此页面的资源类。”

时间:2009-07-22 08:20:53

标签: asp.net localization windows-vista

我和一位同事最近已升级到Windows Vista,并且一直使用它来开发使用Visual Studio 2008的ASP.NET应用程序而没有太多问题。直到今天早上,我已经一直在设法使用本地资源。

但是,今天早上,我的应用程序突然停止使用本地资源,因为任何带有meta:resourcekey属性的控件都会突然显示一个空字符串。起初,我认为这是我对应用程序所做的事情,因此我创建了一个全新的Web应用程序,向ASPX页面添加了标签,并从中生成了本地资源。但运行它有同样的问题 - 文本根本不显示。请参阅附带的屏幕截图以及示例及其输出。

然而,在同事的机器上运行它(也有Vista),没有问题。

很明显,如果我尝试在后面的代码中获取值,它会抛出此异常:


Server Error in '/Resources' Application. The resource class for this page was not found.  Please check if the resource file exists and try again. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: The resource class for this page was not found.  Please check if the resource file exists and try again.

Source Error:

Line 12:             protected void Page_Load(object sender, EventArgs e) Line 13:             { Line 14:        object x = HttpContext.GetLocalResourceObject("~/Default.aspx", "lblTestResource1.Text"); Line 15:     } Line 16:       }

Source File: C:\inetpub\wwwroot.Net2\Standalone\Resources\Resources\Default.aspx.cs Line: 14

Stack Trace:

[InvalidOperationException: The resource class for this page was not found.  Please check if the resource file exists and try again.]    System.Web.Compilation.LocalResXResourceProvider.CreateResourceManager()
+2468866    System.Web.Compilation.BaseResXResourceProvider.EnsureResourceManager()
+20    System.Web.Compilation.BaseResXResourceProvider.GetObject(String resourceKey, CultureInfo culture) +15  System.Web.Compilation.ResourceExpressionBuilder.GetResourceObject(IResourceProvider resourceProvider, String resourceKey, CultureInfo culture, Type objType, String propName) +21    System.Web.HttpContext.GetLocalResourceObject(String virtualPath, String resourceKey, CultureInfo culture) +38    System.Web.HttpContext.GetLocalResourceObject(String virtualPath, String resourceKey) +6    Resources._Default.Page_Load(Object sender, EventArgs e) in C:\inetpub\wwwroot.Net2\Standalone\Resources\Resources\Default.aspx.cs:14 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
+14    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35    System.Web.UI.Control.OnLoad(EventArgs e) +99    System.Web.UI.Control.LoadRecursive()
+50    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

Version Information: Microsoft .NET Framework Version:2.0.50727.3074; ASP.NET Version:2.0.50727.3074

任何人都有任何想法?奇怪的是使用资源工作。我已经尝试重新启动计算机,并清除我的临时ASP.NET文件 - 但问题仍然存在。

非常感谢

史蒂夫

2 个答案:

答案 0 :(得分:1)

好的,我之前做了几天的系统恢复,现在工作正常。奇怪,因为我(明知)没有对系统文件或其他任何内容进行任何更改。

答案 1 :(得分:0)

作为一种极端措施,您可以尝试修复.net框架的安装......

我以前从未遇到过或者甚至没有听说过这个问题所以我担心没有更好的解决方案。