【问题标题】:Avoid Visual Studio removing strings from resx file避免 Visual Studio 从 resx 文件中删除字符串
【发布时间】:2011-03-02 17:54:09
【问题描述】:

我想手动将一些额外的字符串添加到与 WinForms 类关联的 resx 文件中。这很好用,我可以使用 ResourceManager 访问这些字符串。

但是,一旦我使用 Visual Studio 设计器修改表单,它就会重写 resx 文件,从而删除我的字符串。

有没有办法阻止 Visual Studio 设计器这样做?

(请不要问我为什么要手动将一些字符串添加到resx文件中。我就是这样做的。)

【问题讨论】:

  • 是的,您将丢失所做的更改。你就是这样做的。
  • 只是为了跟进此事,我只想感谢您的评论 Hans。不要问我为什么,我就是这样。我最终做的是编写一个程序,该程序作为预构建步骤运行,检测 Visual Studio 设计器何时重写了 resx 文件,然后我再次添加我的附加字符串。拿去吧,Visual Studio 设计师!

标签: visual-studio resx


【解决方案1】:

而不是找到一种方法来阻止 Visual Studio 设计器这样做。您不应该将非 GUI 相关资源放在这些文件中。只是因为VS维护了这些文件。

对于自定义的资源、图标、图片、文件、字符串,你可以在你的项目中添加一个资源文件,每当你修改自定义的资源文件时都会生成一个包装类。

您可以在“添加文件”对话框中选择此文件类型(CTRL + SHIFT + A),它的类别是“常规”。一个伴随文件 *.Designer.cs 将被自动生成(如果你已经以这种方式配置你的 VS,并添加到你的源代码服务器),并链接到 *.resx 文件下。

【讨论】:

  • 感谢您的建议。也许有一天我会改变我的本地化系统以将所有本地化文件收集在一个 .resx 文件中,但目前我发现将它们放在多个 .resx 文件中更方便,每个文件都与使用本地化字符串的类相关联. 这对非 Forms 类非常有效。对于 Forms 类,我的程序和 Visual Studio 设计人员确实遇到了问题,他们难以和平相处,但我目前的解决方法(请参阅我对 Hans 的评论)似乎可以接受。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-13
  • 2012-12-11
  • 1970-01-01
  • 1970-01-01
  • 2018-10-18
相关资源
最近更新 更多