2011-03-02 67 views
1

我想手动添加一些额外的字符串到与WinForms类关联的resx文件。这工作正常,我可以使用ResourceManager访问这些字符串。避免Visual Studio从resx文件中删除字符串

但是,只要我使用Visual Studio设计器修改窗体,它会重写resx文件并删除我的字符串。

有什么办法可以防止Visual Studio设计者这样做吗?

(请不要问我为什么要一些字符串手动添加到RESX文件。我只是做。)

+1

是的,你会失去你的改变。你只是这样做。 – 2011-03-02 18:57:30

+0

为了跟上这一点,我只想感谢您对汉斯的评论。不要问我为什么,我只是这样做。 我最终做的是编写一个程序,作为预构建步骤运行,检测Visual Studio设计器何时重写了resx文件,然后再次添加其他字符串。以此,Visual Studio设计师! – RenniePet 2011-03-17 12:01:23

回答

3

而不是找到一个方法来防止Visual Studio设计从这样做。你不应该把你的非GUI相关的资源放在这些文件中。只是因为VS维护这些文件。

对于自定义资源,图标,图像,文件,字符串,您可以将资源文件添加到项目中,并且每当修改自定义资源文件时都会生成一个包装类。

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

+0

感谢您的建议。也许我会更改自己的本地化系统,以便在某一天收集所有本地化的.resx文件,但目前我发现将它们放在多个.resx文件中会更方便,每个.resx文件都与本地化字符串用于的类相关联这非常适用于非表单类。对于Forms类,我确实遇到了我的程序和Visual Studio设计人员难以彼此和睦相处的问题,但是我目前的解决方法(请参阅我对Hans的评论)似乎可以接受。 – RenniePet 2011-07-08 10:40:31