最近、クラッシュ マネージャーから、私が取り組んでいるゲームのクラッシュに関するメールが届きました。
System.ArgumentException: Exception from HRESULT: 0x80070057 (E_INVALIDARG)
at System.Globalization.CultureInfo.nativeSetThreadLocale(String localeName)
at System.Threading.Thread.set_CurrentCulture(CultureInfo value)
at Siphon_Spirit.Game1.Initialize()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Siphon_Spirit.Program.Main(String[] args)
自動メールだったので、ユーザーがどこにいたのかわかりませんが、そのマシンには InvariantCulture が設定されていないか何かのようです。
初期化メソッドでは、次のコードを使用します。CurrentCulture と CurrentUICulture を設定する 2 行だけが問題を引き起こしていると思います。
protected override void Initialize()
{
this.IsMouseVisible = false;
SetFullScreen(true);
SaveController.LoadOptions();
screenManager = new Screens.ScreenManager();
screenManager.Initialize();
graphics.ApplyChanges();
Window.Title = "Siphon Spirit";
SaveController.Initialize();
rendertarget = new RenderTarget2D(GraphicsDevice, GlobalData.ScreenWidth, GlobalData.ScreenHeight);
debugger = new Debugger();
Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.InvariantCulture;
base.Initialize();
}
クラッシュの原因についてのアイデアはありますか? より多くの人が問題なく実行しているため、これは孤立したケースのようです.