Esempio n. 1
0
        internal IEnumerable <IProjectItem> ExecuteInternal(IProject project, IProjectItemTemplate itemTemplate, string userSpecifiedFileName)
        {
            List <IProjectItem> itemsToOpen        = (List <IProjectItem>)null;
            TemplateItemHelper  templateItemHelper = new TemplateItemHelper(project, (IList <string>)null, (IServiceProvider)this.designerContext.Services);
            CreationOptions     creationOptions    = CreationOptions.DoNotSelectCreatedItems | CreationOptions.DoNotSetDefaultImportPath;

            if (!this.allowOverwrite)
            {
                creationOptions |= CreationOptions.DoNotAllowOverwrites;
            }
            IEnumerable <IProjectItem> enumerable = templateItemHelper.AddProjectItemsForTemplateItem(itemTemplate, userSpecifiedFileName, this.designerContext.ProjectManager.TargetFolderForProject(project), creationOptions, out itemsToOpen);

            if (enumerable != null)
            {
                foreach (IProjectItem projectItem in enumerable)
                {
                    if (projectItem.DocumentType is AssemblyReferenceDocumentType)
                    {
                        project.AddAssemblyReference(projectItem.DocumentReference.Path, false);
                    }
                }
            }
            if (itemsToOpen != null)
            {
                foreach (IProjectItem projectItem in itemsToOpen)
                {
                    projectItem.OpenView(true);
                }
            }
            return(enumerable);
        }
Esempio n. 2
0
        private IEnumerable <IProjectItem> AddAssemblies(IProject project)
        {
            List <IProjectItem> projectItems = new List <IProjectItem>();

            foreach (VSTemplateTemplateContentReferencesReference templateReference in this.TemplateReferences)
            {
                IProjectItem projectItem = project.AddAssemblyReference(templateReference.Assembly.Trim(), false);
                if (projectItem == null)
                {
                    continue;
                }
                projectItems.Add(projectItem);
            }
            return(projectItems);
        }
Esempio n. 3
0
        protected override bool CreateProjectItem()
        {
            IProject project = this.targetedProject != null ? this.targetedProject : ProjectCommandExtensions.SelectedProjectOrNull((IProjectCommand)this);

            if (project == null)
            {
                return(false);
            }
            bool flag = false;

            string[] filesToImport = this.GetFilesToImport(this.importedPathFilter != null ? this.importedPathFilter : this.GetImportFolder());
            if (filesToImport != null && filesToImport.Length > 0)
            {
                foreach (string str in filesToImport)
                {
                    string          withoutExtension = Path.GetFileNameWithoutExtension(str);
                    ProjectAssembly projectAssembly  = project.ReferencedAssemblies.Find(withoutExtension);
                    if (projectAssembly != null && !projectAssembly.IsImplicitlyResolved)
                    {
                        ProjectCommandExtensions.DisplayCommandFailedMessage((IProjectCommand)this, string.Format((IFormatProvider)CultureInfo.CurrentUICulture, StringTable.ReferenceExistsErrorDialogMessage, new object[2]
                        {
                            (object)str,
                            (object)withoutExtension
                        }));
                    }
                    else
                    {
                        IProjectItem projectItem = project.AddAssemblyReference(str, true);
                        if (projectItem != null)
                        {
                            ProjectCommandExtensions.ProjectManager((IProjectCommand)this).DefaultImportPath = Path.GetDirectoryName(str);
                            ProjectCommandExtensions.ProjectManager((IProjectCommand)this).ItemSelectionSet.Clear();
                            ProjectCommandExtensions.ProjectManager((IProjectCommand)this).ItemSelectionSet.ToggleSelection((IDocumentItem)projectItem);
                        }
                        ProjectXamlContext projectContext = ProjectXamlContext.GetProjectContext(project);
                        if (projectContext != null)
                        {
                            projectContext.EnsureAssemblyReferenced(str);
                        }
                        if (projectItem != null)
                        {
                            flag = true;
                        }
                    }
                }
            }
            return(flag);
        }