Esempio n. 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 AddSPDataDefinitionToVSTemplate(DTE dte, Project project, string evaluatedSPDataTemplate, string evaluatedSPDataCategory, string evaluatedSPDataName)
        {
            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);

            ProjectItem elementFolder = Helpers.FindProjectItemByPath(project, targetFolder);

            Helpers2.AddVSElementToVSPackage(dte, project, elementFolder);

            CreatedElementFolder = elementFolder;
        }
        /// <summary>
        /// Adds a new feature
        /// </summary>
        private void AddFeatureToVSTemplate(DTE dte, Project project, string finalFeatureName)
        {
            string targetFolder    = @"Features\" + finalFeatureName;
            string targetFilename1 = finalFeatureName + ".feature";
            string targetFilename2 = finalFeatureName + ".Template.xml";

            //1. add folder with featurename to folder /Features and place FeatureName.feature in the folder.
            //2. add FeatureName.Template.xml in the same folder
            string featureContent         = GenerateContent(this.sPDataTemplate, targetFilename1);
            string featureTemplateContent = GenerateContent(this.TemplateFileName, targetFilename2);

            CreatedProjectItem = Helpers2.AddFileToProject(dte, project, targetFolder, targetFilename1, featureContent, true, false);
            //CreatedProjectFolder = CreatedProjectItem.Collection.Parent as ProjectItem;
            Helpers2.AddFileToProject(dte, project, targetFolder, targetFilename2, featureTemplateContent, true, false);

            CreatedProjectFolder = Helpers2.AddVSFeatureToVSPackage(dte, project, finalFeatureName);
        }
        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;
        }
Esempio n. 5
0
        private void AddResources(Project _CurrentProject, string folderName, string resourcefilename, string content, SPFileType deploymentFileType, string deploymentPath)
        {
            //in VSS we would create an empty element "Resources" and would add the resource.resx there with different deploymenttargets
            //1. erstelle folder "Resources" und packe Text\Resources\SharePointProjectItem.spdata.t4 rein
            //2. packe file da hinein und setze noch schnell den deployment path
            //1. erstelle Folder Resources\AppResources

            ProjectItems contentTypeFolder       = null;
            string       SPDataTemplate          = @"Text\Resources\SharePointProjectItem.spdata.t4";
            string       evaluatedSPDataTemplate = EvaluateParameterAsString(_CurrentProject.DTE, SPDataTemplate);
            string       spDataContent           = GenerateContent(evaluatedSPDataTemplate, "SharePointProjectItem.spdata");
            ProjectItem  spDataItem = Helpers2.AddFileToProject(_CurrentProject.DTE, _CurrentProject, folderName, "SharePointProjectItem.spdata", spDataContent, false, false, out contentTypeFolder);

            //add the resx file or the content to the folder
            ProjectItem resourceFileItem = AddResourcesToFolder(contentTypeFolder.Parent as ProjectItem, resourcefilename, content);

            //ensure that the resources element folder is part of package
            Helpers2.AddVSElementToVSPackage(_CurrentProject.DTE, _CurrentProject, contentTypeFolder.Parent as ProjectItem);

            //set the deployment type to Resource, AppGlobalResource
            Helpers2.SetDeploymentType(resourceFileItem, deploymentFileType);

            Helpers2.SetDeploymentPath(resourceFileItem, deploymentPath);
        }