xml ファイルから日時を読み取るアプリに以下のコードがあります。
private void getConfig()
{
XDocument xdocument = XDocument.Load(@"C:\Salesforce\SFDIAuto\config.xml");
IEnumerable<XElement> tasks = xdocument.Elements();
foreach (var task in tasks)
{
IEnumerable<XElement> query = task.Elements("Triggers").Elements("CalendarTrigger");
foreach (XElement result in query)
{
CalendarTrigger[0] = (result.Element("Next").Value != "") ? Convert.ToDateTime(result.Element("Next").Value).ToString("MM/dd/yyyy HH:mm:ss") :
DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
dScanDate.Value = Convert.ToDateTime(CalendarTrigger[0]);
dScanTime.Value = Convert.ToDateTime(CalendarTrigger[0]);
CalendarTrigger[1] = (result.Element("Last").Value != "") ? Convert.ToDateTime(result.Element("Last").Value).ToString("dd/MM/yyyy HH:mm:ss") : "";
CalendarTrigger[2] = result.Element("Result").Value;
CalendarTrigger[3] = "Ready";
if (Convert.ToDateTime(result.Element("Next").Value) < DateTime.Now)
CalendarTrigger[3] = "Missed/Overdue";
CalendarTrigger[4] = result.Element("ScheduleByDay").Element("DaysInterval").Value;
xml 構成ファイルの形式は次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<config>
<Triggers>
<CalendarTrigger>
<Start>2012-07-02T18:00:00</Start>
<Next>2013-11-13T21:00:00</Next>
<Last>2013-11-12T21:00:00</Last>
<Result>Success</Result>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
私の開発用 PC ではエラーは発生しませんが、ライブ サーバーではこの手順で常にエラーがスローされます。
文字列は有効な DateTime として認識されませんでした。
見ている値は次のとおりです。
CalendarTrigger[0] = "11/13/2013 21:00:00"
私の開発用 PC で問題なく動作するのを見て、環境の違いを見つけるにはどうすればよいですか? また、この部分をどこでも動作するように再コーディングするにはどうすればよいでしょうか?