dotnet/roslyn

Allow PublicApiAnalyzers to track internal APIs with `[Internal]` prefix

Closed

#79.658 geöffnet am 29. Juli 2025

Auf GitHub ansehen
 (1 Kommentar) (1 Reaktion) (0 zugewiesene Personen)C# (4.257 Forks)batch import
Area-AnalyzersArea-IDEhelp wanted

Repository-Metriken

Stars
 (20.414 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 6T 17h) (256 gemergte PRs in 30 T)

Beschreibung

Tracking internal APIs can be useful in cases where IVT is used and compatibility between different versions of components is required.

For example:

  • Project1 has a ProjectReference to Project2.
  • Project2 exposes IVT to Project1
  • Both projects produce NuGet packages
  • If I make a change in internal API in Project2 that is called by Project1, 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.

Contributor Guide