[英]Sending arguments to Developer Command Prompt for Visual Studio
我無法將一些參數傳遞給我的Dev cmd提示符以輸入vs,我可以使用經典cmd來完成此操作,但不能使用此命令來完成。 我需要它,因為我想從可執行文件執行CodedUITests。
這是我的代碼如下所示:
String Path = @"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Visual Studio 2012\Visual Studio Tools\Developer Command Prompt for VS2012.lnk";
ProcessStartInfo proc = new ProcessStartInfo();
proc.FileName = Path;
proc.UseShellExecute = true;
proc.Arguments = @"/c MSTest/h";
Process.Start(proc);
它開始了,但是沒有插入參數,我在做什么錯?
編輯1-這些都不起作用
Process.Start(Path, @"/c "+"MSTest/h"); - err : invalid path - in dev cmd prompt
要么
Process.Start(Path, @"/c ""MSTest/h"); - err: invalid path - in dev cmd prompt
要么
Process.Start(Path, @"/c MSTest/h"); - nothing
要么
Process.Start(Path, "/c MSTest/h"); -nothing
要么
Process.Start(Path, "MSTest/h"); -nothing
編輯2-這就是我的最終代碼的樣子,部分工作,dev cmd開始,但是沒有辦法將args解析為它,因為我傳遞的任何args都會直接進入cmd而不是dev-cmd
// ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", @"%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\VsDevCmd.bat""");
ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", @"%comspec% /k ""C:\Users\butoiu.edward\Desktop\VsDevCmd1.bat");
procStartInfo.UseShellExecute = false;
// procStartInfo.Arguments = "/k MSTest";
Process proc = new Process();
proc.StartInfo = procStartInfo;
proc.Start();
proc.WaitForExit();
您嘗試過這種方式嗎?
void OpenWithArguments()
{
Process.Start("IExplore.exe", "www.northwindtraders.com");
Process.Start("path to exe", "argument");
}
FMI
MSDN鏈接
我認為它將以這種方式工作...但不確定
打開sys默認的cmd提示符..並將第一個參數作為批處理文件路徑( C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\Tools\\VsDevCmd.bat
)並給出一個空格並添加下一個屬性。
Process.Start("Path to EXE", "arg1 arg2")
lnk”文件,它實際上是Visual Studio cmd提示符的鏈接。您可以嘗試使用位於“ C:\\ Program Files(x86)\\ Microsoft Visual Studio 10.0 \\ VC \\ vcvarsall.bat”中的原始文件代替該位置。
String Path = @"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat";
ProcessStartInfo proc = new ProcessStartInfo();
proc.FileName = Path;
proc.UseShellExecute = true;
proc.Arguments = @"/c MSTest/h";
Process.Start(proc);
我希望這能幫到您。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.