Бөлісу құралы:


CA1824: следует помечать сборки атрибутом NeutralResourcesLanguageAttribute

Свойство Значение
Идентификатор правила CA1824
Заголовок Помечайте сборки с помощью NeutralResourcesLanguageAttribute
Категория Производительность
Исправление является критическим или не критическим неразрывный
Включен по умолчанию в .NET 10 Как предложение
Применимые языки C# и Visual Basic

Причина

Сборка содержит ресурс на основе ResX, но к нему не применено System.Resources.NeutralResourcesLanguageAttribute.

Описание правила

Атрибут NeutralResourcesLanguageAttribute сообщает менеджеру ресурсов о культуре приложения по умолчанию. Если ресурсы культуры по умолчанию встраиваются в основную сборку приложения, и ResourceManager должен извлекать ресурсы, принадлежащие той же культуре, что и культура по умолчанию, ResourceManager автоматически использует ресурсы, находящиеся в основной сборке, вместо поиска сателлитной сборки. Это позволяет обойти обычную проверку сборки, улучшить производительность поиска для первого загружаемого ресурса, а также сократить рабочий набор.

Совет

В разделе Упаковка и развертывание ресурсов описан процесс, который ResourceManager использует для поиска файлов ресурсов.

Устранение нарушений

Чтобы устранить нарушение этого правила, добавьте атрибут в сборку и укажите язык ресурсов нейтральной культуры.

Указание нейтрального языка для ресурсов

  1. В обозревателе решений щелкните проект правой кнопкой мыши и выберите Свойства.

  2. Перейдите на вкладку Package (Пакет).

    Примечание.

    Если вы используете проект .NET Framework, перейдите на вкладку Приложение и выберите Сведения о сборке.

  3. Выберите язык из раскрывающегося списка Нейтральный язык или Нейтральный язык сборки.

  4. Нажмите ОК.

Когда лучше отключить предупреждения

Вы можете скрыть предупреждение, связанное с этим правилом. Однако производительность запуска может снизиться. Чтобы отключить это предупреждение, добавьте dotnet_diagnostic.CA1824.severity = none в файл .globalconfig или .editorconfig.

Отключение предупреждений

Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.

#pragma warning disable CA1824
// The code that's violating the rule is on this line.
#pragma warning restore CA1824

Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации.

[*.{cs,vb}]
dotnet_diagnostic.CA1824.severity = none

Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.

См. также