0

我想编写一个 ReSharper 扩展,在每次构建后执行一个操作,所以我想我需要首先知道构建何时完成,并了解构建是否成功

关于如何做到这一点的任何提示?

(我对扩展完全陌生)提前谢谢

4

1 回答 1

0

您可以为此使用 Visual Studio 自己的事件。获取DTE对象的实例并订阅OnBuildBeginOnBuildDone事件。

您可以在 Clippy ReSharper 扩展中看到这一点。它订阅事件,并从对 的调用中DTE获取实例。Shell.Instance.GetComponent<DTE>()

请注意,引用DTE类型的方式非常重要 - 它是 COM 引用,不应作为 Embedded PIA 介绍类型引用,否则 ReSharper 的组件模型容器会将其视为与DTE它所知道的实例不同的类型。相反,只需将其引用为非 PIA 类型

<Reference Include="envdte, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
  <SpecificVersion>False</SpecificVersion>
  <EmbedInteropTypes>False</EmbedInteropTypes>
  <HintPath>..\..\lib\envdte.dll</HintPath>
</Reference>
于 2016-01-05T00:12:47.263 回答