我想编写一个 ReSharper 扩展,在每次构建后执行一个操作,所以我想我需要首先知道构建何时完成,并了解构建是否成功
关于如何做到这一点的任何提示?
(我对扩展完全陌生)提前谢谢
我想编写一个 ReSharper 扩展,在每次构建后执行一个操作,所以我想我需要首先知道构建何时完成,并了解构建是否成功
关于如何做到这一点的任何提示?
(我对扩展完全陌生)提前谢谢
您可以为此使用 Visual Studio 自己的事件。获取DTE
对象的实例并订阅OnBuildBegin
和OnBuildDone
事件。
您可以在 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>