Localisation : API « Pubternal » supprimées

Pour mieux gérer la surface d’API publique de ASP.NET Core, certaines API de localisation "pubternal" ont été supprimées. Une API "pubternal" a un modificateur d’accèspublic et est définie dans un espace de noms qui implique une intention interne.

Pour plus d’informations, consultez dotnet/aspnetcore#22291.

Version introduite

5.0 Préversion 6

Ancien comportement

Les API suivantes étaient public :

  • Microsoft.Extensions.Localization.Internal.AssemblyWrapper
  • Microsoft.Extensions.Localization.Internal.IResourceStringProvider
  • Surcharges de constructeur Microsoft.Extensions.Localization.ResourceManagerStringLocalizer acceptant l’un des types de paramètres suivants :
    • AssemblyWrapper
    • IResourceStringProvider

Nouveau comportement

La liste suivante présente les changements :

  • Microsoft.Extensions.Localization.Internal.AssemblyWrapper est devenu Microsoft.Extensions.Localization.AssemblyWrapper et est maintenant internal.
  • Microsoft.Extensions.Localization.Internal.IResourceStringProvider est devenu Microsoft.Extensions.Localization.Internal.IResourceStringProvider et est maintenant internal.
  • Les surcharges de constructeur Microsoft.Extensions.Localization.ResourceManagerStringLocalizer acceptant l’un des types de paramètres suivants, sont désormais internal :
    • AssemblyWrapper
    • IResourceStringProvider

Raison du changement

Expliqué plus en détail dans aspnet/Announcements#377, les types "pubternal" ont été supprimés de la surface de l’API public. Ces changements adaptent davantage de classes à cette décision de conception. Les classes en question étaient destinées à servir de points d’extension pour les tests internes de l’équipe.

Bien qu’il soit peu probable, certaines applications peuvent intentionnellement ou accidentellement dépendre des types "pubternal". Consultez les sections Nouveau comportement pour déterminer comment migrer hors des types.

Si vous avez identifié un scénario autorisé par l’API publique avant ce changement, mais pas maintenant, créez un problème sur dotnet/aspnetcore.

API affectées