资源(RESX)文件搞砸了

mar*_*are 7 asp.net-mvc resources resx visual-studio-2010 visual-studio

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

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

有什么建议?

这是使用ASP.NET MVC解决方案的Vs 2010.

Alv*_*vis 9

我有同样的问题 - 一些resx文件没有Designer.cs文件.

修复方法是设置resx文件的属性:

Build Action - Embedded Resource
Custom Tool  - PublicResXFileCodeGenerator
Run Code Online (Sandbox Code Playgroud)


mar*_*are 8

这是ASP.NET文档中有关资源文件的内容.

它没有特别谈论动态生成的代码隐藏设计器文件,但如果你仔细阅读粗体文本,它实质上是说你需要没有指定语言的基本文件,并且鉴于此,只有这个文件将包括自动生成才有意义码.

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

•WebResources.resx

基本资源文件.这是默认(回退)资源文件.

•WebResources.es.resx

西班牙语的资源文件.

•WebResources.es-mx.resx

西班牙语(墨西哥)的资源文件.

•WebResources.de.resx

德语的资源文件."

我实际上从来没有注意到这一点,但当我去检查我的旧项目时,我看到他们都有基本文件,然后是语言特定的.所以我只是纠正它以遵循该惯例,它现在有效.