我想打開使用C#代碼的Visual Studio命令提示符。從C#代碼打開Visual Studio命令提示符
這裏是我的代碼
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);
}
}
}
但ARGS字符串是沒有得到正確的格式。 我得到如下格式的字符串
"/K \"C:\\Program Files\\Microsoft Visual Studio 10.0\\Common7\\Tools\\vsvars32.bat\" \"E:\\Test\\vstest.bat\""
額外的「\」是越來越增加。
請指出我缺少的東西。 謝謝
什麼是你想達到什麼樣的結果呢? – MaYaN
@MaYaN,我必須在解決方案文件上運行msbuild,可以使用vs 10,12或14創建解決方案文件。 – atulya