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();