我有一个名为 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/