代码适用于从visual studio调试和运行,但是发布模式会产生错误

时间:2015-10-19 09:31:57

标签: c# visual-studio-2013

关于调试和发布有很多问题,但我的情况有所不同。 以下是我的代码

private void frmMDIStpDataView_Load(object sender, EventArgs e)
{
    string[] tempCommandLine = Environment.GetCommandLineArgs();
    if (tempCommandLine.Count() > 1 && !string.IsNullOrEmpty(tempCommandLine[1]))
        ModFormManager.strTmpPath = tempCommandLine[1];
    m_FormManager = ModFormManager.FormManager;//Line where i am getting object reference error
        //some other code
};

ModFormManager是一个静态类,它的所有成员都是静态的。FormManager是非静态类的对象。如果我从Visual Studio 2013运行,这个错误将不会出现在调试更多和发布模式。如果我双击exe版本在发布版本更多我得到错误。由于"对象引用没有设置为对象的实例"

,我感觉不舒服

1 个答案:

答案 0 :(得分:0)

调试模式通常会初始化堆数据分配。该程序可能依赖于此行为。查找未初始化的变量和缓冲区。就像这种情况一样,ModFormManager没有初始化。创建ModFormManager的对象,然后使用它。