VS Designer заменяет «пустые» строки идентификатором ресурса, указывающим на пустые строки - PullRequest
8 голосов
/ 23 сентября 2010

Странная проблема, началась с перехода на 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;

Так кто-нибудь сталкивался с чем-то похожим или у него есть Google-фу?

Ответы [ 4 ]

6 голосов
/ 07 ноября 2011

Это давняя ошибка в Visual Studio. Microsoft знает об этой проблеме, но до сих пор не решена. Вы можете проголосовать за вопрос здесь:

https://connect.microsoft.com/VisualStudio/feedback/details/683661/windows-forms-designer-cs-files-corrupt-after-changing-language#tabs

2 голосов
/ 10 мая 2012

По нашему опыту, это обычно ошибка, вызванная наличием текстовой строкив XML-файле resx.Когда вы редактируете и сохраняете конструктор форм, все пустые строки "" в файле конструктора сопоставляются с ключом, связанным с этим самоограниченным узлом.

Theses spuriousзаписи иногда появляются, если вы начинаете строить проект, когда редактор ресурсов все еще имеет мигающий курсор в строке «новая строка», и с ключом нет текста.

Поиск проекта дляи удалите их из файлов resx.Затем очистите и пересоберите проект (который потерпит неудачу), затем исправьте ошибки компиляции, заменив их на ""

Надеюсь, это поможет.

2 голосов
/ 16 февраля 2011

У меня такая же проблема, но с VS2008. Тем не менее, версия VS2010 Web Developer Express также установлена ​​в моей системе (через пару месяцев). Сначала я разрабатывал проект, который использует несколько языковых ресурсов, а затем я открыл другое решение VS, чтобы что-то изменить в форме. Конструктор форм Windows заменил все пустые строки в файле Designer.vb на строковый идентификатор ресурса из первого проекта!
Я мог бы решить проблему, закрыв Visual Studio и снова открыв решение.

0 голосов
/ 23 сентября 2010

Я думаю это будет работать для вас. Проверьте принятое решение.

Или, может быть это .

...