public override void Initialize() { base.Initialize(); //init the automation objects nestedProject = new OANestedProject(projectNode); projectProperties = (OANestedProjectProperties)nestedProject.Properties; }
public void Initialize() { // Create a basic service provider serviceProvider = Microsoft.VsSDK.UnitTestLibrary.OleServiceProvider.CreateOleServiceProviderWithBasicServices(); AddBasicSiteSupport(serviceProvider); // Initialize ProjectPackage context projectPackage = new NestedProjectPackage(); ((IVsPackage)projectPackage).SetSite(serviceProvider); // prepare the factory projectFactory = new NestedProjectFactoryFake(projectPackage); //set the build engine and build project on the factory object FieldInfo buildEngine = typeof(ProjectFactory).GetField("buildEngine", BindingFlags.Instance | BindingFlags.NonPublic); buildEngine.SetValue(projectFactory, MSBuild.Engine.GlobalEngine); MSBuild.Project msbuildproject = MSBuild.Engine.GlobalEngine.CreateNewProject(); FieldInfo buildProject = typeof(ProjectFactory).GetField("buildProject", BindingFlags.Instance | BindingFlags.NonPublic); buildProject.SetValue(projectFactory, msbuildproject); //Create the project object using the projectfactory and load the project int canCreate; if (VSConstants.S_OK == ((IVsProjectFactory)projectFactory).CanCreateProject(fullPathToProjectFile, 2, out canCreate)) { MethodInfo preCreateForOuter = typeof(NestedProjectFactory).GetMethod("PreCreateForOuter", BindingFlags.Instance | BindingFlags.NonPublic); Assert.IsNotNull(preCreateForOuter, "failed to get the PreCreateForOuter method info object from NestedProjectFactory type"); projectNode = (NesteProjectNodeFake)preCreateForOuter.Invoke(projectFactory, new object[] { IntPtr.Zero }); Assert.IsNotNull(projectNode, "Failed to create the projectnode object"); Guid iidProject = new Guid(); int pfCanceled; projectNode.Load(fullPathToProjectFile, "", "", 2, ref iidProject, out pfCanceled); //init the automation objects nestedProject = new OANestedProject(projectNode); projectProperties = (OANestedProjectProperties)nestedProject.Properties; } }
public void Initialize() { // Create a basic service provider serviceProvider = Microsoft.VsSDK.UnitTestLibrary.OleServiceProvider.CreateOleServiceProviderWithBasicServices(); AddBasicSiteSupport(serviceProvider); // Initialize ProjectPackage context projectPackage = new NestedProjectPackage(); ((IVsPackage)projectPackage).SetSite(serviceProvider); // prepare the factory projectFactory = new NestedProjectFactoryFake(projectPackage); //set the build engine and build project on the factory object FieldInfo buildEngine = typeof(ProjectFactory).GetField("buildEngine", BindingFlags.Instance | BindingFlags.NonPublic); buildEngine.SetValue(projectFactory, MSBuild.Engine.GlobalEngine); MSBuild.Project msbuildproject = MSBuild.Engine.GlobalEngine.CreateNewProject(); FieldInfo buildProject = typeof(ProjectFactory).GetField("buildProject", BindingFlags.Instance | BindingFlags.NonPublic); buildProject.SetValue(projectFactory, msbuildproject); //Create the project object using the projectfactory and load the project int canCreate; if(VSConstants.S_OK == ((IVsProjectFactory)projectFactory).CanCreateProject(fullPathToProjectFile, 2, out canCreate)) { MethodInfo preCreateForOuter = typeof(NestedProjectFactory).GetMethod("PreCreateForOuter", BindingFlags.Instance | BindingFlags.NonPublic); Assert.IsNotNull(preCreateForOuter, "failed to get the PreCreateForOuter method info object from NestedProjectFactory type"); projectNode = (NesteProjectNodeFake)preCreateForOuter.Invoke(projectFactory, new object[] { IntPtr.Zero }); Assert.IsNotNull(projectNode, "Failed to create the projectnode object"); Guid iidProject = new Guid(); int pfCanceled; projectNode.Load(fullPathToProjectFile, "", "", 2, ref iidProject, out pfCanceled); //init the automation objects nestedProject = new OANestedProject(projectNode); projectProperties = (OANestedProjectProperties)nestedProject.Properties; } }