dotnet/roslyn
View on GitHubAllow PublicApiAnalyzers to track internal APIs with `[Internal]` prefix
Closed
#79,658 opened on Jul 29, 2025
Area-AnalyzersArea-IDEhelp wanted
Repository metrics
- Stars
- (20,414 stars)
- PR merge metrics
- (Avg merge 6d 17h) (256 merged PRs in 30d)
Description
Tracking internal APIs can be useful in cases where IVT is used and compatibility between different versions of components is required.
For example:
Project1has a ProjectReference toProject2.Project2exposes IVT toProject1- Both projects produce NuGet packages
- If I make a change in internal API in
Project2that is called byProject1, that means a binary incompatibility is introduced.
Suggestion: all internal APIs, unless annotated with EmbeddedAttribute, can be tracked as an opt-in feature.
That way, Project2 is forced to add EmbeddedAttribute when not intended to be used by IVT, and otherwise breaking changes can be tracked more easily.