【问题标题】:How to fail the build from a Visual Studio Extension如何使 Visual Studio 扩展的构建失败
【发布时间】:2018-06-20 22:18:02
【问题描述】:

我正在构建一个包管理器,我需要在每次构建之前恢复包。

我已经连接了 DTE.OnBuildBegin 来实现这一点,效果很好,但是如果出现错误,我需要让构建失败。

我发现我可以使用 ErrorListProvider 添加到错误列表中,效果很好,但是构建仍然继续并成功。更糟糕的是,如果您单击运行而不是构建,则恢复失败但代码仍然运行。而且由于 Visual Studio 在运行时使用不同的视图,因此您在运行时看不到错误列表。

如何使构建失败?

【问题讨论】:

  • 也许您可以考虑使用 StopOnFirstBuildError 扩展工具:marketplace.visualstudio.com/…
  • StopOnFirstBuildError 没有做我想做的事,它不会根据错误列表检测错误,它会根据实际的项目构建进行检测,但是 StopOnFirstBuildError 确实会取消构建,所以我看了一下那里有源代码,这给了我如何做到这一点的线索。 (见我的回答)

标签: c# .net visual-studio visual-studio-extensions


【解决方案1】:

以下代码将取消构建。

DTE dte = (DTE)GetService(typeof(DTE));
dte.ExecuteCommand("Build.Cancel");

【讨论】:

    猜你喜欢
    • 2015-05-15
    • 2012-08-12
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多