0

我的程序有问题,一切都在调试模式下工作,但是当我切换到发布时,我得到了 InvalidOperationException:

_sqlcon.ConnectionString = "Data Source=" + Properties.Settings.Default.serverAdress + ";" + "Initial Catalog=" + Properties.Settings.Default.initialDB + "; User ID=" + Properties.Settings.Default.sqlID + "; Password=" + Properties.Settings.Default.sqlPass + ";" + "Connect Timeout=" + Properties.Settings.Default.timeOut + "; Asynchronous Processing = true;";

这是我的连接字符串

Data Source=.\\SQLEXPRESS;Initial Catalog=visondb; User ID=sql; Password=test;Connect Timeout=30; Asynchronous Processing = true;

我尝试使用简单的打开连接

        try
        {
           // await dbConnAsync(_sqlcon);   
            _sqlcon.Open();
        }
        catch (SqlException ex)
        {
            MessageBoxResult result = System.Windows.MessageBox.Show(ex.ToString());
        }

但是在发布时它不起作用,当我使用 exe 时,我只是得到窗口“程序停止响应”。

在哪里寻找错误?

4

1 回答 1

1

我最好的猜测(基于此处的有限信息)是您从发布 Properties.Settings.Default中提取以生成连接字符串的值之一是

  • 空白(空字符串),或
  • 不是你期望的那样。

从而创建了一个无效的连接字符串。

您应该在之前在线调试_sqlcon.Open();并确保连接字符串是您在发布模式下所期望的。

于 2013-03-08T20:16:26.847 回答