This is a fake object for NestedPRojectNode so that we can skip certain method calls, e.g. ProcessRefrences involves a build and we would like to skip that
Inheritance: Microsoft.VisualStudio.Project.NestedProjectNode
示例#1
0
        protected override ProjectNode CreateProject()
        {
            NesteProjectNodeFake project = new NesteProjectNodeFake((ProjectPackage)Package);

            project.SetSite((IOleServiceProvider)((IServiceProvider)this.Package).GetService(typeof(IOleServiceProvider)));
            return(project);
        }
示例#2
0
        protected virtual void LoadProject()
        {
            // Prepare the package
            projectPackage = new NestedProjectPackage();
            ((IVsPackage)projectPackage).SetSite(serviceProvider);

            // prepare the factory
            projectFactory = new NestedProjectFactoryFake(projectPackage);
            this.SetMsbuildEngine(projectFactory);

            //Create the project object using the projectfactory and load the project
            int canCreate;

            if (VSConstants.S_OK == ((IVsProjectFactory)projectFactory).CanCreateProject(fullPathToProjectFile, (uint)__VSCREATEPROJFLAGS.CPF_OPENFILE, 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, "", "", (uint)__VSCREATEPROJFLAGS.CPF_OPENFILE, ref iidProject, out pfCanceled);
            }

            generalPropertyPage = new GeneralPropertyPage(projectNode);
        }
示例#3
0
        public void GeneralPropertyPageTestInitialize()
        {
            testString = "This is a test string";

            // Create a basic service provider
            serviceProvider = Microsoft.VsSDK.UnitTestLibrary.OleServiceProvider.CreateOleServiceProviderWithBasicServices();
            AddBasicSiteSupport(serviceProvider);

            // Initialize GeneralPropertyPage instance
            generalPropertyPage = new GeneralPropertyPage();
            gppAccessor         = new VisualStudio_Project_Samples_GeneralPropertyPageAccessor(generalPropertyPage);

            // 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);
            }
        }
示例#4
0
        protected virtual void LoadProject()
        {
            generalPropertyPage = new GeneralPropertyPage();

            // Prepare the package
            projectPackage = new NestedProjectPackage();
            ((IVsPackage)projectPackage).SetSite(serviceProvider);

            // prepare the factory
            projectFactory = new NestedProjectFactoryFake(projectPackage);
            this.SetMsbuildEngine(projectFactory);

            //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);
            }
        }
示例#5
0
 protected override ProjectNode CreateProject()
 {
     NesteProjectNodeFake project = new NesteProjectNodeFake();
     project.SetSite((IOleServiceProvider)((IServiceProvider)this.Package).GetService(typeof(IOleServiceProvider)));
     return project;
 }
        public void GeneralPropertyPageTestInitialize()
        {
            testString = "This is a test string";

            // Create a basic service provider
            serviceProvider = Microsoft.VsSDK.UnitTestLibrary.OleServiceProvider.CreateOleServiceProviderWithBasicServices();
            AddBasicSiteSupport(serviceProvider);

            // Initialize GeneralPropertyPage instance
            generalPropertyPage = new GeneralPropertyPage();
            gppAccessor = new VisualStudio_Project_Samples_GeneralPropertyPageAccessor(generalPropertyPage);

            // 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);
            }
        }