У меня есть форма с TableLayoutPanels, эти панели макета таблицы создают следующие записи в файле Resources.resx:
tableLayoutPanel1.LayoutSettings <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="txtOutput" Row="0" RowSpan="1" Column="2" ColumnSpan="4" /><Control Name="lblOutput" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="btnRetry" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="btnContinue" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="btnFail_Test" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="btnPass_Test" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="btnTimeOut" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="btnViewLog" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="btnAbort" Row="1" RowSpan="1" Column="5" ColumnSpan="1" /></Controls><Columns Styles="Percent,16.66667,Percent,16.66667,Percent,16.66667,Percent,16.66667,Percent,16.66667,Percent,16.66667,Absolute,20" /><Rows Styles="Percent,58.77193,Percent,41.22807,Absolute,20" /></TableLayoutSettings>
Когда я пытаюсь собрать проект, я получаю следующую ошибку:
Не удалось преобразовать файл C:\MyProject\ProjectName\FormName.resx в формат XLIFF. Сообщение: Во время кодирования обнаружена неподдерживаемая инструкция обработки '?xml'. Пожалуйста, удалите неподдерживаемые инструкции по обработке из xml.
Я попытался переключить локализацию формы на «выключено», что позволяет мне строить, но тогда я теряю поддержку иностранного языка.
ПРИМЕЧАНИЯ:
Удаление tableLayoutPanel1.LayoutSettings из файла resx позволяет мне скомпилировать, но тогда мой пользовательский интерфейс полностью уничтожается.
Я использую Multilingual App Toolkit v4.0.1605.0
Сообщество Visual Studio 2015, обновление 2
Виндовс 7 64бит
.NET4.5
Есть ли способ исправить эту проблему и одновременно использовать tableLayoutPanels и локализацию?
tableLayoutPanel1.LayoutSettings
не зависит от региона, и поэтому она не должна находиться в файле resx. Если вы посмотрите это видео от Microsoft Build, в конце будет сказано (28 :06), что локализуемые строки должны быть помещены в файлы ресурсов, а нелокализуемые строки должны быть жестко запрограммированы. Если ваш макет столбца не зависит от локали, вам следует попробовать его жестко закодировать. - person Jenszcz   schedule 01.07.2016