【发布时间】:2019-06-04 08:53:22
【问题描述】:
我可以从 powershell 执行 devenv 没有任何问题,如下所示:
PS C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE> ./devenv "C:\Users\m\Documents\Automation.AutoIVU\AutoIVU\AutoIVU\AutoIVU.csproj" /build "Debug|x64"
...
========== Build: 3 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
我正在尝试从 C# 执行但遇到问题:
var devEnvPath = @"C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE";
string autoIVUProjFile = @"C:\Users\m\Documents\Automation.AutoIVU\AutoIVU\AutoIVU\AutoIVU.csproj";
var command = $"/k .\\devenv \"{autoIVUProjFile}\" /build \"Debug | x64\"";
var cmdsi = new ProcessStartInfo
{
WorkingDirectory = devEnvPath,
WindowStyle = ProcessWindowStyle.Normal,
FileName = "cmd.exe",
RedirectStandardInput = true,
UseShellExecute = false,
Arguments = command
};
Process cmd = Process.Start(cmdsi);
cmd.WaitForExit();
执行时 - 控制台窗口会打印以下内容:
Microsoft Visual Studio 2019 Version 16.0.28917.182.
Copyright (C) Microsoft Corp. All rights reserved.
The operation could not be completed
Use:
devenv [solutionfile | projectfile | folder | anyfile.ext] [switches]
enter code here
谁能看到我错过了什么?
【问题讨论】:
-
直接调用MSBuild怎么样? Visual Studio 主要是 IDE
-
是
Debug | x64还是Debug|x64? (注意非工作版本中|周围的额外空格。)
标签: c# process msbuild processstartinfo