我正在构建一个软件包管理器,我需要在每次构建之前还原软件包。
我已经钩住DTE.OnBuildBegin来实现这一点,效果很好,但是,如果出现错误,则需要使构建失败。
我发现可以使用ErrorListProvider将其添加到错误列表中,该列表很好用,但是构建仍然继续并成功。更糟糕的是,如果您单击运行而不是构建,还原将失败,但代码仍将运行。而且由于Visual Studio在运行时使用其他视图,因此在运行时看不到错误列表。
如何使构建失败?
答案 0 :(得分:1)
以下代码将取消构建。
DTE dte = (DTE)GetService(typeof(DTE));
dte.ExecuteCommand("Build.Cancel");