代码之家  ›  专栏  ›  技术社区  ›  mare

资源(RESX)文件出错

  •  6
  • mare  · 技术社区  · 14 年前

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

    我仍然有我的所有字符串在两个resx的,但设计师的文件已经不见了(空),所以应用程序不能建立。

    这是VS2010的ASP.NETMVC解决方案。

    4 回复  |  直到 14 年前
        1
  •  9
  •   Alvis    12 年前

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

    Build Action - Embedded Resource
    Custom Tool  - PublicResXFileCodeGenerator
    
        2
  •  8
  •   mare    14 年前

    ASP.NET documentation 说的是资源文件。

    它并没有专门讨论动态生成的codebhind设计器文件,但是如果您仔细阅读粗体文本,它本质上是说您需要没有指定语言的基文件,并且考虑到这一点,只有此文件将包含自动生成的代码是有意义的。

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

    网络资源.resx

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

    WebResources.es.resx网站

    WebResources.es-mx.resx网站

    网站资源.de.resx

    德语的资源文件。”

        3
  •  2
  •   Nealv    14 年前

    如果我是你,我会:

    打开旧的; 按ctrl+a键; 删除旧的; 重命名新的:)

    这应该能很快解决问题。 您还可以通过单击ShowAll按钮来检查cs文件是否未从文件中排除

        4
  •  0
  •   Andreas_Lng    9 年前

    很抱歉用这个来写评论。我的名声其实不到50=(但我认为这可能也很重要。

    编辑: 所以这是指C/WPF。在ASP.NET中可能不同

        5
  •  0
  •   Iain Smith    5 年前

    • Resource1.resx
    • 让它创建: Resource1.Desinger.cs
    • Localize.en.resx

    对我来说,任何其他的方法都只是停止创建 X.Designer.cs