internal AbstractGenerateNuGetPackageCommand CreateInstance( GeneratePackageOnBuildPropertyProvider generatePackageOnBuildPropertyProvider = null, IVsSolutionBuildManager2 buildManager = null, IVsUpdateSolutionEvents solutionEventsListener = null, bool isBuilding = false, bool cancelBuild = false) { var hierarchy = IVsHierarchyFactory.Create(); var project = UnconfiguredProjectFactory.Create(hierarchy); var threadingService = IProjectThreadingServiceFactory.Create(); buildManager ??= IVsSolutionBuildManager2Factory.Create(solutionEventsListener, hierarchy, isBuilding, cancelBuild); var serviceProvider = IVsServiceFactory.Create<SVsSolutionBuildManager, IVsSolutionBuildManager2>(buildManager); generatePackageOnBuildPropertyProvider ??= CreateGeneratePackageOnBuildPropertyProvider(); return CreateInstanceCore(project, threadingService, serviceProvider, generatePackageOnBuildPropertyProvider); }
public static IVsSolutionBuildManager2 Create(IVsUpdateSolutionEvents solutionEventsListener = null, IVsHierarchy hierarchyToBuild = null, bool isBuilding = false, bool cancelBuild = false) { var buildManager = new Mock <IVsSolutionBuildManager2>(); solutionEventsListener = solutionEventsListener ?? IVsUpdateSolutionEventsFactory.Create(); hierarchyToBuild = hierarchyToBuild ?? IVsHierarchyFactory.Create(); int isBusy = isBuilding ? 1 : 0; buildManager.Setup(b => b.QueryBuildManagerBusy(out isBusy)) .Returns(VSConstants.S_OK); if (hierarchyToBuild != null) { int onBuildStartedWithReturn() { solutionEventsListener.UpdateSolution_Begin(It.IsAny <int>()); if (cancelBuild) { solutionEventsListener.UpdateSolution_Cancel(); } else { solutionEventsListener.UpdateSolution_Done(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>()); } return(VSConstants.S_OK); } uint dwFlags = (uint)(VSSOLNBUILDUPDATEFLAGS.SBF_SUPPRESS_SAVEBEFOREBUILD_QUERY | VSSOLNBUILDUPDATEFLAGS.SBF_OPERATION_BUILD); buildManager.Setup(b => b.StartSimpleUpdateProjectConfiguration(hierarchyToBuild, It.IsAny <IVsHierarchy>(), It.IsAny <string>(), dwFlags, It.IsAny <uint>(), It.IsAny <int>())) .Returns(onBuildStartedWithReturn); } return(buildManager.Object); }
/// <summary> /// The advise update solution events. /// </summary> /// <param name="sink"> /// The sink. /// </param> /// <param name="pdwCookie"> /// The pdw cookie. /// </param> /// <returns> /// The advise update solution events. /// </returns> public int AdviseUpdateSolutionEvents(IVsUpdateSolutionEvents sink, out uint pdwCookie) { this._eventSinks.Add(sink); pdwCookie = (uint)this._eventSinks.Count; return VSConstants.S_OK; }
public int AdviseUpdateSolutionEvents(IVsUpdateSolutionEvents pIVsUpdateSolutionEvents, out uint pdwCookie) { throw new NotImplementedException(); }
public int AdviseUpdateSolutionEvents(IVsUpdateSolutionEvents sink, out uint pdwCookie) { _eventSinks.Add(sink); pdwCookie = (uint)this._eventSinks.Count; return(VSConstants.S_OK); }
public int AdviseUpdateSolutionEvents(IVsUpdateSolutionEvents pIVsUpdateSolutionEvents, out uint pdwCookie) { throw new NotImplementedException(); }