出现了奇怪的问题,开始于迁移到Visual Studio 2010。
一些窗体在打开时,会将某些对象的属性设置为在资源文件中为空的字符串。最常见的是控件属性,例如ImageKey
,ToolTipText
和UltraGrid中的某些列会将columnX.Header.Caption
设置为该字符串。这显然会删除已设置的图像,并在其他语言环境中提供错误的列标题文本。此外,工具提示将出现在奇怪的位置(如选项卡面板正文)。
这个字符串(下面的strSaveInterestDetails8)在Strings.resx中为空(<value />
),但在Strings.fi.resx中不为空。当我将此字符串更改为一个空格时,设计器开始使用Strings.resx中的另一个“空”字符串。
这些窗体都派生自共同的基类,但它没有任何特殊/可疑的内容。从另一个devenv实例调试这些窗体失败了,因为调试器从未在设置的断点上中断(内部VS代码中抛出的异常被捕获了)。
示例:
ultraGridColumn23.Header.Caption = global::Company.Module.Properties.Strings.strSaveInterestDetails8;
...
this._timespanCheck.ImageKey = global::Company.Module.Properties.Strings.strSaveInterestDetails8;
...
this.tabPage1.ImageKey = global::Company.Module.Properties.Strings.strSaveInterestDetails8;
this.tabPage1.ToolTipText = global::Company.Module.Properties.Strings.strSaveInterestDetails8;
有人遇到过类似的问题或者有更好的搜索技巧吗?