Lokalisierung: „Pubternal“-APIs entfernt
Einige "pubternal"-Lokalisierungs-APIs wurden entfernt, um die öffentliche API-Oberfläche von ASP.NET Core besser verwalten zu können. Eine "pubternal"-API verfügt über einen public
-Zugriffsmodifizierer und wird in einem Namespace definiert, der eine internal-Absicht impliziert.
Weitere Informationen finden Sie unter dotnet/aspnetcore#22291.
Eingeführt in Version
Version 5.0 Vorschau 6
Altes Verhalten
Die folgenden APIs waren public
:
Microsoft.Extensions.Localization.Internal.AssemblyWrapper
Microsoft.Extensions.Localization.Internal.IResourceStringProvider
Microsoft.Extensions.Localization.ResourceManagerStringLocalizer
-Konstruktorüberladungen, die einen der folgenden Parametertypen akzeptieren:AssemblyWrapper
IResourceStringProvider
Neues Verhalten
In der folgenden Liste werden die Änderungen erläutert:
Microsoft.Extensions.Localization.Internal.AssemblyWrapper
wurdeMicrosoft.Extensions.Localization.AssemblyWrapper
und ist jetztinternal
.Microsoft.Extensions.Localization.Internal.IResourceStringProvider
wurdeMicrosoft.Extensions.Localization.Internal.IResourceStringProvider
und ist jetztinternal
.Microsoft.Extensions.Localization.ResourceManagerStringLocalizer
-Konstruktorüberladungen, die einen der folgenden Parametertypen akzeptieren, sind jetztinternal
:AssemblyWrapper
IResourceStringProvider
Grund für die Änderung
Die "pubternal"-Typen wurden aus der public
-API-Oberfläche entfernt. Ausführlichere Informationen finden Sie unter aspnet/Announcements#377. Mit diesen Änderungen werden mehr Klassen an diese Entwurfsentscheidung angepasst. Die betroffenen Klassen waren als Erweiterungspunkte für die internen Tests des Teams vorgesehen.
Empfohlene Aktion
Obwohl es unwahrscheinlich ist, können einige Apps absichtlich oder unabsichtlich von den "pubternal"-Typen abhängen. Lesen Sie den Abschnitt Neues Verhalten durch, um sich über die Migration weg von diesen Typen zu informieren.
In einem Szenario, in dem die öffentliche API vor dieser Änderung zulässig war, nun aber nicht mehr ist, melden Sie ein Issue auf dotnet/aspnetcore.
Betroffene APIs
Microsoft.Extensions.Localization.Internal.AssemblyWrapper
Microsoft.Extensions.Localization.Internal.IResourceStringProvider
- ResourceManagerStringLocalizer.ResourceManagerStringLocalizer