【问题标题】:Unable to correctly execute devenv from C#无法从 C# 正确执行 devenv
【发布时间】: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


【解决方案1】:

尝试像这样直接运行devenv.exe

var devEnvPath = @"C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\devenv.exe";
string autoIVUProjFile = @"C:\Users\m\Documents\Automation.AutoIVU\AutoIVU\AutoIVU\AutoIVU.csproj";

var command = $"\"{autoIVUProjFile}\" /build \"Debug | x64\"";

var cmdsi = new ProcessStartInfo
{
    WindowStyle = ProcessWindowStyle.Normal,
    FileName = devEnvPath,
    RedirectStandardInput = true,
    UseShellExecute = false,
    Arguments = command
};

Process cmd = Process.Start(cmdsi);
cmd.WaitForExit();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-27
    相关资源
    最近更新 更多