示例#1
0
        public void RemoveProject(NRefactory.CSharpProject project)
        {
            if (null == project)
            {
                return;
            }

            throw new NotImplementedException();
        }
示例#2
0
        public void RemoveCSharpFileFromProject(NRefactory.CSharpProject project, string codeAbsoluteFilePath)
        {
            Ensure.ArgumentNotNull(project, "project");

            for (var i = 0; i < project.Files.Count; i++)
            {
                if (PathExt.PathsAreEqual(project.Files[i].FileName, codeAbsoluteFilePath))
                {
                    project.Files.RemoveAt(i);
                }
            }
        }
示例#3
0
        public NRefactory.CSharpProject AddOrUpdateProject(string projectFilePath)
        {
            _log.InfoFormat("Looking for Project [{0}]", projectFilePath);

            var project = GetProjectByFilePath(projectFilePath);

            if (null != project)
            {
                _log.Info("Project has already been parsed.");

                Solution.Projects.Remove(project);

                var newProject = new NRefactory.CSharpProject(Solution, project.Title, project.FileName);

                Solution.Projects.Add(newProject);

                Solution.RecreateCompilations();

                return(newProject);
            }

            _log.Info("Project has not been parsed.  Adding it now.");
            //Reparse the whole solution - TODO: can probably optomize this.
            Solution = new NRefactory.Solution(Solution.FullName);

            project = GetProjectByFilePath(projectFilePath);

            if (null == project)
            {
                throw new Exception(string.Format(
                                        "Failed to load project [{0}].  Does it exist in Solution [{1}]",
                                        projectFilePath, Solution.FileName));
            }

            return(project);
        }
示例#4
0
        public NRefactory.CSharpProject AddOrUpdateProject(string projectFilePath)
        {
            _log.InfoFormat("Looking for Project [{0}]", projectFilePath);

            var project = GetProjectByFilePath(projectFilePath);

            if (null != project)
            {
                _log.Info("Project has already been parsed.");

                Solution.Projects.Remove(project);

                var newProject = new NRefactory.CSharpProject(Solution, project.Title, project.FileName);

                Solution.Projects.Add(newProject);

                Solution.RecreateCompilations();

                return newProject;
            }

            _log.Info("Project has not been parsed.  Adding it now.");
            //Reparse the whole solution - TODO: can probably optomize this.
            Solution = new NRefactory.Solution(Solution.FullName);

            project = GetProjectByFilePath(projectFilePath);

            if (null == project)
                throw new Exception(string.Format(
                    "Failed to load project [{0}].  Does it exist in Solution [{1}]",
                    projectFilePath, Solution.FileName));

            return project;
        }
示例#5
0
 public CSharpFile(CSharpProject project, string fileName)
     : this(project, fileName, File.ReadAllText(fileName))
 {
 }
示例#6
0
 public CSharpFile(CSharpProject project, string fileName)
     : this(project, fileName, File.ReadAllText(fileName))
 {
 }