public BuildTracker( DTE2 vsInstance, IVsSolutionBuildManager2 buildManager, BuildRestartSettings settings ) { Ensure.That(() => vsInstance).IsNotNull(); Ensure.That(() => settings).IsNotNull(); Ensure.That(() => buildManager).IsNotNull(); _vsInstance = vsInstance; _settings = settings; _buildManager = buildManager; _buildManager.AdviseUpdateSolutionEvents(this, out uint pdwCookieSolutionBM); }
/// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { //Command.Initialize(this); base.Initialize(); var settingsStore = new Lazy <WritableSettingsStore>(() => new ShellSettingsManager(this). GetWritableSettingsStore(SettingsScope.UserSettings)); Settings = new BuildRestartSettings(settingsStore); _vsInstance = (DTE2)GetService(typeof(DTE)); var solutionBuildManager = (IVsSolutionBuildManager2)GetService(typeof(SVsSolutionBuildManager)); //var statusBar = (IVsStatusbar)GetService(typeof(SVsStatusbar)); //var logger = new ExtensionLogger(() => GetService(typeof(SVsActivityLog)) as IVsActivityLog, statusBar); //never cache the activity log reference _buildTracker = new BuildTracker( _vsInstance, solutionBuildManager, Settings ); }