找不到具有键“KeyName”的资源对象

我正在使用App_GlobalResources开发一个多语言的ASP.NET网站。 在App_GlobalResources文件夹中,我添加了两个资源文件: Resource.language.en-US.resxResource.language.fr-FR.resx

我还添加了一个名为About.aspx的Web表单。 在这个页面中我添加了这个范围:

  <asp:Literal ID="Literal1" runat="server" Text="" />  

在代码背后:

 public partial class About : BasePage { protected void Page_Load(object sender, EventArgs e) { Session["lang"] = "en"; } } 

最后, BasePage

 public class BasePage : System.Web.UI.Page { protected override void InitializeCulture() { if (!string.IsNullOrEmpty(Request["lang"])) { Session["lang"] = Request["lang"]; } string lang = Convert.ToString(Session["lang"]); string culture = string.Empty; if (lang.ToLower().CompareTo("en") == 0 || string.IsNullOrEmpty(culture)) { culture = "en-US"; } if (lang.ToLower().CompareTo("fr") == 0) { culture = "fr-FR"; } Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture); Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture); base.InitializeCulture(); } } 

现在,当我运行该项目时,我收到以下错误:

说明:解析为此请求提供服务所需的资源时发生错误。 请查看以下特定的解析错误详细信息并相应地修改源文件。 分析器错误消息:找不到具有键“aboutFoundation”的资源对象。

可能是什么问题? 提前致谢。

您没有名为Resource.language的文件。 您有Resource.language.en-US.resxResource.language.fr-FR.resx 。 因此,您可以在App_GlobalResources文件夹中添加一个名为Resource.language.resx文件,其内容应与Resource.language.en-US.resx或者您可以重命名Resource.language.en-US.resxResource.language.resx所以你需要一个Resource.language.resx