2
我有一個使用Process.Start執行exe的應用程序。它適用於我測試過的所有.exe,除非.exe有一個配置文件,它在獲取連接字符串時發生這種情況,我得到一個System.NullReferenceException。這是我的代碼。Process.start上的System.NullReferenceException
執行EXE:
string eucApp = @"C:\Temp\app.exe"
startInfo = new ProcessStartInfo(eucApp);
using (Process execProcess = Process.Start(startInfo))
{
execProcess.WaitForExit();
}
那麼EXE開始,且不會與此代碼行
strCadena = ConfigurationManager.ConnectionStrings("ConnectionString")
得到一個連接字符串的第一件事,如果我用的ConnectionString替換此像這樣,它工作正常
strCadena = "Data Source=HostName;Initial Catalog=MyDB;Integrated security=True"
我會刪除配置文件,並把它的v alues到.exe代碼中,但麻煩的是,我有超過500個使用配置文件的.exe文件,所以如果有人知道避免這種情況的方法,請告訴我!
您必須將工作文件夾設置到.exe所在的同一文件夾 - 您的情況爲「c:\ temp \」 – t3hn00b
嗨,感謝您的答案@ t3hn00b,但我仍然收到相同的錯誤 – user1843574
假設您的連接字符串處於一個app.config文件是該文件也位於喲在工作文件夾中的可執行文件?你能夠從中讀取任何值而沒有異常,或只是在讀取連接字符串時? –