public ProjectManager(ILoggerFactory loggerFactory, MSBuildOptions options, IEventEmitter eventEmitter, IFileSystemWatcher fileSystemWatcher, MetadataFileReferenceCache metadataFileReferenceCache, PackageDependencyChecker packageDependencyChecker, ProjectLoader projectLoader, OmniSharpWorkspace workspace, ImmutableArray <IMSBuildEventSink> eventSinks) { _logger = loggerFactory.CreateLogger <ProjectManager>(); _options = options ?? new MSBuildOptions(); _eventEmitter = eventEmitter; _fileSystemWatcher = fileSystemWatcher; _metadataFileReferenceCache = metadataFileReferenceCache; _packageDependencyChecker = packageDependencyChecker; _projectFiles = new ProjectFileInfoCollection(); _failedToLoadProjectFiles = new HashSet <string>(StringComparer.OrdinalIgnoreCase); _projectsRequestedOnDemand = new ConcurrentDictionary <string, int>(StringComparer.OrdinalIgnoreCase); _projectLoader = projectLoader; _workspace = workspace; _eventSinks = eventSinks; _queue = new BufferBlock <ProjectToUpdate>(); _processLoopCancellation = new CancellationTokenSource(); _processLoopTask = Task.Run(() => ProcessLoopAsync(_processLoopCancellation.Token)); _onDirectoryFileChanged = OnDirectoryFileChanged; if (_options.LoadProjectsOnDemand) { _workspace.AddWaitForProjectModelReadyHandler(WaitForProjectModelReadyAsync); } }
public void Project_path_is_case_insensitive() { var projectPath = @"c:\projects\project1\project.csproj"; var searchProjectPath = @"c:\Projects\Project1\Project.csproj"; var collection = new ProjectFileInfoCollection(); collection.Add(ProjectFileInfo.CreateEmpty(projectPath)); Assert.True(collection.TryGetValue(searchProjectPath, out var outInfo)); Assert.NotNull(outInfo); }
public ProjectManager(ILoggerFactory loggerFactory, IEventEmitter eventEmitter, IFileSystemWatcher fileSystemWatcher, MetadataFileReferenceCache metadataFileReferenceCache, PackageDependencyChecker packageDependencyChecker, ProjectLoader projectLoader, OmniSharpWorkspace workspace) { _logger = loggerFactory.CreateLogger <ProjectManager>(); _eventEmitter = eventEmitter; _fileSystemWatcher = fileSystemWatcher; _metadataFileReferenceCache = metadataFileReferenceCache; _packageDependencyChecker = packageDependencyChecker; _projectFiles = new ProjectFileInfoCollection(); _projectLoader = projectLoader; _workspace = workspace; _queue = new BufferBlock <ProjectToUpdate>(); _processLoopCancellation = new CancellationTokenSource(); _processLoopTask = Task.Run(() => ProcessLoopAsync(_processLoopCancellation.Token)); }
public ProjectManager(ILoggerFactory loggerFactory, IEventEmitter eventEmitter, IFileSystemWatcher fileSystemWatcher, MetadataFileReferenceCache metadataFileReferenceCache, PackageDependencyChecker packageDependencyChecker, ProjectLoader projectLoader, OmniSharpWorkspace workspace, ImmutableArray <IMSBuildEventSink> eventSinks) { _logger = loggerFactory.CreateLogger <ProjectManager>(); _eventEmitter = eventEmitter; _fileSystemWatcher = fileSystemWatcher; _metadataFileReferenceCache = metadataFileReferenceCache; _packageDependencyChecker = packageDependencyChecker; _projectFiles = new ProjectFileInfoCollection(); _failedToLoadProjectFiles = new HashSet <string>(StringComparer.OrdinalIgnoreCase); _projectLoader = projectLoader; _workspace = workspace; _eventSinks = eventSinks; _queue = new BufferBlock <ProjectToUpdate>(); _processLoopCancellation = new CancellationTokenSource(); _processLoopTask = Task.Run(() => ProcessLoopAsync(_processLoopCancellation.Token)); _onDirectoryFileChanged = OnDirectoryFileChanged; }
public MSBuildProjectSystem( IOmniSharpEnvironment environment, OmniSharpWorkspace workspace, DotNetCliService dotNetCliService, MetadataFileReferenceCache metadataFileReferenceCache, IEventEmitter eventEmitter, IFileSystemWatcher fileSystemWatcher, ILoggerFactory loggerFactory) { _environment = environment; _workspace = workspace; _dotNetCli = dotNetCliService; _metadataFileReferenceCache = metadataFileReferenceCache; _eventEmitter = eventEmitter; _fileSystemWatcher = fileSystemWatcher; _loggerFactory = loggerFactory; _projects = new ProjectFileInfoCollection(); _projectsToProcess = new Queue <ProjectFileInfo>(); _logger = loggerFactory.CreateLogger <MSBuildProjectSystem>(); _packageDepedencyResolver = new PackageDependencyResolver(loggerFactory); }