CA1824: Assemblys mit NeutralResourcesLanguageAttribute markieren.

Eigenschaft Wert
Regel-ID CA1824
Titel Assemblys mit NeutralResourcesLanguageAttribute markieren.
Kategorie Leistung
Fix führt oder führt nicht zur Unterbrechung Nicht unterbrechend
Standardmäßig in .NET 8 aktiviert Als Vorschlag

Ursache

Eine Assembly enthält eine RESX-basierte Ressource, auf die System.Resources.NeutralResourcesLanguageAttribute jedoch nicht angewendet wurde.

Regelbeschreibung

Das Attribut NeutralResourcesLanguageAttribute informiert den Ressourcen-Manager über die Standardkultur einer App. Wenn die Ressourcen der Standardkultur in die Hauptassembly der APP eingebettet sind und ResourceManager Ressourcen abrufen muss, die derselben Kultur angehören wie die Standardkultur, verwendet ResourceManager automatisch die Ressourcen, die sich in der Hauptassembly befinden, anstatt nach einer Satellitenassembly zu suchen. Dadurch wird der übliche Assemblytest umgangen, die Suchleistung für die erste Ressource, die Sie laden, verbessert und Ihr Arbeitspaket kann reduziert werden.

Tipp

Weitere Informationen zum Prozess, der von ResourceManager verwendet wird, um nach Dateiressourcen zu suchen, finden Sie unter Packen und Bereitstellen von Ressourcen.

Beheben von Verstößen

Um einen Verstoß gegen diese Regel zu beheben, fügen Sie der Assembly das Attribut hinzu, und geben Sie die Sprache der Ressourcen der neutralen Kultur an.

So geben Sie die neutrale Sprache für Ressourcen an

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt, und wählen Sie Eigenschaften aus.

  2. Wählen Sie die Registerkarte Paket aus.

    Hinweis

    Wenn es sich bei Ihrem Projekt um ein .NET Framework-Projekt handelt, wählen Sie die Registerkarte Anwendung und dann Assemblyinformationen aus.

  3. Wählen Sie für die Sprache in der Drop-down-Liste neutrale Sprache oder Assemblyneutrale Sprache aus.

  4. Klicken Sie auf OK.

Wann sollten Warnungen unterdrückt werden?

Eine Warnung, die auf dieser Regel basiert, darf unterdrückt werden. Die Startleistung kann jedoch beeinträchtigt werden. Um diese Warnung zu unterdrücken, fügen Sie Ihrer GLOBALCONFIG- oder EDITORCONFIG-Datei den Eintrag dotnet_diagnostic.CA1824.severity = none hinzu.

Unterdrücken einer Warnung

Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder zu aktivieren.

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

Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdatei auf none fest.

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

Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.

Siehe auch