最近、私とは異なるWindows地域設定を使用しているクライアントにいくつかの問題が発生しています。私はそれを修正する方法を見つけることができないようです。エラーは次のとおりです。データベースからの地域/ロケールと(文字列からの)日付の引き出し
'InventoryDataTable'の型初期化器が例外をスローしました。 ---> System.TypeInitializationException: 'InventoryDataTable'の型初期化子が例外をスローしました。 ---> System.FormatException:文字列が有効なDateTimeとして認識されませんでした。
ユーザーがアプリケーションを読み込んで、地域設定が自分のものと一致しないときにエラーが発生します。アプリケーションはデータセットをロードし、ユーザーにログインさせる前に少量のデータを受信しようとします。これを削除すると、ユーザーがアプリケーションにログインした直後に問題が発生します。
私は私の領域のいずれかを使用するユーザーを強制的に、またはアプリケーションがそれ自身の...
正確なエラーにそれを把握できるようにするために適切な設定を見つけることができないよう:
System.InvalidOperationException: An error occurred creating the form. See Exception.InnerException for details. The error is: The type initializer for 'InventoryDataTable' threw an exception. ---> System.TypeInitializationException: The type initializer for 'InventoryDataTable' threw an exception. ---> System.FormatException: String was not recognized as a valid DateTime.
at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
at System.DateTime.Parse(String s)
at Invasion_3042_v2.INVDataSet.InventoryDataTable..cctor() in C:\Users\Tdata\Desktop\I2.original\Invasion 3042 v2\INVDataSet.Designer.vb:line 7588
--- End of inner exception stack trace ---
at Invasion_3042_v2.INVDataSet.InventoryDataTable..ctor()
at Invasion_3042_v2.INVDataSet.InitClass() in C:\Users\Tdata\Desktop\I2.original\Invasion 3042 v2\INVDataSet.Designer.vb:line 4296
at Invasion_3042_v2.INVDataSet..ctor() in C:\Users\Tdata\Desktop\I2.original\Invasion 3042 v2\INVDataSet.Designer.vb:line 447
at Invasion_3042_v2.INV3042LOGIN.InitializeComponent() in C:\Users\Tdata\Desktop\I2.original\Invasion 3042 v2\INV3042LOGIN.Designer.vb:line 39
at Invasion_3042_v2.INV3042LOGIN..ctor() in C:\Users\Tdata\Desktop\I2.original\Invasion 3042 v2\INV3042LOGIN.vb:line 100
--- End of inner exception stack trace ---
at Invasion_3042_v2.My.MyProject.MyForms.Create__Instance__[T](T Instance) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 190
at Invasion_3042_v2.My.MyProject.MyForms.get_INV3042LOGIN()
at Invasion_3042_v2.My.MyApplication.OnCreateMainForm() in C:\Users\Tdata\Desktop\I2.original\Invasion 3042 v2\My Project\Application.Designer.vb:line 35
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
私のDBのDateTimesは、2011年12月17日の2:10:00 AMの形式で格納されます。 MM/dd/yyyyとdd/MM/yyyyの間の変換に問題はありません。地域の設定で、日付がMM.dd.yyyyなどの別の形式で呼び出された場合です。私はen-USの書式設定を強制するためにDataSet.Designer.vbを編集しようとしましたが、データセットデザイナで何かを行うと、変更は元に戻されます。 – LordVe