ローカリゼーション:"Pubternal" API の削除
ASP.NET Core のパブリック API サーフェイスをより適切に維持するために、一部の "pubternal" ローカライズ API を削除しました。 "pubternal" API には、public
のアクセス修飾子があり、internal インテントを意味する名前空間に定義されています。
ディスカッションについては、dotnet/aspnetcore#22291 を参照してください。
導入されたバージョン
5.0 Preview 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 で説明していますが、"pubternal" 型が public
API サーフェイスから削除されました。 これらの変更により、その設計判断により多くのクラスを順応させることができます。 問題のクラスは、チームの内部テストの拡張ポイントを意味していました。
推奨アクション
可能性は低いですが、一部のアプリが意図的にまたは誤って "pubternal" 型に依存するようになっている場合があります。 この型から移行する方法については、「新しい動作」のセクションを参照してください。
この変更の前にはパブリックとして許可されていた API が、現在では許可されなくなったシナリオを特定した場合は、dotnet/aspnetcore にイシューを立ててください。
影響を受ける API
Microsoft.Extensions.Localization.Internal.AssemblyWrapper
Microsoft.Extensions.Localization.Internal.IResourceStringProvider
- ResourceManagerStringLocalizer.ResourceManagerStringLocalizer
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET