I am trying to open Visual studio Command prompt using C# code.
Here is my code
private void Execute(string vsEnvVar) { var vsInstallPath = Environment.GetEnvironmentVariable(vsEnvVar); // vsEnvVar can be VS100COMNTOOLS, VS120COMNTOOLS, VS140COMNTOOLS if (Directory.Exists(vsInstallPath)) { var filePath = vsInstallPath + "vsvars32.bat"; if (File.Exists(filePath)) { //start vs command process Process proc = new Process(); var command = Environment.GetEnvironmentVariable("ComSpec"); command = @"" + command + @""; var batfile = @"E:\Test\vstest.bat"; var args = string.Format("/K \"{0}\" \"{1}\"" ,filePath, batfile); proc.StartInfo.FileName = command; proc.StartInfo.Arguments = args; proc.StartInfo.CreateNoWindow = false; proc.StartInfo.UseShellExecute = false; proc.Start(); } else { Console.WriteLine("File Does not exists " + filePath); } } } But the args string is not getting properly formatted. I am getting below formatted string
"/K \"C:\\Program Files\\Microsoft Visual Studio 10.0\\Common7\\Tools\\vsvars32.bat\" \"E:\\Test\\vstest.bat\"" extra "\" is getting added.
Please point out what I am missing. Thanks