Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cache results of ResolveTargetingPackAssets across builds (#19570)
Uses MSBuild's RegisteredTaskObject machinery to cache (for the lifetime of the process) the results of resolving targeting pack assets. This task runs on every build because it must produce items to populate @(Reference), but its output basically never changes since the targeting packs are static. The caching is two-layered: 1. Cache the parsing of the targeting pack (FrameworkList.xml and friends) so that those files need to be read only once per MSBuild worker node per build. 2. Cache the full results of the task, including deduplication in the case of multiple targeting packs. Refactored the task to use strongly-typed objects to ensure that the relevant data is hashed, instead of pulling from stringly-typed item metadata. Fixes #19282.
- Loading branch information