예제 #1
0
        private void AddSPDataDefinitionToVSTemplate(DTE dte, Project project, string evaluatedSPDataTemplate, string evaluatedTemplate, string evaluatedSPDataCategory, string evaluatedSPDataName, string evaluatedTargetFileName, string evaluatedDeploymentPath)
        {
            string elementsXmlContent = GenerateContent(evaluatedTemplate, "Elements.xml");
            string spDataContent      = GenerateContent(evaluatedSPDataTemplate, "SharePointProjectItem.spdata");

            //1. create the folder for the content type, which means adding the spdata stuff to a folder in the project

            string       targetFolder      = evaluatedSPDataCategory + @"\" + evaluatedSPDataName;
            ProjectItems contentTypeFolder = null;
            ProjectItem  spDataItem        = Helpers2.AddFileToProject(dte, project, targetFolder, "SharePointProjectItem.spdata", spDataContent, true, false, out contentTypeFolder);

            //2. put the elements.xml in that folder
            CreatedProjectItem = Helpers2.AddFile(dte, contentTypeFolder, evaluatedTargetFileName, elementsXmlContent, true, this.Open);

            if (DeploymentTypeIsSet)
            {
                Helpers2.SetDeploymentType(CreatedProjectItem, this.DeploymentType);
            }
            if (DeploymentPathIsSet)
            {
                Helpers2.SetDeploymentPath(CreatedProjectItem, evaluatedDeploymentPath);
            }

            //Trace.WriteLine("AddElementsDefinitionAction FindProjectItemByPath " + targetFolder);
            ProjectItem elementFolder = Helpers.FindProjectItemByPath(project, targetFolder);

            Helpers2.AddVSElementToVSPackage(dte, project, elementFolder);

            CreatedProjectFolder = elementFolder;
        }
        private void AddElementsDefinitionToVSTemplate(DTE dte, Project project, string evaluatedParentFeatureName, string evaluatedSPDataTemplate, string evaluatedElementsTemplate, string evaluatedElementsCategory, string evaluatedElementsName, string evaluatedTargetFileName)
        {
            string elementsXmlContent = GenerateContent(evaluatedElementsTemplate, "Elements.xml");
            string spDataContent      = GenerateContent(evaluatedSPDataTemplate, "SharePointProjectItem.spdata");

            //1. create the folder for the content type, which means adding the spdata stuff to a folder in the project

            string       targetFolder      = evaluatedElementsCategory + @"\" + evaluatedElementsName;
            ProjectItems contentTypeFolder = null;
            ProjectItem  spDataItem        = Helpers2.AddFileToProject(dte, project, targetFolder, "SharePointProjectItem.spdata", spDataContent, true, false, out contentTypeFolder);

            //2. put the elements.xml in that folder
            CreatedElementFile = Helpers2.AddFile(dte, contentTypeFolder, evaluatedTargetFileName, elementsXmlContent, true, this.Open);

            if (this.DeploymentTypeIsSet)
            {
                //default deployment type is ElementManifest
                Helpers2.SetDeploymentType(CreatedElementFile, this.DeploymentType);
            }
            else
            {
                Helpers2.SetDeploymentType(CreatedElementFile, SPFileType.ElementManifest);
            }

            //Trace.WriteLine("AddElementsDefinitionAction FindProjectItemByPath " + targetFolder);
            ProjectItem elementFolder = Helpers.FindProjectItemByPath(project, targetFolder);

            //3. add the item to the selected feature or to the package
            if (!string.IsNullOrEmpty(evaluatedParentFeatureName))
            {
                //element can be added to a feature
                //Trace.WriteLine("AddElementsDefinitionAction evaluatedParentFeatureName=" + evaluatedParentFeatureName);
                Helpers2.AddVSElementToVSFeature(dte, project, elementFolder, evaluatedParentFeatureName);
            }
            else
            {
                //no featurename is given, we add the element to the package
                //Trace.WriteLine("AddElementsDefinitionAction evaluatedParentFeatureName=null");
                Helpers2.AddVSElementToVSPackage(dte, project, elementFolder);
            }

            CreatedElementFolder = elementFolder;
        }