0

次のコード行があります。

dt.Rows[0]["duedate"] = DateTime.ParseExact(textBox_duedate.Text, "dd-MM-yyyy", CultureInfo.InvariantCulture); 

ここで、「期日」は DataTable dt の DateTime 列です。.Net Framework 3.5 を搭載した Windows 7 でこれを実行すると正常に動作しますが、.Net Framework 3.5 を搭載した Windows XP SP3 (.Net Framework 2.0 もインストールされています) でこれを実行すると、アプリで例外がスローされます。有効な日時として認識されます....」

例外の詳細にある「読み込まれたアセンブリ情報」を見ると、.net Framework アセンブリ バージョン 2.0 が読み込まれているようです。これも問題でしょうか?さらに、アプリケーションで .net アセンブリ バージョン 3.5 を使用するにはどうすればよいですか? Visual Studio 2010 でアプリケーションをコンパイルしています。

どんな助けでも大歓迎です。

4

2 に答える 2

0

入力文字列にスペースが含まれている可能性がありますか? Trim解析する前にそれを行うことができます。

于 2012-11-24T15:56:36.600 に答える
0

OSの現在の文化の問題であるため、これはフレームワークの問題ではないと思います。両方の PC の OS のカルチャ設定が異なるため、この問題が発生しています。

代わりにこれを試してください

dt.Rows[0]["duedate"] = DateTime.ParseExact(textBox_duedate.Text, 
                            new CultureInfo("en-US")).ToString("dd-MM-yyyy");

これが役立つことを願っています!!

于 2012-11-24T15:42:35.327 に答える