NullReferenceException 在 .exe 运行 期间出现,但在调试期间不出现
NullReferenceException during .exe run, but not during debug
在构建我的 Window LoginSystem 期间,仅当 运行 应用程序通过 .exe 时才会抛出 NullReferenceException。
调试时,一切正常。
调用登录系统的代码window:
LoginSystem ls = new LoginSystem();
ls.Show();
我在我的登录系统中发现问题的地方 class:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
Login.con = new SqlConnection(ConfigurationManager.ConnectionStrings["thuisDB"].ConnectionString);
...
}
万一你想知道:
public class Login
{
public static SqlConnection con = null;
...
}
Link 堆栈跟踪:
HERE
PS:这一行(Login.con = new SqlConnection(....)
是第一次调用 Login.con
,因为使用该静态变量的唯一代码在 class 中,而 LoginSystem 是应该做的。
编辑:这个问题不是关于我问 NullRef 是什么或如何修复它,它只是一个事件,我不知道为什么会抛出它并且不知道如何调试它.
如果您 运行 .exe
在找不到配置文件的文件夹中,ConnectionStrings["thuisDB"]
将为空。
查找类似 MyProgram.exe.config
的文件,并确保它与您的可执行文件位于同一文件夹中。
在构建我的 Window LoginSystem 期间,仅当 运行 应用程序通过 .exe 时才会抛出 NullReferenceException。
调试时,一切正常。
调用登录系统的代码window:
LoginSystem ls = new LoginSystem();
ls.Show();
我在我的登录系统中发现问题的地方 class:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
Login.con = new SqlConnection(ConfigurationManager.ConnectionStrings["thuisDB"].ConnectionString);
...
}
万一你想知道:
public class Login
{
public static SqlConnection con = null;
...
}
Link 堆栈跟踪: HERE
PS:这一行(Login.con = new SqlConnection(....)
是第一次调用 Login.con
,因为使用该静态变量的唯一代码在 class 中,而 LoginSystem 是应该做的。
编辑:这个问题不是关于我问 NullRef 是什么或如何修复它,它只是一个事件,我不知道为什么会抛出它并且不知道如何调试它.
.exe
在找不到配置文件的文件夹中,ConnectionStrings["thuisDB"]
将为空。
查找类似 MyProgram.exe.config
的文件,并确保它与您的可执行文件位于同一文件夹中。