2017-04-08 113 views
1

我嘗試使用命令行來避免一些問題,使用Windows 7和的LocalDB 2016 下面是代碼:C#cmd命令不工作在Windows 7

Process cmd = new Process(); 

ProcessStartInfo infocmd = new ProcessStartInfo(); 
// infocmd.CreateNoWindow = true; (using when code is ok for win 7) 
infocmd.Verb = "runas"; 
infocmd.FileName = "cmd"; 
infocmd.RedirectStandardInput = true; 
infocmd.UseShellExecute = false; 

cmd.StartInfo = infocmd; 
cmd.Start(); 

using (StreamWriter sw = cmd.StandardInput) 
{ 
    sw.WriteLine("sqllocaldb stop localedb"); 
    sw.WriteLine("sqllocaldb delete localedb"); 
    sw.WriteLine("sqllocaldb create localedb"); 
    sw.WriteLine("sqllocaldb start localedb"); 
} 

cmd.WaitForExit(); 

所有工作正常的Windows 10(OS我用它來開發),但是當我移動程序到Windows 7,cmd.exe開始,但後來關閉了幾毫秒(沒有錯誤,也不例外),而不是創建localedb實例。

如果在Windows 7上手動輸入sw.WriteLine的代碼,它工作正常,所以用的LocalDB沒有問題,2016年

還有就是要解決這個問題的任何方式?

有代碼的任何部分進行編輯與Windows 7的工作(和Windows 10也是如此)?

+0

你有沒有試着寫任何痕跡的日誌? – kennyzx

+0

這個不清楚。你想用localdb做什麼?你的意思是由Micorsoft提供的本地數據庫系統?:) –

+0

@kennyzx不,我不會,對不起,但我可以用這個跟蹤日誌嗎? – Andrea

回答

0

cmd.ReadKey();

在你的代碼的末尾。它將在關閉cmd控制檯之前等待一個密鑰。

編輯

替換CMD與控制檯在Windows 7及以上(按Ctrl + H在Visual Studio中查找和替換所有)

作品。