Localizzazione: API "Pubternal" rimosse

Per mantenere meglio la superficie dell'API pubblica di ASP.NET Core, alcune API di localizzazione "pubternal" sono state rimosse. Un'API "pubternal" ha un modificatore di accesso public ed è definito in uno spazio dei nomi che implica una finalità interna.

Per informazioni, consultare dotnet/aspnetcore#22291.

Versione introdotta

5.0 Preview 6

Comportamento precedente

Le API seguenti sono: public

  • Microsoft.Extensions.Localization.Internal.AssemblyWrapper
  • Microsoft.Extensions.Localization.Internal.IResourceStringProvider
  • Microsoft.Extensions.Localization.ResourceManagerStringLocalizer overload del costruttore che accettano uno dei tipi di parametro seguenti:
    • AssemblyWrapper
    • IResourceStringProvider

Nuovo comportamento

Nell'elenco seguente vengono illustrate le modifiche:

  • Microsoft.Extensions.Localization.Internal.AssemblyWrapper è diventato Microsoft.Extensions.Localization.AssemblyWrapper ed è ora internal.
  • Microsoft.Extensions.Localization.Internal.IResourceStringProvider è diventato Microsoft.Extensions.Localization.Internal.IResourceStringProvider ed è ora internal.
  • Microsoft.Extensions.Localization.ResourceManagerStringLocalizer overload del costruttore che accettano uno dei tipi di parametro seguenti sono ora internal:
    • AssemblyWrapper
    • IResourceStringProvider

Motivo della modifica

Spiegata in modo più approfondito aspnet/Announcements#377, i tipi di "pubternal" sono stati rimossi dalla superficie API public. Queste modifiche adattano più classi a tale decisione di progettazione. Le classi in questione sono state concepite come punti di estensione per i test interni del team.

Anche se è improbabile, alcune app possono dipendere intenzionalmente o accidentalmente dai tipi "pubternal". Consultare le sezioni Nuovo comportamento per determinare come eseguire la migrazione dai tipi.

Se è stato identificato uno scenario che l'API pubblica ha permesso prima di questa modifica, ma non ora, è necessario archiviare un problema su dotnet/aspnetcore.

API interessate