asp.net-mvc - 资源 (RESX) 文件搞砸了

标签 asp.net-mvc visual-studio visual-studio-2010 resources resx

我有一个名为 Localize.resx 的资源文件,其中包含英文字符串。我将它复制并粘贴到同一个文件夹(App_GlobalResources)中,VS 创建了一个副本,我将副本重命名为 Localize.sl.resx,将原始副本重命名为 Localize.en.resx。现在代码隐藏文件 (Localize.en.designer.cs) 中的所有内容都消失了。删除设计器文件并选择运行自定义工具会生成一个新的但完全空白的设计器文件。

我的所有字符串都在 resx 中,但设计器文件已消失(空),因此无法构建应用程序。

有什么建议?

这是在 Vs 2010 中使用 ASP.NET MVC 解决方案。

最佳答案

这是什么ASP.NET documentation说到资源文件。

它没有专门讨论动态生成的代码隐藏设计器文件,但是如果您仔细阅读粗体文本,它实际上是在说您需要没有指定语言的基本文件,并且鉴于此,只有此文件将包含自动生成代码。

" 创建资源文件时,首先要创建一个基本的 .resx 文件。对于要支持的每种语言,创建一个具有相同文件名的新文件。但在名称中,包括语言或语言和文化(文化名称)。 有关文化名称的列表,请参阅 CultureInfo 类。例如,您可以创建以下文件:

•WebResources.resx

基础资源文件。这是默认(后备)资源文件。

•WebResources.es.resx

西类牙语的资源文件。

•WebResources.es-mx.resx

专门针对西类牙语(墨西哥)的资源文件。

•WebResources.de.resx

德语资源文件。”

实际上我以前从未注意到这一点,但是当我去检查我的旧项目时,我看到它们都有基本文件,然后是特定于语言的文件。所以我只是更正它以遵循该约定,现在它可以工作了。

关于asp.net-mvc - 资源 (RESX) 文件搞砸了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3343813/

相关文章:

asp.net - 将经典 ASP 和 ASP.NET Web 窗体转换为 ASP.NET MVC

visual-studio - 如何使用 libman 而不是 npm 来下载 typescript 定义

.net - 隐藏在Visual Studio中的项目文件

c++ - C++ 的 64 位名称修改

c++ - Intellisense 说错误 : member "Class::field" is inaccessible but it's still works? 为什么?

asp.net-mvc - MVC3 混合表单和 Windows 身份验证

asp.net-mvc - MVC3 如何禁用/启用 ActionLink

c# - 从同一解决方案 MVC 中的不同项目访问 EF ConnectionString

sql-server - Visual Studio 架构比较找不到生成的脚本

c++ - Visual Studio 2010 中 unique_pointer 的奇怪行为