本地化:已删除“Pubternal”API
为更好地维护 ASP.NET Core 的 public API 面,已删除部分 "pubternal" 本地化 API。 "pubternal" API 具有 public
访问修饰符,在指示 internal 意向的命名空间中定义。
有关讨论,请参阅 dotnet/aspnetcore#22291。
引入的版本
5.0 预览版 6
旧行为
以下 API 是 public
:
Microsoft.Extensions.Localization.Internal.AssemblyWrapper
Microsoft.Extensions.Localization.Internal.IResourceStringProvider
Microsoft.Extensions.Localization.ResourceManagerStringLocalizer
构造函数重载,接受以下参数类型之一:AssemblyWrapper
IResourceStringProvider
新行为
以下列表概述了更改:
Microsoft.Extensions.Localization.Internal.AssemblyWrapper
变成了Microsoft.Extensions.Localization.AssemblyWrapper
,现在是internal
。Microsoft.Extensions.Localization.Internal.IResourceStringProvider
变成了Microsoft.Extensions.Localization.Internal.IResourceStringProvider
,现在是internal
。Microsoft.Extensions.Localization.ResourceManagerStringLocalizer
构造函数重载,接受以下参数类型之一,现在是internal
:AssemblyWrapper
IResourceStringProvider
更改原因
aspnet/Announcements#377 中有更多全面的解释,从 public
API 面中删除了 "pubternal" 类型。 这些更改可使更多类适应该设计决策。 上述类用作了团队内部测试的扩展点。
建议操作
尽管不太可能,但某些应用可能有意或无意地依赖 "pubternal" 类型。 请参阅新行为部分,确定如何从类型中进行迁移。
如果你已确定方案,且该方案在此更改之前允许公共 API 但现在不允许,则请在 dotnet/aspnetcore 上提交问题。
受影响的 API
Microsoft.Extensions.Localization.Internal.AssemblyWrapper
Microsoft.Extensions.Localization.Internal.IResourceStringProvider
- ResourceManagerStringLocalizer.ResourceManagerStringLocalizer
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈