Lokalisering: "Pubternal"-API:er har tagits bort
För att bättre underhålla den offentliga API-ytan för ASP.NET Core har vissa "pubternal" lokaliserings-API:er tagits bort. Ett "pubternal" API har en public
åtkomstmodifierare och definieras i ett namnområde som innebär en intern avsikt.
Diskussion finns i dotnet/aspnetcore#22291.
Version introducerad
5.0 Förhandsversion 6
Gammalt beteende
Följande API:er var public
:
Microsoft.Extensions.Localization.Internal.AssemblyWrapper
Microsoft.Extensions.Localization.Internal.IResourceStringProvider
Microsoft.Extensions.Localization.ResourceManagerStringLocalizer
konstruktorn överbelastar endera av följande parametertyper:AssemblyWrapper
IResourceStringProvider
Nytt beteende
I följande lista beskrivs ändringarna:
Microsoft.Extensions.Localization.Internal.AssemblyWrapper
blevMicrosoft.Extensions.Localization.AssemblyWrapper
och är nuinternal
.Microsoft.Extensions.Localization.Internal.IResourceStringProvider
blevMicrosoft.Extensions.Localization.Internal.IResourceStringProvider
och är nuinternal
.Microsoft.Extensions.Localization.ResourceManagerStringLocalizer
konstruktoröverlagringar som accepterar någon av följande parametertyper är nuinternal
:AssemblyWrapper
IResourceStringProvider
Orsak till ändringen
Mer ingående förklaras på aspnet/Announcements#377, "pubternal" typer har tagits bort från API-ytan public
. Dessa ändringar anpassar fler klasser till det designbeslutet. Klasserna i fråga var avsedda som tilläggspunkter för teamets interna testning.
Rekommenderad åtgärd
Även om det är osannolikt kan vissa appar avsiktligt eller av misstag vara beroende av typerna "pubternal" . Se avsnitten Nytt beteende för att avgöra hur du migrerar bort från typerna.
Om du har identifierat ett scenario som det offentliga API:et tillät före den här ändringen men inte gör det nu kan du skapa ett problem på dotnet/aspnetcore.
Berörda API:er
Microsoft.Extensions.Localization.Internal.AssemblyWrapper
Microsoft.Extensions.Localization.Internal.IResourceStringProvider
- ResourceManagerStringLocalizer.ResourceManagerStringLocalizer