2016-01-01 1 views
0

Я хочу написать расширение ReSharper, которое выполняет действие после каждой сборки, , поэтому, я думаю, мне нужно сначала знать, когда сборка завершена, а также найти о том, была ли сборка успешной или нетКак я могу получить результат сборки в расширении ReSharper

Любые советы о том, как это сделать?

(я совершенно новым для создания расширений) заранее спасибо

ответ

0

Вы можете просто использовать собственные события Visual Studio для этого. Получите экземпляр объекта DTE и подпишитесь на события OnBuildBegin и OnBuildDone.

Вы можете увидеть это в действии в расширении Clippy ReSharper. Он subscribes to the events, и получает экземпляр DTE от the call to Shell.Instance.GetComponent<DTE>().

Обратите внимание, что, как вы ссылаться на DTE тип очень важно - это COM ссылки, и не следует ссылаться как Embedded PIA типа интро, или компонентная модель контейнера ReSharper будет видеть его в качестве другого типа к экземпляру DTE он знает. Вместо этого просто укажите его как non-PIA type:

<Reference Include="envdte, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 
    <SpecificVersion>False</SpecificVersion> 
    <EmbedInteropTypes>False</EmbedInteropTypes> 
    <HintPath>..\..\lib\envdte.dll</HintPath> 
</Reference> 
+0

Спасибо, я посмотрю на это, я надеялся на что-то более простое, хотя. – niklasda

Смежные вопросы