为什么visual studio将resx资源文件中的CommandText与设计器代码放在文件后面?

问题描述:

有时,我的查询被存储在OdbcCommand.CommandText后面,保存到后面的designer.cx代码中,有时保存在.resx资源文件中。是什么导致它到后面的代码与资源文件?为什么visual studio将resx资源文件中的CommandText与设计器代码放在文件后面?

有没有办法强制Visual Studio将我的查询保存在资源文件中(反之亦然),所以我不必在两个地方查看。

+0

在同一个项目中?在同一个文件中? – J0e3gan 2015-02-11 23:54:15

+0

是的。资源文件与同一项目中的设计器文件相关联。 – 2015-02-12 00:17:56

最后,一些谷歌上搜索后,我找到了答案贴here

我进一步有点检查它。当长度超过200个字符时,似乎该资源中保存的命令文本是 。这不是 仅适用于commandtext属性,但适用于所有字符串属性,例如 Label.Text。即使 窗体,用户控件或组件的本地化属性为false,它也会保存到资源中。当您减少字符串 的长度时,该属性将从资源文件中删除并放入 Designer.cs文件中。 因此,如果一个冗长的字符串在资源中保存为 ,似乎你无法控制这个事实。在命令文本非常危险的情况下,因为资源的翻译者可能会将命令文本 更改为错误的语句。

显然没有办法改变这种行为。我确实确认了不包含空格的200个字符的限制。