CA1824: Contrassegnare gli assembly con NeutralResourcesLanguageAttribute

Proprietà valore
ID regola CA1824
Title Contrassegnare gli assembly con NeutralResourcesLanguageAttribute
Categoria Prestazioni
Correzione che causa un'interruzione o un'interruzione Nessuna interruzione
Abilitato per impostazione predefinita in .NET 8 Come suggerimento

Causa

Un assembly contiene una risorsa basata su ResX ma non ha l'oggetto System.Resources.NeutralResourcesLanguageAttribute applicato.

Descrizione regola

L'attributo NeutralResourcesLanguageAttribute informa il gestore risorse delle impostazioni cultura predefinite di un'app. Se le risorse delle impostazioni cultura predefinite sono incorporate nell'assembly principale dell'app e ResourceManager devono recuperare le risorse che appartengono alle stesse impostazioni cultura delle impostazioni cultura predefinite, usa ResourceManager automaticamente le risorse presenti nell'assembly principale anziché cercare un assembly satellite. Questo ignora il normale probe di assembly, migliora le prestazioni di ricerca per la prima risorsa caricata e può ridurre il working set.

Suggerimento

Vedere Creare un pacchetto e distribuire le risorse per il processo usato ResourceManager per eseguire il probe dei file di risorse.

Correggere le violazioni

Per correggere una violazione di questa regola, aggiungere l'attributo all'assembly e specificare la lingua delle risorse delle impostazioni cultura neutre.

Per specificare la lingua neutra per le risorse

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e quindi scegliere Proprietà.

  2. Selezionare la scheda Pacchetto.

    Nota

    Se il progetto è un progetto .NET Framework, selezionare la scheda Applicazione e quindi selezionare Informazioni assembly.

  3. Selezionare la lingua dall'elenco a discesa Lingua neutra o Lingua indipendente dall'assembly.

  4. Seleziona OK.

Quando eliminare gli avvisi

È consentito eliminare un avviso da questa regola. Tuttavia, le prestazioni di avvio potrebbero peggiorare. Per eliminare questo avviso, aggiungere dotnet_diagnostic.CA1824.severity = none al file con estensione globalconfig o editorconfig .

Eliminare un avviso

Se si vuole eliminare una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.

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

Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità none su nel file di configurazione.

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

Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.

Vedi anche