Проблема локализации .Net - PullRequest
1 голос
/ 03 октября 2008

В настоящее время я создаю надстройку Excel 2007 с использованием VSTO (последняя версия + sp1) и .Net 3.5

Код просто берет положение диаграммы, используя свойства Top и Left, и сохраняет его в файле XML.

Проблема, с которой я сталкиваюсь, заключается в том, что при создании xml с использованием среды Vista Ultimate + Excel 2007 + English код работает отлично. Когда я перемещаю это в среду Windows Server 2003 + Excel 2007 + French, происходит сбой при попытке установить свойства Top и Left. Более того, он всегда возвращает 4 для обоих значений на сервере.

Я пытался поиграть с настройками региона и языка, но пока ничего не изменилось.

Я также пытался сохранить значения в виде целых чисел вместо значений с плавающей точкой, возвращаемых объектами VSTO.

Если кто-то имеет какое-то представление о том, что может быть не так, пожалуйста, укажите мне правильное направление.

Я отредактирую, как только прослежу еще немного ...

Ответы [ 2 ]

1 голос
/ 03 октября 2008

Я не уверен, поможет ли это или нет, но вы можете проверить класс System.Xml.XmlConvert. Этот класс позволит вам сериализовать типы данных в строковое значение, которое не зависит от локали. Когда вы извлекаете XML на другом компьютере, вы можете преобразовать значение обратно в соответствующий тип данных, используя тот же класс, и он примет Культуру текущей среды.

0 голосов
/ 03 октября 2008

Вам необходимо опубликовать больше информации о том, что именно вы делаете и какую ошибку вы видите. Возможно, вам нужно форматировать / анализировать числовые значения, используя CultureInfo.InvariantCulture, а не стандартную CultureInfo.CurrentCulture.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...