public static ProjectSnapshot Create(string projectDirectory, string configuration, DesignTimeWorkspace workspaceContext, IReadOnlyList <string> previousSearchPaths, bool clearWorkspaceContextCache) { var projectContextsCollection = workspaceContext.GetProjectContextCollection(projectDirectory, clearWorkspaceContextCache); if (!projectContextsCollection.ProjectContexts.Any()) { throw new InvalidOperationException($"Unable to find project.json in '{projectDirectory}'"); } GlobalSettings globalSettings; var currentSearchPaths = projectContextsCollection.Project.ResolveSearchPaths(out globalSettings); var snapshot = new ProjectSnapshot(); snapshot.Project = projectContextsCollection.Project; snapshot.ProjectDiagnostics = new List <DiagnosticMessage>(projectContextsCollection.ProjectDiagnostics); snapshot.ProjectSearchPaths = currentSearchPaths.ToList(); snapshot.GlobalJsonPath = globalSettings?.FilePath; foreach (var projectContext in projectContextsCollection.FrameworkOnlyContexts) { snapshot.ProjectContexts[projectContext.TargetFramework] = ProjectContextSnapshot.Create(projectContext, configuration, previousSearchPaths); } return(snapshot); }
public ConnectionContext(Socket acceptedSocket, string hostName, ProtocolManager protocolManager, DesignTimeWorkspace workspaceContext, IDictionary <int, ProjectManager> projects) { _hostName = hostName; _projects = projects; _queue = new ProcessingQueue(new NetworkStream(acceptedSocket)); _queue.OnReceive += message => { if (protocolManager.IsProtocolNegotiation(message)) { message.Sender = this; protocolManager.Negotiate(message); } else { message.Sender = this; ProjectManager projectManager; if (!_projects.TryGetValue(message.ContextId, out projectManager)) { projectManager = new ProjectManager(message.ContextId, workspaceContext, protocolManager); _projects[message.ContextId] = projectManager; } projectManager.OnReceive(message); } }; }
public static ProjectSnapshot Create(string projectDirectory, string configuration, DesignTimeWorkspace workspaceContext, IReadOnlyList<string> previousSearchPaths, bool clearWorkspaceContextCache) { var projectContextsCollection = workspaceContext.GetProjectContextCollection(projectDirectory, clearWorkspaceContextCache); if (!projectContextsCollection.ProjectContexts.Any()) { throw new InvalidOperationException($"Unable to find project.json in '{projectDirectory}'"); } GlobalSettings globalSettings; var currentSearchPaths = projectContextsCollection.Project.ResolveSearchPaths(out globalSettings); var snapshot = new ProjectSnapshot(); snapshot.Project = projectContextsCollection.Project; snapshot.ProjectDiagnostics = new List<DiagnosticMessage>(projectContextsCollection.ProjectDiagnostics); snapshot.ProjectSearchPaths = currentSearchPaths.ToList(); snapshot.GlobalJsonPath = globalSettings?.FilePath; foreach (var projectContext in projectContextsCollection.FrameworkOnlyContexts) { snapshot.ProjectContexts[projectContext.TargetFramework] = ProjectContextSnapshot.Create(projectContext, configuration, previousSearchPaths); } return snapshot; }
public ConnectionContext(Socket acceptedSocket, string hostName, ProtocolManager protocolManager, DesignTimeWorkspace workspaceContext, IDictionary<int, ProjectManager> projects) { _hostName = hostName; _projects = projects; _queue = new ProcessingQueue(new NetworkStream(acceptedSocket)); _queue.OnReceive += message => { if (protocolManager.IsProtocolNegotiation(message)) { message.Sender = this; protocolManager.Negotiate(message); } else { message.Sender = this; ProjectManager projectManager; if (!_projects.TryGetValue(message.ContextId, out projectManager)) { projectManager = new ProjectManager(message.ContextId, workspaceContext, protocolManager); _projects[message.ContextId] = projectManager; } projectManager.OnReceive(message); } }; }
public ProjectModelServerCommand(int port, string hostName) { _port = port; _hostName = hostName; _protocolManager = new ProtocolManager(maxVersion: 4); _workspaceContext = new DesignTimeWorkspace(ProjectReaderSettings.ReadFromEnvironment()); _projects = new Dictionary<int, ProjectManager>(); }
public ProjectModelServerCommand(int port, string hostName) { _port = port; _hostName = hostName; _protocolManager = new ProtocolManager(maxVersion: 4); _workspaceContext = new DesignTimeWorkspace(ProjectReaderSettings.ReadFromEnvironment()); _projects = new Dictionary <int, ProjectManager>(); }
public ProjectManager( int contextId, DesignTimeWorkspace workspaceContext, ProtocolManager protocolManager) { Id = contextId; _workspaceContext = workspaceContext; _protocolManager = protocolManager; _messengers = new List <Messenger <ProjectContextSnapshot> > { new ReferencesMessenger(Transmit), new DependenciesMessenger(Transmit), new DependencyDiagnosticsMessenger(Transmit), new CompilerOptionsMessenger(Transmit), new SourcesMessenger(Transmit) }; _projectDiagnosticsMessenger = new ProjectDiagnosticsMessenger(Transmit); _globalErrorMessenger = new GlobalErrorMessenger(Transmit); _projectInforamtionMessenger = new ProjectInformationMessenger(Transmit); }