Локализация: "Pubternal" API удалены

Чтобы сохранить порядок в среде общедоступных API на платформе ASP.NET Core, некоторые API локализации "pubternal" были удалены. API "pubternal" имеет модификатор доступа 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, типы "pubternal" были удалены из области API public. В соответствии с этими изменениями в процесс разработки можно включить больше классов. Рассматриваемые классы предназначались для использования в качестве точек расширения для внутреннего тестирования команды.

Хотя это маловероятно, некоторые приложения могут намеренно или случайно зависеть от типов "pubternal". Сведения о переходе с конкретных типов см. в разделах Новое поведение.

Если возникла ситуация, в которой общедоступный API можно было использовать до этого изменения, а сейчас нельзя, разместите вопрос о проблеме на странице dotnet/aspnetcore.

Затронутые API