dotnet / dotnet/msbuild

Migrate multithreaded tasks to strongly typed path parameters across dotnet repositories

Open
#14,821 0 comments 0 reactions 1 assignee Claimed by @OvesN View on GitHub
Area: Tasks
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 8h
Merged PRs (30d)
141

Description

## Summary

Track the follow-up migration of path-like parameters on multithreaded MSBuild tasks to the strongly typed task parameter APIs introduced by dotnet/msbuild#13971:

- `string` / `string[]` path parameters to `AbsolutePath`, `FileInfo`, or `DirectoryInfo`
- `ITaskItem` / `ITaskItem[]` path parameters to `ITaskItem` / `ITaskItem[]`

This is separate from adding `[MSBuildMultiThreadableTask]` and `IMultiThreadableTask`: the tasks should first be safe for multithreaded execution, then their public parameter types can be migrated where compatibility permits.

## Blocked

Do not land migrations for task assemblies that can run under Visual Studio / .NET Framework MSBuild until:

1. dotnet/msbuild#14680 is resolved and the required fix is inserted into Visual Studio.
2. The consuming repository's minimum supported MSBuild host includes strongly typed task parameter binding (MSBuild 18.10 or newer).
3. The intended parameter types resolve successfully in cross-runtime `Runtime="NET"` task-host scenarios. A change that only replaces the #14680 crash with a diagnostic does not by itself make those parameter types usable.

Tasks guaranteed to run only with a matching .NET SDK/MSBuild host can be evaluated separately, but the lockstep host guarantee must be documented and tested.

## Repository tracking

- [ ] **dotnet/msbuild** — follow up the task inventory in #11834
- [ ] **dotnet/sdk** — follow up the task inventory in #11835
- [ ] **dotnet/roslyn** — follow up #14229
- [ ] **NuGet/NuGet.Client** — follow up #11836
- [ ] **dotnet/sourcelink** — follow up the completed multithreaded migration tracked by #14093
- [ ] Identify other dotnet repositories shipping MSBuild task assemblies and add repo-specific tracking

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.