private void HandleMSBuildProject(
            object context,
            IProjectContextProvider contextProvider,
            HashSet <ProjectInfo> added,
            HashSet <string> seen
            )
        {
            var projContext = context as MSBuild.Project;

            if (projContext == null)
            {
                var projectFile = context as string;
                if (projectFile != null && projectFile.EndsWith(".pyproj", StringComparison.OrdinalIgnoreCase))
                {
                    projContext = new MSBuild.Project(projectFile);
                }
            }

            if (projContext != null)
            {
                if (!_projects.ContainsKey(projContext.FullPath))
                {
                    var projInfo = new MSBuildProjectInfo(projContext, projContext.FullPath, contextProvider);
                    _projects[projContext.FullPath] = projInfo;
                    added.Add(projInfo);
                }
                seen.Add(projContext.FullPath);
            }
        }
            private static ProjectInfo CreateFromMSBuildProject(object context, IProjectContextProvider contextProvider)
            {
                var projContext = context as MSBuild.Project;

                if (projContext == null)
                {
                    var projectFile = context as string;
                    if (projectFile != null && projectFile.EndsWith(".pyproj", StringComparison.OrdinalIgnoreCase))
                    {
                        projContext = new MSBuild.Project(projectFile);
                    }
                }

                if (projContext != null)
                {
                    return(new MSBuildProjectInfo(projContext, contextProvider));
                }
                return(null);
            }
            static public ProjectInfo CreateFromProjectContext(object context, IProjectContextProvider contextProvider)
            {
                if (!_skipMSBuild)
                {
                    try {
                        var msBuild = CreateFromMSBuildProject(context, contextProvider);
                        if (msBuild != null)
                        {
                            return(msBuild);
                        }
                    } catch (FileNotFoundException) {
                        _skipMSBuild = true;
                    }
                }

                var inMemory = context as InMemoryProject;

                if (inMemory != null)
                {
                    return(new InMemoryProjectInfo(inMemory, contextProvider));
                }

                return(null);
            }
 public MSBuildProjectInfo(MSBuild.Project project, string filename, IProjectContextProvider context) : base(filename, context)
 {
     Project = project;
 }
 protected ProjectInfo(IProjectContextProvider context)
 {
     ContextProvider = context;
 }
예제 #6
0
 public InMemoryProjectInfo(InMemoryProject project, string filename, IProjectContextProvider context)
     : base(filename, context)
 {
     Project = project;
 }
 public InMemoryProjectInfo(InMemoryProject project, IProjectContextProvider contextProvider)
     : base(contextProvider)
 {
     _project = project;
 }
            static public ProjectInfo CreateFromProjectContext(object context, IProjectContextProvider contextProvider) {
                if (!_skipMSBuild) {
                    try {
                        var msBuild = CreateFromMSBuildProject(context, contextProvider);
                        if (msBuild != null) {
                            return msBuild;
                        }
                    } catch (FileNotFoundException) {
                        _skipMSBuild = true;
                    }
                }

                var inMemory = context as InMemoryProject;
                if (inMemory != null) {
                    return new InMemoryProjectInfo(inMemory, contextProvider);
                }

                return null;
            }
 protected ProjectInfo(IProjectContextProvider context) {
     ContextProvider = context;
 }
 public InMemoryProjectInfo(InMemoryProject project, IProjectContextProvider contextProvider) 
     : base(contextProvider) {
     _project = project;
 }
            private static ProjectInfo CreateFromMSBuildProject(object context, IProjectContextProvider contextProvider) {
                var projContext = context as MSBuild.Project;
                if (projContext == null) {
                    var projectFile = context as string;
                    if (projectFile != null && projectFile.EndsWith(".pyproj", StringComparison.OrdinalIgnoreCase)) {
                        projContext = new MSBuild.Project(projectFile);
                    }
                }

                if (projContext != null) {
                    return new MSBuildProjectInfo(projContext, contextProvider);
                }
                return null;
            }
 public MSBuildProjectInfo(MSBuild.Project project, IProjectContextProvider contextProvider) 
     : base(contextProvider) {
     _project = project;
 }
예제 #13
0
 public ProjectInfo(string filename, IProjectContextProvider context)
 {
     FullPath = filename;
     ContextProvider = context;
 }
예제 #14
0
 public MSBuildProjectInfo(MSBuild.Project project, string filename, IProjectContextProvider context)
     : base(filename, context)
 {
     Project = project;
 }
 public InMemoryProjectInfo(InMemoryProject project, string filename, IProjectContextProvider context) : base(filename, context)
 {
     Project = project;
 }
 public MSBuildProjectInfo(MSBuild.Project project, IProjectContextProvider contextProvider)
     : base(contextProvider)
 {
     _project = project;
 }
 public ProjectInfo(string filename, IProjectContextProvider context)
 {
     FullPath        = filename;
     ContextProvider = context;
 }
예제 #18
0
        private void HandleMSBuildProject(
            object context,
            IProjectContextProvider contextProvider,
            HashSet<ProjectInfo> added,
            HashSet<string> seen
            )
        {
            var projContext = context as MSBuild.Project;
            if (projContext == null) {
                var projectFile = context as string;
                if (projectFile != null && projectFile.EndsWith(".pyproj", StringComparison.OrdinalIgnoreCase)) {
                    projContext = new MSBuild.Project(projectFile);
                }
            }

            if (projContext != null) {
                if (!_projects.ContainsKey(projContext.FullPath)) {
                    var projInfo = new MSBuildProjectInfo(projContext, projContext.FullPath, contextProvider);
                    _projects[projContext.FullPath] = projInfo;
                    added.Add(projInfo);
                }
                seen.Add(projContext.FullPath);
            }
        }