Exemplo n.º 1
0
        public MainViewModel([NotNull] EnvDTE.Solution solution)
        {
            _selectedVSProjects.CollectionChanged += SelectedVSProjects_CollectionChanged;
            Solution = new Solution(solution);

            CommandManager.RequerySuggested += CommandManager_RequerySuggested;
        }
Exemplo n.º 2
0
        public static EnvDTE.Project[] AllProjects(this EnvDTE.Solution solution)
        {
            var results = new List <EnvDTE.Project>();
            var queue   = new Queue <EnvDTE.Project>(solution.Projects.OfType <EnvDTE.Project>());

            while (queue.Count > 0)
            {
                var project = queue.Dequeue();
                results.Add(project);
                if (project.ProjectItems != null)
                {
                    foreach (EnvDTE.ProjectItem item in project.ProjectItems)
                    {
                        if (item.Kind == ProjectType_SolutionFolder || item.Kind == ProjectItemType_SolutionFolder)
                        {
                            if (item.SubProject != null)
                            {
                                queue.Enqueue(item.SubProject);
                            }
                        }
                    }
                }
            }

            return(results.ToArray());
        }
Exemplo n.º 3
0
        public VsSolution(DteSolution dteSolution, ISolutionManager solutionManager, IVsPackageManager packageManager)
        {
            _name = String.Format(
                CultureInfo.CurrentCulture,
                Strings.Label_Solution,
                dteSolution.GetName());
            _solution       = solutionManager;
            _packageManager = packageManager;

            var repo = (SharedPackageRepository)packageManager.LocalRepository;

            _installedSolutionLevelPackages = new CoreInteropInstalledPackagesList(
                new PackageReferenceRepository(repo.PackageReferenceFile.FullPath, repo));

            DteSolution = dteSolution;

            // Add V2-related interop features
            AddFeature(() => packageManager.LocalRepository);
            AddFeature <IPackageManager>(() => packageManager);
            AddFeature <IPackageCacheRepository>(() => MachineCache.Default);

            // the source repository of the local repo of the solution
            AddFeature <SourceRepository>(() =>
            {
                var localRepo = new NuGet.Client.Interop.V2SourceRepository(
                    null,
                    packageManager.LocalRepository,
                    "");
                return(localRepo);
            });

            // Add PowerShell feature
            AddFeature <PowerShellScriptExecutor>(() =>
                                                  new VsPowerShellScriptExecutor(ServiceLocator.GetInstance <IScriptExecutor>()));
        }
Exemplo n.º 4
0
 public static void RunlUpdate(EnvDTE.Solution solution)
 {
     foreach (EnvDTE.Project project in HelperFunctions.ProjectsInSolution(solution.DTE))
     {
         RunlUpdate(project);
     }
 }
Exemplo n.º 5
0
        private void InitializeWizard(object automationObject, Dictionary <string, string> replacementsDictionary)
        {
            inputForm = new frmWizService();
            inputForm.FinalizeWizEvent += new FinalizeWizHandler(inputForm_FinalizeWizEvent);
            inputForm.ServiceName       = replacementsDictionary["$rootname$"];
            solution = (((EnvDTE.SolutionClass)(((EnvDTE.DTE)automationObject).Solution)));


            selectedProject = HelperFunctions.GetDTE_SelectedProject(solution);

            projectIsvc = HelperFunctions.GetDTEProject(solution, "ISVC");
            if (projectIsvc == null)
            {
                projectIsvc = selectedProject;
            }
            projectSvc = HelperFunctions.GetDTEProject(solution, "SVC");
            if (projectSvc == null)
            {
                projectSvc = selectedProject;
            }

            //replacementsDictionary["$DefaultNamespace$"] = HelperFunctions.GetDTEProperty(solution, "Name").Value.ToString(); // HelperFunctions.GetDTEProperty(solution, "Name").Value.ToString();
            inputForm.ProjectName     = HelperFunctions.GetDTEProperty(solution, "Name").Value.ToString();
            inputForm.ProjectSvcName  = HelperFunctions.GetDTEProperty(projectSvc, "DefaultNamespace").Value.ToString();
            inputForm.ProjectISvcName = HelperFunctions.GetDTEProperty(projectIsvc, "DefaultNamespace").Value.ToString();
        }
        static void GetProjectInformation(EnvDTE.Project project, EnvDTE.Solution solution, out string fullPathOfCSProj, out Context.ProjectType projectType, out Context.ProjectOutputType projectOutputType)
        {
            string projectTypeGuids = GetProjectTypeGuids(project);

            // Get the full path of the CSPROJ:
            fullPathOfCSProj = project.FullName;

            // Get the Project Type:
            projectType = GetProjectType(projectTypeGuids);

            // Define some helpful functions:
            Func <string, string> functionToGetAProjectProperty = (string propertyName) =>
            {
                var property = project.Properties.Item(propertyName);     // Credits: https://www.mztools.com/articles/2007/mz2007014.aspx
                if (property != null && property.Value != null)
                {
                    return(property.Value.ToString());
                }
                else
                {
                    return(null);
                }
            };

            Func <string, string> functionToGetACSProjProperty = (string propertyName) =>
            {
                return(GetPropertyFromCSProj(propertyName, "Debug", project));
            };

            // Get the project Output Type:
            projectOutputType = GetProjectOutputType(projectType, functionToGetAProjectProperty, functionToGetACSProjProperty);
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="solution">The base Visual Studio solution reference</param>
        public Solution(VSSolution solution)
        {
            if (solution == null) throw new ArgumentNullException("solution");

            this._solution = solution;
            this.Name = solution.FullName;
        }
Exemplo n.º 8
0
        public VsSolution(DteSolution dteSolution, ISolutionManager solutionManager, IVsPackageManager packageManager)
        {
            _name = String.Format(
                CultureInfo.CurrentCulture,
                Strings.Label_Solution,
                dteSolution.GetName());
            _solution = solutionManager;
            _packageManager = packageManager;

            var repo = (SharedPackageRepository)packageManager.LocalRepository;
            _installedSolutionLevelPackages = new CoreInteropInstalledPackagesList(
                new PackageReferenceRepository(repo.PackageReferenceFile.FullPath, repo));

            DteSolution = dteSolution;

            // Add V2-related interop features
            AddFeature(() => packageManager.LocalRepository);
            AddFeature<IPackageManager>(() => packageManager);
            AddFeature<IPackageCacheRepository>(() => MachineCache.Default);

            // the source repository of the local repo of the solution
            AddFeature<SourceRepository>(() =>
            {
                var localRepo = new NuGet.Client.Interop.V2SourceRepository(
                    null,
                    packageManager.LocalRepository,
                    "");
                return localRepo;
            });

            // Add PowerShell feature
            AddFeature<PowerShellScriptExecutor>(() =>
                new VsPowerShellScriptExecutor(ServiceLocator.GetInstance<IScriptExecutor>()));
        }
        /// <summary>
        /// This function is the callback used to execute the command when the menu item is clicked.
        /// See the constructor to see how the menu item is associated with this function using
        /// OleMenuCommandService service and MenuCommand class.
        /// </summary>
        /// <param name="sender">Event sender.</param>
        /// <param name="e">Event args.</param>
        private void Execute(object sender, EventArgs e)
        {
            ThreadHelper.ThrowIfNotOnUIThread();
            if (_dte == null)
            {
                return;
            }

            EnvDTE.Solution solution = _dte.Solution;
            object[]        projects = ((object[])_dte.ActiveSolutionProjects);
            var             builder  = new StringBuilder();

            foreach (var item in projects)
            {
                EnvDTE.Project project = (EnvDTE.Project)item;
                builder.Append($"Project name: {project.Name}");
                builder.Append(Environment.NewLine);
            }
            string message = builder.ToString();
            string title   = "Multi Projects Context Menu Command";

            // Show a message box
            VsShellUtilities.ShowMessageBox(
                this.package,
                message,
                title,
                OLEMSGICON.OLEMSGICON_INFO,
                OLEMSGBUTTON.OLEMSGBUTTON_OK,
                OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST);
        }
Exemplo n.º 10
0
        /// <summary>
        /// Gets all projects in the solution.
        /// </summary>
        /// <param name="solution">The solution.</param>
        /// <returns>The projects.</returns>
        public static IReadOnlyCollection <EnvDTE.Project> GetProjects(this EnvDTE.Solution solution)
        {
            var items = new List <EnvDTE.Project>();

            var projects = solution.Projects;

            if (projects == null)
            {
                return(items);
            }

            for (var i = 1; i <= projects.Count; i++)
            {
                try
                {
                    var project = projects.Item(i);
                    if (project == null)
                    {
                        continue;
                    }

                    items.Add(project);

                    project.ProjectItems.GetSubProjects(items);
                }
                catch
                {
                    Trace.TraceError("Error loading project #" + i);
                }
            }

            return(items);
        }
        private bool ShouldFormatSolution(EnvDTE.Solution solution)
        {
            Contract.Requires(solution != null);

            var sourceControl = Dte.SourceControl;

            int result;

            if (sourceControl != null && sourceControl.IsItemUnderSCC(solution.FullName))
            {
                result = VsShellUtilities.ShowMessageBox(
                    this,
                    Resources.ConfirmFormatSourceControlledSolution,
                    Resources.ConfirmFormatSolutionTitle,
                    OLEMSGICON.OLEMSGICON_QUERY,
                    OLEMSGBUTTON.OLEMSGBUTTON_OKCANCEL,
                    OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_SECOND);
            }
            else
            {
                result = VsShellUtilities.ShowMessageBox(
                    this,
                    Resources.ConfirmFormatSolution,
                    Resources.ConfirmFormatSolutionTitle,
                    OLEMSGICON.OLEMSGICON_QUERY,
                    OLEMSGBUTTON.OLEMSGBUTTON_OKCANCEL,
                    OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_SECOND);
            }

            ErrorHandler.ThrowOnFailure(result);

            return(result == (int)VSConstants.MessageBoxResult.IDOK);
        }
Exemplo n.º 12
0
        public Solution([NotNull] EnvDTE.Solution solution)
        {
            _solution = solution;

            Projects = _solution.GetProjects()
                       .Select(project => new Project(this, project))
                       .Where(project => project.IsVsProject)
                       .OrderBy(project => project.Name)
                       .ToArray();

            foreach (var project in Projects)
            {
                if (project == null)
                {
                    continue;
                }

                foreach (var dependency in project.GetProjectReferences())
                {
                    Debug.Assert(dependency != null);
                    dependency.SourceProject?.ReferencedBy.Add(project);
                }
            }

            // Microsoft.Tools.WindowsInstallerXml.VisualStudio.OAWixProject
            WixProjects = _solution.GetProjects()
                          .Where(project => "{930c7802-8a8c-48f9-8165-68863bccd9dd}".Equals(project.Kind, StringComparison.OrdinalIgnoreCase))
                          .Select(project => new WixProject(this, project))
                          .OrderBy(project => project.Name)
                          .ToArray();
        }
Exemplo n.º 13
0
 public ReferenceEngine(EnvDTE.Solution solution, string startsWith, bool showSystemReferences, bool showMissingOnly)
 {
     if (solution == null || String.IsNullOrEmpty(solution.FullName))
     {
         _references = Enumerable.Empty <ProjectModel>();
     }
     _references = ParseSolutionFile(solution.FullName, startsWith, showSystemReferences, showMissingOnly);
 }
Exemplo n.º 14
0
 /// <summary>
 /// Build the current project.
 /// </summary>
 /// <returns>
 /// returns true if build passed
 /// </returns>
 private static bool BuildActiveProject()
 {
     EnvDTE.Solution sol = CodeRush.Solution.Active;
     //EnvDTE.Project project = GetActiveProject();
     sol.SolutionBuild.Build(true); // We build the whole solution becuase some projects are not configured to build the projects they depend upon first.
     //sol.SolutionBuild.BuildProject(project.ConfigurationManager.ActiveConfiguration.ConfigurationName, project.UniqueName, true);
     return(sol.SolutionBuild.LastBuildInfo == 0);
 }
Exemplo n.º 15
0
        /// <summary>
        /// Gets the path to .nuget folder present in the solution
        /// </summary>
        /// <param name="envDTESolution">Solution from which .nuget folder's path is obtained</param>
        public static string GetNuGetSolutionFolder(EnvDTESolution envDTESolution)
        {
            Debug.Assert(envDTESolution != null);
            string solutionFilePath  = (string)envDTESolution.Properties.Item("Path").Value;
            string solutionDirectory = Path.GetDirectoryName(solutionFilePath);

            return(Path.Combine(solutionDirectory, NuGetSolutionSettingsFolder));
        }
        public ProjectItemIterator(EnvDTE.Solution solution)
        {
            if (solution == null)
            {
                throw new ArgumentNullException("solution");
            }

            projects = TryHelper.Run <IEnumerable <EnvDTE.Project> >(() => solution.Projects.Cast <EnvDTE.Project>());
        }
        public ProjectItemIterator(EnvDTE.Solution solution)
        {
            if (solution == null)
            {
                throw new ArgumentNullException("solution");
            }

            projects = solution.Projects.Cast <EnvDTE.Project>();
        }
Exemplo n.º 18
0
        /// <summary>
        /// This function is the callback used to execute the command when the menu item is clicked.
        /// See the constructor to see how the menu item is associated with this function using
        /// OleMenuCommandService service and MenuCommand class.
        /// </summary>
        /// <param name="sender">Event sender.</param>
        /// <param name="e">Event args.</param>
        private void Execute(object sender, EventArgs e)
        {
            ThreadHelper.ThrowIfNotOnUIThread();
            _commandExecutionLimiter.StartCommandExec();
            EnvDTE.DTE      dte      = (EnvDTE.DTE)ThreadHelper.JoinableTaskFactory.Run(() => ServiceProvider.GetServiceAsync(typeof(EnvDTE.DTE)));
            EnvDTE.Solution solution = dte.Solution;
            String          target   = solution.FileName;

            ThreadHelper.JoinableTaskFactory.RunAsync(() => ExecuteSolutionAnalysisAsync(target));
        }
Exemplo n.º 19
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="solution">The base Visual Studio solution reference</param>
        public Solution(VSSolution solution)
        {
            if (solution == null)
            {
                throw new ArgumentNullException("solution");
            }

            this._solution = solution;
            this.Name      = solution.FullName;
        }
Exemplo n.º 20
0
 public static EnvDTE.Project FindProjectEx(this EnvDTE.Solution solution, string projectName)
 {
     foreach (EnvDTE.Project project in solution.Projects)
     {
         if (project.Name.Equals(projectName))
         {
             return(project);
         }
     }
     return(null);
 }
Exemplo n.º 21
0
        public static string GetSolutionFilePath()
        {
            EnvDTE.Solution solution = EditorExtensionsPackage.DTE.Solution;

            if (solution == null || string.IsNullOrEmpty(solution.FullName))
            {
                return(null);
            }

            return(Path.Combine(Path.GetDirectoryName(solution.FullName), _fileName));
        }
Exemplo n.º 22
0
        public MigrationWizardWindow(EnvDTE.Solution solution)
        {
            InitializeComponent();

            _context = new Context(solution: solution);

            _context.MigrationCompleted += Context_MigrationCompleted;
            _context.MigrationStarted   += Context_MigrationStarted;
            this.Loaded             += MigrationWizardWindow_Loaded;
            MainContainer.Navigated += MainContainer_Navigated;
        }
Exemplo n.º 23
0
        public static void RunlUpdate(EnvDTE.Solution solution)
        {
            if (solution == null)
            {
                return;
            }

            foreach (var project in HelperFunctions.ProjectsInSolution(solution.DTE))
            {
                RunlUpdate(project);
            }
        }
Exemplo n.º 24
0
 public bool SaveSolutionQtVersion(EnvDTE.Solution solution, string version)
 {
     if (!IsVersionAvailable(version) && version != "$(DefaultQtVersion)")
     {
         return(false);
     }
     solution.Globals["Qt5Version"] = version;
     if (!solution.Globals.get_VariablePersists("Qt5Version"))
     {
         solution.Globals.set_VariablePersists("Qt5Version", true);
     }
     return(true);
 }
        private void BeforeQueryStatus(object sender, EventArgs e)
        {
            if (_dte == null)
            {
                return;
            }
            EnvDTE.Solution solution = _dte.Solution;
            EnvDTE.Project  project  = (EnvDTE.Project)((object[])_dte.ActiveSolutionProjects)[0];

            var cmd = (OleMenuCommand)sender;

            cmd.Visible = project.Kind == "{9A19103F-16F7-4668-BE54-9A1E7A4F7556}";
        }
Exemplo n.º 26
0
        public static void RunlRelease(EnvDTE.Solution solution)
        {
            ThreadHelper.ThrowIfNotOnUIThread();

            if (solution == null)
            {
                return;
            }

            foreach (var project in HelperFunctions.ProjectsInSolution(solution.DTE))
            {
                RunlRelease(project);
            }
        }
Exemplo n.º 27
0
        public string GetSolutionQtVersion(EnvDTE.Solution solution)
        {
            if (solution == null)
            {
                return(null);
            }

            if (solution.Globals.get_VariableExists("Qt5Version"))
            {
                var version = (string)solution.Globals["Qt5Version"];
                return(VerifyIfQtVersionExists(version) ? version : null);
            }

            return(null);
        }
Exemplo n.º 28
0
        private void btnOpenBinDir_Click(object sender, EventArgs e)
        {
            EnvDTE.Solution sln  = _applicationObject.Solution;
            DirectoryInfo   info = Directory.GetParent(sln.FullName);

            try
            {
                string text = info.FullName;
                System.Diagnostics.Process.Start(text + "\\bin");
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
        }
Exemplo n.º 29
0
        public void ResetTree()
        {
            EnvDTE.Solution sln  = _applicationObject.Solution;
            DirectoryInfo   info = Directory.GetParent(sln.FullName);

            treeView1.Nodes.Clear();
            TreeNode nodeTmp = AddDll(new TreeNode("ThkRelLibWF5x64"), info.FullName);

            if (nodeTmp != null)
            {
                treeView1.Nodes.Add(nodeTmp);
            }
            nodeTmp = AddDll(new TreeNode("ThkRelLibWF5"), info.FullName);
            if (nodeTmp != null)
            {
                treeView1.Nodes.Add(nodeTmp);
            }
            nodeTmp = AddDll(new TreeNode("RelLibCR2"), info.FullName);
            if (nodeTmp != null)
            {
                treeView1.Nodes.Add(nodeTmp);
            }
            nodeTmp = AddDll(new TreeNode("RelLibCR2x64"), info.FullName);
            if (nodeTmp != null)
            {
                treeView1.Nodes.Add(nodeTmp);
            }
            nodeTmp = AddDll(new TreeNode("Release"), info.FullName);
            if (nodeTmp != null)
            {
                treeView1.Nodes.Add(nodeTmp);
            }
            nodeTmp = AddDll(new TreeNode("Releasex64"), info.FullName);
            if (nodeTmp != null)
            {
                treeView1.Nodes.Add(nodeTmp);
            }
            nodeTmp = AddDll(new TreeNode("ThkRelLibWF4x64"), info.FullName);
            if (nodeTmp != null)
            {
                treeView1.Nodes.Add(nodeTmp);
            }
            nodeTmp = AddDll(new TreeNode("ThkRelLibWF4"), info.FullName);
            if (nodeTmp != null)
            {
                treeView1.Nodes.Add(nodeTmp);
            }
        }
Exemplo n.º 30
0
        internal static EnvDTE.Project GetDTE_SelectedProject(EnvDTE.Solution solution)
        {
            EnvDTE.Project       project        = null;
            EnvDTE.SelectedItems wSelectedItems = ((EnvDTE.SelectedItems)((EnvDTE.Projects)solution.Projects).DTE.SelectedItems);

            if (wSelectedItems.Item(1).ProjectItem != null)
            {
                project = ((EnvDTE.Project)wSelectedItems.Item(1).ProjectItem.ContainingProject);
            }

            if (wSelectedItems.Item(1).Project != null)
            {
                project = wSelectedItems.Item(1).Project;
            }
            return(project);
        }
        static void Main(string[] args)
        {
            Type t = System.Type.GetTypeFromProgID("VisualStudio.DTE.10.0");

            EnvDTE.DTE dte = (EnvDTE.DTE)System.Activator.CreateInstance(t);
            dte.SuppressUI         = false;
            dte.MainWindow.Visible = true;
            EnvDTE.Solution sol = dte.Solution;
            sol.Open(@"C:\Temp\SolutionFolder\MySolution1\MySolution1.sln");

            EnvDTE.Project pro    = sol.Projects.Item(1);
            ITcSysManager  sysMan = pro.Object;

            sysMan.ActivateConfiguration();
            sysMan.StartRestartTwinCAT();
        }
Exemplo n.º 32
0
        private void Refresh(EnvDTE.Solution solution)
        {
            if (solution == null)
            {
                ViewModel = null;
                return;
            }

            try
            {
                ViewModel = new MainViewModel(solution);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error loading: " + ex);
            }
        }
Exemplo n.º 33
0
        private void InitializeWizard(object automationObject, Dictionary<string, string> replacementsDictionary)
        {
            _Storage = new Storage();
            _Storage.LoadStorage();


            inputForm = new frmWizDAC_1(_Storage.CnnString);


            inputForm.FinalizeWizEvent += new FinalizeWizHandler(inputForm_FinalizeWizEvent);
            solution = (((EnvDTE.SolutionClass)(((EnvDTE.DTE)automationObject).Solution)));


            selectedProject = HelperFunctions.GetDTE_SelectedProject(solution);

            replacementsDictionary[CommonConstants.CONST_FwkProject_NAME] = HelperFunctions.GetDTEProperty(solution ,"Name").Value.ToString();
            inputForm.ProjectName = replacementsDictionary[CommonConstants.CONST_FwkProject_NAME];
        }
        public TestDotsCoverageVsPlugin(VsSolutionTestCoverage vsSolutionTestCoverage,
            ITaskCoverageManager taskCoverageManager,
            IWpfTextView textView,
            IVsStatusbar statusBar,
            Solution solution)
        {
            _vsSolutionTestCoverage = vsSolutionTestCoverage;
            _taskCoverageManager = taskCoverageManager;

            _canvas = new Canvas();
            _textView = textView;
            _statusBar = statusBar;
            _solution = solution;

            _textView.ViewportHeightChanged += (s, e) => Redraw();
            _textView.LayoutChanged += LayoutChanged;
            this.Width = 20;
            this.ClipToBounds = true;
            this.Background = new SolidColorBrush(Colors.White);
            Children.Add(_canvas);
            textView.TextBuffer.Changed += TextBuffer_Changed;

            _taskCoverageManager.CoverageTaskEvent += TaskCoverageManagerCoverageTaskEvent;
        }
 public QueryCloseSolutionEventArgs(EnvDTE.Solution solution, ref int pfCancel)
 {
     // TODO: Complete member initialization
     this.solution = solution;
     this.pfCancel = pfCancel;
 }
Exemplo n.º 36
0
        /// <summary>
        /// Creates COM automation objects and opens the solution...
        /// </summary>
        private void openSolution()
        {
            // We create a DTE object to automate our interaction
            // with Visual Studio.
            Type type = Type.GetTypeFromProgID("VisualStudio.DTE.10.0");
            if (type == null)
            {
                throw new Exception("Visual Studio 2010 cannot be loaded");
            }
            Object obj = System.Activator.CreateInstance(type, true);
            m_dte = (DTE2)obj;

            // We open the solution. (This needs to be a full path.)
            string path = Path.GetFullPath(m_parsedSolution.Name);
            m_dteSolution = Utils.call(() => (m_dte.Solution));
            Utils.callVoidFunction(() => { m_dteSolution.Open(path); });

            // We get the root folder for the solution...
            m_parsedSolution.RootFolderAbsolute = Path.GetDirectoryName(path) + "\\";
        }
Exemplo n.º 37
0
        private void InitializeWizard(object automationObject, Dictionary<string, string> replacementsDictionary)
        {
            inputForm = new frmWizService();
            inputForm.FinalizeWizEvent += new FinalizeWizHandler(inputForm_FinalizeWizEvent);
            inputForm.ServiceName = replacementsDictionary["$rootname$"];
            solution = (((EnvDTE.SolutionClass)(((EnvDTE.DTE)automationObject).Solution)));


            selectedProject = HelperFunctions.GetDTE_SelectedProject(solution);

            projectIsvc = HelperFunctions.GetDTEProject(solution, "ISVC");
            if (projectIsvc == null)
                projectIsvc = selectedProject;
           projectSvc = HelperFunctions.GetDTEProject(solution, "SVC");
            if (projectSvc == null)
                projectSvc = selectedProject;

            //replacementsDictionary["$DefaultNamespace$"] = HelperFunctions.GetDTEProperty(solution, "Name").Value.ToString(); // HelperFunctions.GetDTEProperty(solution, "Name").Value.ToString();
            inputForm.ProjectName = HelperFunctions.GetDTEProperty(solution, "Name").Value.ToString();
            inputForm.ProjectSvcName = HelperFunctions.GetDTEProperty(projectSvc, "DefaultNamespace").Value.ToString();
            inputForm.ProjectISvcName = HelperFunctions.GetDTEProperty(projectIsvc, "DefaultNamespace").Value.ToString();
             



        }