Как я могу получить результат сборки в расширении ReSharper
Я хочу написать расширение ReSharper, которое выполняет действие после каждой сборки, поэтому я предполагаю, что мне нужно сначала узнать, когда сборка завершена, а также узнать, была ли сборка успешной или нет
Любые советы о том, как это сделать?
(Я совершенно новичок в создании расширений) заранее спасибо
1 ответ
Вы можете просто использовать собственные события 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>