Migrate ResolveNativeReference to multithreaded execution
- Dominant language
- C#
- Stars
- 5.5k
- Forks
- 1.5k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 133
Description
## Background
`ResolveNativeReference` reads native manifest files referenced from a managed assembly and produces item lists for native references, content files, and TLBs. It uses the manifest reader infrastructure from `Microsoft.Build.Tasks.Deployment.ManifestUtilities`.
## Migration scope
- [ ] Apply `[MSBuildMultiThreadableTask]`
- [ ] Implement `IMultiThreadableTask`
- [ ] Absolutize paths via `TaskEnvironment.GetAbsolutePath()` for: NativeReferences items (manifest path), AdditionalSearchPaths, every `fileref.ResolvedPath` consumed before File system probes
- [ ] Use `TaskEnvironment.GetEnvironmentVariable()` for: N/A
- [ ] Use `TaskEnvironment.GetProcessStartInfo()` for: N/A
## Known complexity factors
- Delegates manifest parsing to internal `Manifest`/`AssemblyIdentity` types that internally do file I/O — propagate absolute paths
- Multiple `[Output]` ItemGroups (ContainingReferenceFiles, ContainedPrerequisiteAssemblies, ContainedComComponents, ContainedTypeLibraries, ContainedLooseTlbFiles, ContainedLooseEtcFiles) populated from manifest-resolved paths — keep original spec where exposed (Sin 1)
- Windows-only / NETFRAMEWORK-leaning feature
## Exit criteria
- [ ] Build clean, no new warnings
- [ ] Existing tests pass
- [ ] No regression in error message paths (Sin 2 audit)
- [ ] No leakage of absolutized paths into [Output] properties (Sin 1 audit)
## References
- Parent: #11834
- Migration skill: .github/skills/multithreaded-task-migration/SKILL.md
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.