Как я могу получить результат сборки в расширении 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>
Другие вопросы по тегам