Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Introduce ProjectManager class to manage MSBuild project files
This is a pretty substantial change that reworks the core logic of the MSBuild project system to enable an important scenario: updating a project when several files change in quick succession. In order to fix an issue with OmniSharp not reloading and updating a project in response to a 'dotnet restore', we must watch four files that might be touched during a restore: * project.asset.json * <project-file>.nuget.cache * <project-file>.nuget.g.props * <project-file>.nuget.g.targets To ensure that we don't reload and update a project multiple times in response to multiple file changes, this PR introduces a simple queue and processing loop using a TPL DataFlow BufferBlock.
- Loading branch information