dotnet / dotnet/msbuild

Ship the MSBuild task-authoring analyzers

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

Description

The MT task analyzer (which validates that multi-threaded tasks follow correct patterns like using `AbsolutePath` instead of `Path.GetFullPath`, avoiding static state, etc.) currently exists in the MSBuild repo but is not published as a consumable NuGet package. External teams (e.g., SDK) cannot easily use it to validate their task migrations.

## Steps

- [x] Publish to the internal feed as a NuGet package for early adopters [size XS]
- [x] [#14990](https://github.com/dotnet/msbuild/issues/14990) [#14991](https://github.com/dotnet/msbuild/issues/14991) [#14971](https://github.com/dotnet/msbuild/issues/14971) [#14979](https://github.com/dotnet/msbuild/issues/14979) Settle diagnostic scope, clear false positives, update msbuild docs [size L]
- [ ] Adopt in MSBuild, VMR and Arcade, improving detections from what real usage surfaces [size M]
- [ ] Ship publicly with `Microsoft.Build.Framework` [size XS] [Milestone: version 18.12]

## Stakeholders

Task authors in dotnet/sdk, dotnet/nuget, dotnet/roslyn, dotnet/arcade and the VMR, plus task authors referencing latest `Microsoft.Build.Framework`.

## Definition of done

A task author referencing `Microsoft.Build.Framework` gets the analyzer automatically, with a default scope that raises no new build-breaking diagnostics on non-MT tasks, documented configuration to opt in to full migration analysis, no known P1 false positives, and VMR and Arcade building against it.

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.