C# 代码在调试中工作并从VisualStudio运行,但发布模式会给出错误消息

C# 代码在调试中工作并从VisualStudio运行,但发布模式会给出错误消息,c#,visual-studio-2013,C#,Visual Studio 2013,关于调试和发布有很多问题,但我的情况不同。 下面是我的代码 private void frmMDIStpDataView_Load(object sender, EventArgs e) { string[] tempCommandLine = Environment.GetCommandLineArgs(); if (tempCommandLine.Count() > 1 && !string.IsNullOrEmpty(tempCommandLine[1

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

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
是非静态类的对象。如果我从VisualStudio2013运行,在调试和发布模式下不会出现此错误。如果我双击exe,这是在发布更多的内置我得到错误。我得到了innerexception,因为“对象引用未设置为对象的实例”

调试模式通常初始化堆数据分配。程序可能依赖于此行为。查找未初始化的变量和缓冲区。如本例中的ModFormManager未初始化。创建ModFormManager的对象,然后使用它

你到底得到了什么例外?您知道GetCommandLineArgs中的第一个条目是可执行文件的文件名,其余的是在命令行中输入的附加参数。
ModFormManager
FormManager
未设置为对象的实例。您在哪里调用
ModFormManager
的构造函数?您确定
FormManager
已初始化吗?它是通过在本地工作但在发行版中不工作的东西初始化的吗?某些配置错误?如果属性ModFormManager.FormManager中存在异常,则应发布该属性的代码。您发布的代码与您的错误无关。@FabienBondi我在FormManager的构造函数中保留了messagebox,但在此之前代码流不会出现错误。这是程序员发现为AppDomain.CurrentDomain.UnhandledException事件编写事件处理程序不是可选的另一种情况。如果不这样做,那么您就不知道为什么没有附加调试程序的代码会失败。而且,当表单类的字段初始值设定项导致异常时,它从来都不简单。调用Debugger.Launch()是Q&D方法。