我有一个名为 xyz.exe 的 C# winform 应用程序。它使用 xyz.config 文件运行。配置文件是一个纯文本文件,我在其中放置了运行我的应用程序所需的设置,例如它必须迭代多少次、要读取哪些文件、默认值是什么等等。它工作得很好。一切正常。今天我开始处理一些增强请求,我需要连接到 sql server 数据库并检索一些信息。非常直截了当。
如果我运行调试 (F5) 一切正常。但是,如果我通过键入 xyz.exe 从命令提示符运行它,则会引发异常“'System.Data.SqlClient.SqlConnectionFactory' 的类型初始化程序引发异常。” 它指向连接部分。如果我将 xyz.config 重命名为其他名称,异常就消失了。如果我创建一个空白 App.config(这将生成 xyz.exe.config),异常就消失了。
到底是怎么回事?谁能向我解释一下,可能的解决方案、选项、最佳解决方案是什么?有可能使应用程序不寻找 xyz.config 和 xyz.exe.config 没有抛出异常。在我介绍与 db 的连接之前没关系。
SqlConnection connection = new SqlConnection(
"user id=xx;" +
"password=xx;" +
"server=xx;" +
"database=xx; " +
"connection timeout=xx");
try
{
connection.Open();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
try
{
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand("select * from xx",
connection);
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
Console.WriteLine(myReader["xx"].ToString());
Console.WriteLine(myReader["xx"].ToString());
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
connection.Close();