C# 启动时WinForms的TypeInitializationException异常
在我启动应用程序的那一刻,我得到了标题中提到的异常。它工作得很好,我添加了系统。媒体库播放了一些声音,我试着播放它第一次崩溃时的感叹号声音。我用Ctrl+z删除了所有新添加的库和代码,但现在它甚至无法运行,这就是我得到的: 这是我播放的声音System.Media.SystemSounds.惊叹号.PlayC# 启动时WinForms的TypeInitializationException异常,c#,winforms,exception,C#,Winforms,Exception,在我启动应用程序的那一刻,我得到了标题中提到的异常。它工作得很好,我添加了系统。媒体库播放了一些声音,我试着播放它第一次崩溃时的感叹号声音。我用Ctrl+z删除了所有新添加的库和代码,但现在它甚至无法运行,这就是我得到的: 这是我播放的声音System.Media.SystemSounds.惊叹号.Play 转到异常设置并为TypeInitializationException添加复选标记 再次运行调试器-通过这样做,调试器应该在异常发生时停止。在那里你可能会发现你的问题 我认为您正在访问Ma
转到异常设置并为TypeInitializationException添加复选标记 再次运行调试器-通过这样做,调试器应该在异常发生时停止。在那里你可能会发现你的问题
我认为您正在访问MainPoker类中的任何文件,因为消息说路径不是合法形式。只是猜测…我把它修好了。问题出在我的资源上。我有一个字符串,它给程序中的一个静态字符串赋值。有东西破坏了资源中的字符串,导致静态字符串的位置无效。我刚刚创建了一个新表单,将其作为启动项目运行,并从那里修复了我资源中的字符串。请在帖子中以文本形式提供内联。我尝试过,但我确实不知道问题的原因。我应该发布什么,构造器?我试着把断点放在构造函数中,但它不会在声明变量的地方触发,所以我的代码没有问题,正如我所说的,在添加库之前,它工作得很好。程序恰好在屏幕快照中标记的行处中断。它仍然在同一行处崩溃。那么,您能否发布代码,该代码将在MainPoker类实例化后立即执行?这是构造函数代码、成员变量初始化以及-假设这是一个表单-表单加载事件可能会被覆盖为OnLoadUpdated my question,使用表单加载方法和构造函数HM,Shuffle、UpdateStatistics、Updates.Start或PickNextBlind中可能存在可疑代码。可能在InitializeComponent中,但我不这么认为,因为这应该只是设计器生成的代码。它甚至没有到达构造函数,至少我的断点没有被触发
private async void Form1_Load(object sender, EventArgs e)
{
await Shuffle();
UpdateStatistics(folds, playedHands, lostHands, wonHands);
}
public MainPoker()
{
turns.Add(PFturn);
turns.Add(B1Fturn);
turns.Add(B2Fturn);
turns.Add(B3Fturn);
turns.Add(B4Fturn);
turns.Add(B5Fturn);
KeyPress +=
Form1_KeyPress;
_settings.Height = 140;
_settings.Width = 90;
call = bb;
MaximizeBox = false;
MinimizeBox = false;
Updates.Start();
InitializeComponent();
PickNextBlind();
Timer.Interval = (1000);
Timer.Tick += timer_Tick;
Updates.Interval = (100);
Updates.Tick += Update_Tick;
tbRaise.Text = (bb * 2).ToString();
}