CA1824: следует помечать сборки атрибутом NeutralResourcesLanguageAttribute
Свойство | Значение |
---|---|
Идентификатор правила | CA1824 |
Заголовок | Помечайте сборки с помощью NeutralResourcesLanguageAttribute |
Категория | Производительность |
Исправление является критическим или не критическим | Не критическое |
Включен по умолчанию в .NET 8 | Как предложение |
Причина
Сборка содержит ресурс на основе ResX, но System.Resources.NeutralResourcesLanguageAttribute не применен.
Описание правила
Атрибут NeutralResourcesLanguageAttribute сообщает диспетчеру ресурсов о языке и региональных параметрах приложения по умолчанию. Если ресурсы языка и региональных параметров по умолчанию внедряются в основную сборку приложения и ResourceManager должен извлекать ресурсы, принадлежащие тому же языку и региональным параметрам по умолчанию, ResourceManager автоматически использует ресурсы, расположенные в основной сборке, вместо поиска вспомогательной сборки. Это позволяет обойти обычную проверку сборки, улучшить производительность поиска для первого загружаемого ресурса, а также сократить рабочий набор.
Совет
В разделе Упаковка и развертывание ресурсов описан процесс, который ResourceManager использует для поиска файлов ресурсов.
Устранение нарушений
Чтобы устранить нарушение для этого правила, добавьте атрибут в сборку и укажите нейтральный язык и региональные параметры для ресурса.
Указание нейтрального языка для ресурсов
В обозревателе решений щелкните проект правой кнопкой мыши и выберите Свойства.
Перейдите на вкладку Package (Пакет).
Примечание.
Если вы используете проект .NET Framework, перейдите на вкладку Приложение и выберите Сведения о сборке.
Выберите язык из раскрывающегося списка Нейтральный язык или Нейтральный язык сборки.
Нажмите ОК.
Когда лучше отключить предупреждения
Вы можете скрыть предупреждение, связанное с этим правилом. Однако производительность запуска может снизиться. Чтобы отключить это предупреждение, добавьте 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
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.