dotnet/roslyn
View on GitHubAllow PublicApiAnalyzers to track internal APIs with `[Internal]` prefix
Open
#79658 opened on Jul 29, 2025
Area-AnalyzersArea-IDEhelp wanted
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.