1.Convert.ToDateTime беспокоит меня, хотя и не выдает это исключение.
Прежде всего, вам не следует вызывать Convert.ToDateTime для объекта даты и времени.он не выдает исключение, но также не выполняет никакого преобразования.
См. Документация MSDN здесь.
2.Исключение содержит четкие сведения о том, что не удалось преобразовать строку в число
Трассировка стека показывает, что преобразование "System.Number.StringToNumber" не удалось.
Таким образом, это одно изостальные 3 свойства являются строковыми, и вы пытаетесь преобразовать их в Int64 или long.
Вы будете знать, какое свойство по номеру строки, если вы используете решение в режиме отладки.
3.Если ваши значения представляют собой целочисленные строки (например, «10»), даже если он не работает, тогда проблема в настройках культуры машины.
Пожалуйста, обратитесь к полной теме здесь
Это говорит о том, что иногда ваше преобразование завершается с «10» до целочисленного значения 10, потому что некоторые параметры реестра установлены неправильно.Вы можете исправить их следующим образом:
Хотя можно напрямую изменить значение для проблемного ключа, предпочтительным способом является изменение региональных настроек на другой регион / язык и затем сброс их натребуемая настройка:
- Откройте приложение «Язык и региональные стандарты» с панели управления.
- Запишите текущий формат.
- Измените текущий формат на английский (австралийский)
- Нажмите Применить.
- Измените текущий формат на отмеченный формат, например, английский (американский).
- Нажмите Применить, а затем нажмите OK.
Это должно решить вашу проблему.