【问题标题】:TypeInitializationException WinForms at startup启动时的 TypeInitializationException WinForms
【发布时间】:2016-01-26 21:42:53
【问题描述】:

在我启动我的应用程序时,我遇到了标题中提到的异常。它工作得很好,我添加了 system.media 库播放了一些声音,我尝试播放第一次崩溃时的感叹声。我用 Ctrl + z 删除了所有新添加的库和代码,但现在它甚至无法运行,这就是我得到的:

http://prntscr.com/9v8qjo 这是我播放的声音System.Media.SystemSounds.Exclamation.Play();

    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();
    }

【问题讨论】:

  • 请在帖子中以文本形式提供minimal reproducible example inline。
  • 我试过了,但我真的不知道是什么导致了这个问题。我应该发布什么,构造函数?我尝试在构造函数中放置断点,但它不会在我的变量被声明的地方触发,所以我的代码没有问题,正如我所说的那样,在我添加库之前它工作得很好。程序完全在屏幕截图中标记的行中断

标签: c# winforms exception


【解决方案1】:

转到异常设置并为TypeInitializationException添加复选标记。

再次运行调试器 - 通过这样做,它应该在异常发生时停止。在那里你可能会发现你的问题。

我认为您正在访问 MainPoker 类中的任何文件,因为消息显示 The path is not of a legal form。只是猜测......

【讨论】:

  • 它什么也没做仍然在同一行崩溃
  • 那么,您能否发布在MainPoker 类实例化后立即执行的代码?这是构造函数代码、成员变量初始化和 - 假设这是一个表单 - Form_Load 事件(可能被覆盖为 OnLoad()
  • 用 form_load 方法和构造函数更新了我的问题
  • 嗯,Shuffle()UpdateStatistics()Updates.Start()PickNextBlind()中可能存在可疑代码。也许在InitializeComponent() 中,但我不这么认为,因为这应该只是设计器生成的代码。
  • 它甚至没有到达构造函数,至少我的断点没有被提出
【解决方案2】:

我修好了。问题出在我的资源中。我有一个字符串,它在我的程序中为静态字符串赋值,某些东西破坏了资源中的字符串,导致我的静态字符串的位置无效。我刚刚创建了一个新表单,将其作为启动项目运行,并从那里修复了我的资源中的字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-08
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    相关资源
    最近更新 更多