public Worker( HostWorkspaceServices services, DiagnosticReporter diagnosticReporter, PathResolver pathResolver, ProjectFileLoaderRegistry projectFileLoaderRegistry, ProjectBuildManager buildManager, ImmutableArray <string> requestedProjectPaths, string baseDirectory, ImmutableDictionary <string, string> globalProperties, ProjectMap projectMap, IProgress <ProjectLoadProgress> progress, DiagnosticReportingOptions requestedProjectOptions, DiagnosticReportingOptions discoveredProjectOptions, bool preferMetadataForReferencesOfDiscoveredProjects) { _workspaceServices = services; _diagnosticReporter = diagnosticReporter; _pathResolver = pathResolver; _projectFileLoaderRegistry = projectFileLoaderRegistry; _buildManager = buildManager; _baseDirectory = baseDirectory; _requestedProjectPaths = requestedProjectPaths; _globalProperties = globalProperties; _projectMap = projectMap ?? ProjectMap.Create(); _progress = progress; _requestedProjectOptions = requestedProjectOptions; _discoveredProjectOptions = discoveredProjectOptions; _preferMetadataForReferencesOfDiscoveredProjects = preferMetadataForReferencesOfDiscoveredProjects; _projectIdToFileInfoMap = new Dictionary <ProjectId, ProjectFileInfo>(); _pathToDiscoveredProjectInfosMap = new Dictionary <string, ImmutableArray <ProjectInfo> >(PathUtilities.Comparer); _projectIdToProjectReferencesMap = new Dictionary <ProjectId, List <ProjectReference> >(); }
private MSBuildWorkspace( HostServices hostServices, ImmutableDictionary <string, string> properties) : base(hostServices, WorkspaceKind.MSBuild) { _reporter = new DiagnosticReporter(this); _projectFileLoaderRegistry = new ProjectFileLoaderRegistry(Services, _reporter); _loader = new MSBuildProjectLoader(Services, _reporter, _projectFileLoaderRegistry, properties); }
internal MSBuildProjectLoader( HostWorkspaceServices workspaceServices, DiagnosticReporter diagnosticReporter, ProjectFileLoaderRegistry projectFileLoaderRegistry, ImmutableDictionary <string, string> properties) { _workspaceServices = workspaceServices; _diagnosticReporter = diagnosticReporter; _pathResolver = new PathResolver(_diagnosticReporter); _projectFileLoaderRegistry = projectFileLoaderRegistry ?? new ProjectFileLoaderRegistry(workspaceServices, _diagnosticReporter); _properties = ImmutableDictionary.Create <string, string>(StringComparer.OrdinalIgnoreCase); if (properties != null) { _properties = _properties.AddRange(properties); } }