ローカリゼーション:"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.AssemblyWrapperMicrosoft.Extensions.Localization.AssemblyWrapper となり、現在 internal になりました。
  • Microsoft.Extensions.Localization.Internal.IResourceStringProviderMicrosoft.Extensions.Localization.Internal.IResourceStringProvider となり、現在 internal になりました。
  • 次のいずれかのパラメーター型を取る Microsoft.Extensions.Localization.ResourceManagerStringLocalizer コンストラクター オーバーロードは、現在 internal になりました。
    • AssemblyWrapper
    • IResourceStringProvider

変更理由

詳細は、aspnet/Announcements#377 で説明していますが、"pubternal" 型が public API サーフェイスから削除されました。 これらの変更により、その設計判断により多くのクラスを順応させることができます。 問題のクラスは、チームの内部テストの拡張ポイントを意味していました。

可能性は低いですが、一部のアプリが意図的にまたは誤って "pubternal" 型に依存するようになっている場合があります。 この型から移行する方法については、「新しい動作」のセクションを参照してください。

この変更の前にはパブリックとして許可されていた API が、現在では許可されなくなったシナリオを特定した場合は、dotnet/aspnetcore にイシューを立ててください。

影響を受ける API