Пример #1
0
        private bool Init(string runsourceProject, VSProjectUpdateOptions options)
        {
            CompilerProjectReader runsourceProjectReader = CompilerProjectReader.Create(new XmlConfig(runsourceProject).GetConfigElement("/AssemblyProject"));
            string vsProject = runsourceProjectReader.GetVSProject();

            if (vsProject == null)
            {
                Trace.WriteLine($"visual studio project is not defined");
                return(false);
            }
            if (!zFile.Exists(vsProject))
            {
                Trace.WriteLine($"visual studio project not found \"{vsProject}\"");
                return(false);
            }
            _vsProjectManager = new VSProjectManager(vsProject);

            _runsourceProjectsReaders = new List <CompilerProjectReader>();
            _runsourceProjectsReaders.Add(runsourceProjectReader);
            foreach (string complementaryProject in runsourceProjectReader.GetComplementaryProjects())
            {
                _runsourceProjectsReaders.Add(CompilerProjectReader.Create(new XmlConfig(complementaryProject).GetConfigElement("/AssemblyProject")));
            }
            _options = options;
            return(true);
        }
Пример #2
0
        public void UpdateVSProject(string runsourceProject, VSProjectUpdateOptions options)
        {
            //RunSourceVSProjectManager manager = new RunSourceVSProjectManager();
            if (!Init(runsourceProject, options))
            {
                return;
            }
            TraceHeader();
            VSProjectUpdateResult result = _UpdateVSProject();

            TraceResult(result);
        }
Пример #3
0
        public static void UpdateVSProject(string runsourceProject = null, VSProjectUpdateOptions options = VSProjectUpdateOptions.None)
        {
            if (runsourceProject != null)
            {
                runsourceProject = GetFilePath(GetProjectVariableValue(runsourceProject));
            }
            else
            {
                runsourceProject = GetCurrentProject();
            }

            options |= VSProjectUpdateOptions.BackupVSProject;

            new RunSourceVSProjectManager().UpdateVSProject(runsourceProject, options);
        }
Пример #4
0
        private void UpdateVSProject(string runSourceProject, bool simulate = false)
        {
            //Trace.WriteLine($"UpdateVSProject() : simulate {simulate}");
            //return;
            DateTime start = DateTime.Now;
            // _vsProjectAddSource _vsProjectRemoveSource _vsProjectAddSourceLink _vsProjectRemoveSourceLink _vsProjectAddAssemblyReference _vsProjectRemoveAssemblyReference
            VSProjectUpdateOptions options = VSProjectUpdateOptions.BackupVSProject;

            if (_vsProjectAddSource.Checked)
            {
                options |= VSProjectUpdateOptions.AddSource;
            }
            if (_vsProjectRemoveSource.Checked)
            {
                options |= VSProjectUpdateOptions.RemoveSource;
            }
            if (_vsProjectAddSourceLink.Checked)
            {
                options |= VSProjectUpdateOptions.AddSourceLink;
            }
            if (_vsProjectRemoveSourceLink.Checked)
            {
                options |= VSProjectUpdateOptions.RemoveSourceLink;
            }
            if (_vsProjectAddAssemblyReference.Checked)
            {
                options |= VSProjectUpdateOptions.AddAssemblyReference;
            }
            if (_vsProjectRemoveAssemblyReference.Checked)
            {
                options |= VSProjectUpdateOptions.RemoveAssemblyReference;
            }
            if (options == VSProjectUpdateOptions.BackupVSProject)
            {
                Trace.WriteLine("no operation selected");
                return;
            }
            if (simulate)
            {
                options |= VSProjectUpdateOptions.Simulate;
            }
            _remoteRunSource.CreateRunSourceVSProjectManager().UpdateVSProject(runSourceProject, options);
            Trace.WriteLine($@"Process completed {DateTime.Now - start:hh\:mm\:ss\.fff}");
        }