dotnet / dotnet/msbuild

Consider tree-shaking for APIs banned from tasks

Open
#14,843 0 comments 0 reactions 0 assignees View on GitHub
Area: Analyzer Priority:2 triaged
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 8h
Merged PRs (30d)
141

Description

The MSBuild Task analyzer looks for a set of known-bad APIs in tasks (and helper methods) marked as multithreading-compatible. However as a Roslyn analyzer it sees only the current compilation (DLL), and source code/method calls for referenced DLLs is not easily visible.

It might be interesting to use some of the reference trimming/tree-shaking implementations used for AOT compilation to try to see if there are any paths to banned APIs in the referenced DLLs.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the MSBuild Task analyzer and reviewing how it checks banned APIs in the current compilation. Then investigate the reference-trimming or tree-shaking implementations used for AOT compilation and determine whether they can analyze referenced DLL paths; the issue names no files or tests, so done would require a concrete approach and coverage for referenced-code detection.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.