Yerelleştirme: "Pubternal" API'leri kaldırıldı

ASP.NET Core'un genel API yüzeyini daha iyi korumak için bazı "pubternal" yerelleştirme API'leri kaldırıldı. API'nin "pubternal" erişim değiştiricisi vardır public ve bir iç amaç anlamına gelen bir ad alanında tanımlanır.

Tartışma için bkz . dotnet/aspnetcore#22291.

Sürüm kullanıma sunulmuştur

5.0 Önizleme 6

Eski davranış

Aşağıdaki API'ler şunlardır public:

  • Microsoft.Extensions.Localization.Internal.AssemblyWrapper
  • Microsoft.Extensions.Localization.Internal.IResourceStringProvider
  • Microsoft.Extensions.Localization.ResourceManagerStringLocalizer oluşturucu aşağıdaki parametre türlerinden birini kabul ederek aşırı yükler:
    • AssemblyWrapper
    • IResourceStringProvider

Yeni davranış

Aşağıdaki listede değişiklikler özetlenmiştir:

  • Microsoft.Extensions.Localization.Internal.AssemblyWrapper oldu Microsoft.Extensions.Localization.AssemblyWrapper ve şimdi internaloldu.
  • Microsoft.Extensions.Localization.Internal.IResourceStringProvider oldu Microsoft.Extensions.Localization.Internal.IResourceStringProvider ve şimdi internaloldu.
  • Microsoft.Extensions.Localization.ResourceManagerStringLocalizer aşağıdaki parametre türlerinden birini kabul eden oluşturucu aşırı yüklemeleri şu şekildedir internal:
    • AssemblyWrapper
    • IResourceStringProvider

Değişiklik nedeni

Aspnet/Announcements#377'de daha ayrıntılı bir şekilde açıklandı, "pubternal" türler API yüzeyinden public kaldırıldı. Bu değişiklikler, bu tasarım kararına daha fazla sınıf uyarlar. Söz konusu sınıflar, ekibin iç testi için uzantı noktaları olarak tasarlanmıştır.

Olası olmasa da, bazı uygulamalar kasıtlı olarak veya yanlışlıkla türlere "pubternal" bağımlı olabilir. Türlerden nasıl geçiş yapılacağını belirlemek için Yeni davranış bölümlerine bakın.

Genel API'nin bu değişiklik öncesinde izin verilen ancak şimdi izin verilmeyen bir senaryo belirlediyseniz dotnet/aspnetcore adresine bir sorun bildirin.

Etkilenen API’ler