Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le regole di qualità del codice dispongono di opzioni di configurazione aggiuntive, oltre alla semplice configurazione dei loro livelli di gravità. Ad esempio, ogni analizzatore della qualità del codice può essere configurato per l'applicazione solo a parti specifiche della codebase. È possibile specificare queste opzioni aggiungendo coppie chiave-valore allo stesso file EditorConfig in cui si specificano i livelli di gravità delle regole e le preferenze generali dell'editor.
Nota
Nel presente articolo non viene illustrato in dettaglio come configurare il livello di gravità di una regola. L'opzione .editorconfig per impostare la gravità di una regola ha un prefisso diverso (dotnet_diagnostic
) per le opzioni descritte qui (dotnet_code_quality
). Inoltre, le opzioni descritte di seguito riguardano solo le regole di qualità del codice, mentre l'opzione del livello di gravità si applica anche alle regole di stile del codice. Come riferimento rapido, è possibile configurare il livello di gravità di una regola usando la seguente sintassi di opzione:
dotnet_diagnostic.<rule ID>.severity = <severity value>
Tuttavia, per ricevere informazioni dettagliate sulla configurazione del livello di gravità delle regole, vedere la sezione Livello di gravità.
Ambiti di opzione
Ogni opzione di affinamento può essere configurata per tutte le regole, per una categoria di regole (ad esempio, Sicurezza o Progettazione) o per una regola specifica.
Tutte le regole
La sintassi per la configurazione di un'opzione per tutte le regole è la seguente:
Sintassi | Esempio |
---|---|
dotnet_code_quality.<OptionName> = <OptionValue> | dotnet_code_quality.api_surface = public |
I valori per <OptionName>
sono elencati in Opzioni.
Categoria di regole
La sintassi per la configurazione di un'opzione per una categoria di regole è la seguente:
Sintassi | Esempio |
---|---|
dotnet_code_quality.<RuleCategory>.<OptionName> = OptionValue | dotnet_code_quality.Naming.api_surface = public |
Nella tabella seguente vengono illustrati i modelli disponibili per <RuleCategory>
.
Design
Documentation
Globalization
Interoperability
Maintainability
Naming
Performance
SingleFile
Reliability
Security
Usage
Regola specifica
La sintassi per la configurazione di un'opzione per una regola specifica è la seguente:
Sintassi | Esempio |
---|---|
dotnet_code_quality.<RuleId>.<OptionName> = <OptionValue> | dotnet_code_quality.CA1040.api_surface = public |
Opzioni
Questa sezione elenca le opzioni di configurazione disponibili per gli analizzatori del codice. Per altre informazioni, vedere configurazione dell'analizzatore .
- nomi_enumerazione_nessuno_addizionale
- nomi_simbolo_esclusi_eredità_aggiuntiva
- interfacce_generiche_richieste_aggiuntive
- suffissi_aggiuntivi_richiesti
- metodi_risultati_uso_aggiuntivi
- metodi aggiuntivi di formattazione delle stringhe
- allowed_suffixes
- analyzed_symbol_kinds
- api_surface
- presupponi_metodo_enumera_parametri
- opzioni di analisi dei flussi di dati
- nomi_simboli_non_permessi
- abilita_analizzatore_piattaforma_su_obiettivi_pre_net5
- enum_values_prefix_trigger
- metodi_di_enumerazione
- exclude_aspnet_core_mvc_controllerbase
- escludi_tipi_base_indiretti
- exclude_structs
- escludi_metodi_async_void
- escludere_parametro_this_di_metodo_di_estensione
- exclude_ordefault_methods
- escludere_parametri_di_tipo_a_lettera_singola
- nomi_di_simboli_esclusi
- nomi_di_tipi_esclusi_con_tipi_derivati
- ignore_internalsvisibleto
- linq_chain_methods
- null_check_validation_methods
- tipo_output
- tipo_di_analisi_delle_punti
- modificatori_richiesti
- prova_a_determinare_metodi_di_formattazione_stringa_aggiuntivi_automaticamente
- unsafe_DllImportSearchPath_bits
- use_naming_heuristic
api_surface
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Quale parte della superficie dell'API analizzare |
public (si applica alle API public e protected )internal o friend (si applica alle API internal e private protected )private (si applica alle API private )all (si applica a tutte le API)Se si specificano più valori, separarli con virgole (,). |
public |
CA1000CA1002CA1003CA1005CA1008CA1010CA1012CA1021CA1024CA1027 CA1028CA1030CA1036CA1040 CA1040 CA1040CA1041CA1043CA1044CA1045CA1046CA1047CA1051 CA1052CA1054CA1055CA1056CA1058CA1062CA1063CA1068CA1070CA1700CA1707CA1708CA1710CA1711CA1714CA1715CA1716CA171717CA1720CA1721 CA1721 CA CA1725 CA1801CA1802CA1815CA1819CA1822CA1859CA2208CA2217CA2225CA2226CA2231 CA2234 |
escludi_metodi_async_void
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Indica se ignorare i metodi asincroni che non restituiscono valori | true false |
false |
CA2007 |
Nota
Questa opzione è stata denominata skip_async_void_methods
in una versione precedente.
escludi_parametri_di_tipo_a_singola_lettera
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Indica se escludere parametri di tipo carattere singolo dalla regola, ad esempio S in Collection<S> |
true false |
false |
CA1715 |
Nota
Questa opzione è stata denominata allow_single_letter_type_parameters
in una versione precedente.
tipo_di_output
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica che il codice in un progetto che genera questo tipo di assembly deve essere analizzato | Uno o più campi dell'enumerazione OutputKind Se si specificano più valori, separarli con virgole (,). |
Tutti i tipi di output | CA1515CA2007 |
modificatori_richiesti
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica i modificatori necessari per le API da analizzare | Uno o più valori dalla tabella dei modificatori consentiti riportata di seguito Se si specificano più valori, separarli con virgole (,). |
Dipende da ogni regola | CA1802 |
Modificatore consentito | Riepilogo |
---|---|
none |
Nessun requisito di modificatore |
static oppure Shared |
Deve essere dichiarato come static (Shared in Visual Basic) |
const |
Deve essere dichiarato come const |
readonly |
Deve essere dichiarato come readonly |
abstract |
Deve essere dichiarato come abstract |
virtual |
Deve essere dichiarato come virtual |
override |
Deve essere dichiarato come override |
sealed |
Deve essere dichiarato come sealed |
extern |
Deve essere dichiarato come extern |
async |
Deve essere dichiarato come async |
escludi_parametro_questo_metodo_di_estensione
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Indica se ignorare l'analisi per il parametro this dei metodi di estensione |
true false |
false |
CA1062 |
null_check_metodi_di_validazione
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Nomi dei metodi di convalida null-check che convalidano che gli argomenti passati al metodo sono diversi da null | Formati dei nomi dei metodi consentiti (separati dal carattere |): - Solo nome metodo (include tutti i metodi con il nome, indipendentemente dal tipo che li contiene o dallo spazio dei nomi) - Nomi completi nel formato ID della documentazione del simbolo, con un prefisso facoltativo M: |
Nessuno | CA1062 |
metodi_aggiuntivi_di_formattazione_di_stringhe
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Nomi di metodi aggiuntivi di formattazione delle stringhe | Formati dei nomi dei metodi consentiti (separati dal carattere |): - Solo nome metodo (include tutti i metodi con il nome, indipendentemente dal tipo che li contiene o dallo spazio dei nomi) - Nomi completi nel formato ID della documentazione del simbolo, con un prefisso facoltativo M: |
Nessuno | CA2241 |
nomi_di_tipo_esclusi_con_tipi_derivati
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Nomi di tipi, in modo che il tipo e tutti i relativi tipi derivati vengano esclusi dall'analisi | Formati dei nomi dei metodi consentiti (separati dal carattere |): - Solo nome metodo (include tutti i tipi con il nome, indipendentemente dal tipo che li contiene o dallo spazio dei nomi) - Nomi completi nel formato ID della documentazione del simbolo, con un prefisso facoltativo T: |
Nessuno | CA1001CA1054CA1055CA1056CA1062CA1068CA1303CA1304CA1305CA1508CA21000CA2100CA2301 CA2301CA2302CA2311CA2312CA2321CA23222CA2327CA2328CA2329 CA2330CA3001CA3002CA3003 CA3004CA3005 CA3006CA3007CA3008CA3009CA3010CA3011CA3012CA5361CA5376CA53777CA5378CA5380CA5381CA5382CA538383CA5384CA5387CA5388CA5389CA5390CA5399CA5400 |
nomi_simbolo_esclusi
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Nomi di simboli esclusi dall'analisi | Formati dei nomi dei metodi consentiti (separati dal carattere |): - Solo nome metodo (include tutti i simboli con il nome, indipendentemente dal tipo che li contiene o dallo spazio dei nomi) - Nomi completi nel formato ID della documentazione del simbolo. Ogni nome di simbolo richiede un prefisso del tipo di simbolo, come il prefisso M: per i metodi, il prefisso T: per i tipi e il prefisso N: per gli spazi dei nomi.- .ctor per costruttori e .cctor per costruttori statici |
Nessuno | CA1001CA1054CA1055CA1056CA1062CA1068CA1303CA1304CA1305CA1508CA21000CA2100CA2301 CA2301CA2302CA2311CA2312CA2321CA23222CA2327CA2328CA2329 CA2330CA3001CA3002CA3003 CA3004CA3005 CA3006CA3007CA3008CA3009CA3010CA3011CA3012CA5361CA5376CA53777CA5378CA5380CA5381CA5382CA538383CA5384CA5387CA5388CA5389CA5390CA5399CA5400 |
nomi_di_simboli_non_consentiti
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Nomi di simboli non consentiti nel contesto dell'analisi | Formati dei nomi dei metodi consentiti (separati dal carattere |): - Solo nome metodo (include tutti i simboli con il nome, indipendentemente dal tipo che li contiene o dallo spazio dei nomi) - Nomi completi nel formato ID della documentazione del simbolo. Ogni nome di simbolo richiede un prefisso del tipo di simbolo, come il prefisso M: per i metodi, il prefisso T: per i tipi e il prefisso N: per gli spazi dei nomi.- .ctor per costruttori e .cctor per costruttori statici |
Nessuno | CA1031 |
exclude_ordefault_methods
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Esclude i metodi FirstOrDefault e LastOrDefault dall'analisi. |
true oppure false |
false |
CA1826 |
ignore_internalsvisibleto
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Include gli assembly contrassegnati con InternalsVisibleToAttribute nell'analisi. |
true oppure false |
true |
CA1812CA1852 |
cerca_di_determinare_metodi_di_formattazione_delle_stringhe_aggiuntive_automaticamente
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Opzione booleana per abilitare il rilevamento euristico di metodi di formattazione stringa aggiuntivi. Un metodo è considerato un metodo di formattazione stringa se ha un parametro string format seguito da un parametro params object[] . |
true oppure false |
false |
CA2241 |
unsafe_DllImportSearchPath_bits
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Configurare quali valori di DllImportSearchPath non sono sicuri per l'analisi |
Valori interi di System.Runtime.InteropServices.DllImportSearchPath |
770 (ovvero AssemblyDirectory | UseDllDirectoryForDependencies | ApplicationDirectory ) |
CA5393 |
exclude_aspnet_core_mvc_controllerbase
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Escludere ASP.NET Core MVC ControllerBase quando si considera CSRF |
true oppure false |
true |
CA5391 |
enum_values_prefix_trigger
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica la soglia per attivare la regola di denominazione per i valori di enumerazione |
-
AnyEnumValue - La regola viene attivata se qualsiasi valore di enumerazione inizia con il nome del tipo di enumerazione.
- AllEnumValues - La regola viene attivata se tutti i valori di enumerazione iniziano con il nome del tipo di enumerazione.
- Heuristic - La regola viene attivata usando il valore euristico predefinito FxCop (ovvero, quando almeno il 75% dei valori di enumerazione inizia con il nome del tipo di enumerazione). |
Heuristic |
CA1712 |
escludi_tipi_base_indiretti
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Escludere tipi di base indiretti |
true oppure false |
true |
CA1710 |
suffissi_obbligatori_aggiuntivi
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica suffissi obbligatori aggiuntivi | Elenco dei nomi di tipo (separati da |) con il suffisso obbligatorio (separato da -> ). Formati di nome di tipo consentiti:- Solo nome tipo (include tutti i tipi con il nome, indipendentemente dal tipo che li contiene o dallo spazio dei nomi). - Nomi completi nel formato ID della documentazione del simbolo, con un prefisso facoltativo T: . |
Nessuno | CA1710 |
interfacce_generic_richieste_aggiuntive
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica interfacce generiche obbligatorie aggiuntive | Elenco dei nomi delle interfacce (separati da |) con l'interfaccia completa generica obbligatoria (separati da -> ). Formati interfaccia consentiti:- Solo nome interfaccia (include tutte le interfacce con il nome, indipendentemente dal tipo che li contiene o dallo spazio dei nomi). - Nomi completi nel formato ID della documentazione del simbolo, con un prefisso facoltativo T: . |
Nessuno | CA1010 |
Esempi:
Valore opzione | Riepilogo |
---|---|
dotnet_code_quality.CA1010.additional_required_generic_interfaces = ISomething->System.Collections.Generic.IEnumerable`1 |
Si prevede che tutti i tipi che implementano ISomething , indipendentemente dal relativo spazio dei nomi, implementino anche System.Collections.Generic.IEnumerable\`1 . |
dotnet_code_quality.CA1010.additional_required_generic_interfaces = T:System.Collections.IDictionary->T:System.Collections.Generic.IDictionary`2 |
Si prevede che tutti i tipi che implementano System.Collections.IDictionary implementino anche System.Collections.Generic.IDictionary`2 . |
nomi_simbolo_esclusi_in_eredità_addizionale
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica i tipi o gli spazi dei nomi da escludere dall'albero di gerarchia di ereditarietà | Formati di nome di tipo consentiti: - Nome del tipo o dello spazio dei nomi XML (include tutti i tipi con il nome, indipendentemente dal tipo che li contiene o dallo spazio dei nomi e tutti i tipi il cui spazio dei nomi contenga il nome). - Nome del tipo o dello spazio dei nomi che termina con un carattere jolly (include tutti i tipi il cui nome inizia con il nome specificato, indipendentemente dal tipo che li contiene o dallo spazio dei nomi e tutti i tipi il cui spazio dei nomi contenga il nome). - Nomi completi nel formato ID della documentazione del simbolo, con un prefisso facoltativo T: per i tipi o un prefisso N: per gli spazi dei nomi.
- Tipo completo o nome dello spazio dei nomi con un prefisso facoltativo T: per il tipo o prefisso N: per lo spazio dei nomi e termina con il simbolo jolly (include tutti i tipi il cui nome completo inizia con il nome di tipo specificato o tutti i tipi il cui nome completo inizia con il nome dello spazio dei nomi specificato). |
N:System.* (Questo valore viene aggiunto sempre automaticamente al valore specificato) |
CA1501 |
tipi_di_simboli_analizzati
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica le tipologie di simboli da analizzare | Uno o più campi di SymbolKind come elenco separato da virgola. | Namespace, NamedType, Method, Property, Event, Parameter |
CA1716 |
usa_heuristica_di_nominazione
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Configura se i parametri o i nomi di proprietà contenenti Text , Message o Caption attivano questa regola |
true oppure false |
false |
CA1303 |
metodi_dei_risultati_uso_addizionale
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica API personalizzate aggiuntive di cui devono essere usati i risultati | Nomi di metodi aggiuntivi (separati da |). Formati nome metodo consentiti: - Solo nome metodo (include tutti i metodi con il nome, indipendentemente dal tipo che li contiene o dallo spazio dei nomi). - Nomi completi nel formato ID della documentazione del simbolo, con un prefisso facoltativo M: . |
Nessuno | CA1806 |
suffissi_permesi
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica i suffissi che è possibile consentire | Elenco (separato da |) dei suffissi consentiti. | Nessuno | CA1711 |
abilitare_analizzatore_piattaforma_su_target_pre_net5
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica se abilitare l'analisi di TFM prima di .NET 5 |
true oppure false |
false |
CA1416 |
exclude_structs
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica se escludere gli struct dall'analisi |
true oppure false |
false |
CA1051 |
enum_addizionale_nessun_nome
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica nomi aggiuntivi che è possibile consentire per un campo di enumerazione a valore zero | Elenco di nomi aggiuntivi (separato da |). | Nessuno | CA1008 |
metodi_di_enumerazione
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica i metodi personalizzati aggiuntivi che enumerano un valore IEnumerable | Nomi completi di metodi aggiuntivi (separati da |). | Nessuno | CA1851 |
linq_chain_metodi
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica metodi catena LINQ aggiuntivi personalizzati (ovvero, i metodi acquisiscono un argomento IEnumerable e restituiscono una nuova istanza IEnumerable ) |
Nomi completi di metodi aggiuntivi (separati da |). | Nessuno | CA1851 |
assume_metodo_elenca_parametri
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica se assumere che i metodi personalizzati enumerino i parametri IEnumerable |
true oppure false |
false |
CA1851 |
Opzioni di analisi del flusso di dati
Le opzioni in questa sezione configurano le regole di analisi del flusso di dati. Le opzioni sono:
- dispose_tipo_analisi
- dispose_ownership_transfer_at_constructor
- trasferimento_di_proprietà_al_chiamare_metodo
- tipo_di_analisi_interprocedurale
- massima_catena_di_invocazioni_per_funzioni_lambda_o_locali_interprocedurali
- catena_massima_di_chiamate_metodo_interprocedurale
- copy_analysis
- Sufficient Iteration Count for Weak KDF Algorithm
Per ulteriori informazioni sull'analisi dei flussi di dati, vedere Creazione di analizzatori basati sull'analisi dei flussi di dati.
tipo_disposizione_analisi
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica quali percorsi analizzare per le violazioni Dispose |
-
AllPaths - Monitorare le violazioni Dispose e creare report su di esse in tutti i percorsi (percorsi di eccezione e non eccezione). Inoltre, contrassegnare l'uso di modelli Dispose non consigliati che potrebbero causare potenziali perdite Dispose.
- AllPathsOnlyNotDisposed - Monitorare le violazioni Dispose e creare report su di esse in tutti i percorsi (percorsi con e senza eccezione). Non contrassegnare l'uso di modelli Dispose non consigliati che potrebbero causare potenziali perdite Dispose.
- NonExceptionPaths - Monitorare le violazioni Dispose e creare report su di esse solo in percorsi di programmi senza eccezione. Inoltre, contrassegnare l'uso di modelli Dispose non consigliati che potrebbero causare potenziali perdite Dispose.
- NonExceptionPathsOnlyNotDisposed - Monitorare le violazioni Dispose e creare report su di esse solo in percorsi di programmi senza eccezione. Non contrassegnare l'uso di modelli Dispose non consigliati che potrebbero causare potenziali perdite Dispose. |
NonExceptionPaths |
CA2000 |
gestione_trasferimento_di_proprietà_al_costruttore
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Configurare il trasferimento della proprietà Dispose per gli argomenti passati alla chiamata a un costruttore |
true oppure false |
false |
CA2000 |
trasferimento_proprietà_alla_chiamata_del_metodo
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Configurare il trasferimento della proprietà Dispose per gli oggetti eliminabili passati come argomenti alle chiamate a un metodo |
true oppure false |
false |
CA2000 |
tipo_analisi_interprocedurale
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica se eseguire l'analisi interprocedurale per le chiamate al metodo di origine |
None , NonContextSensitive , ContextSensitive |
Specifica di ogni regola configurabile | CA1062, CA1303, CA1508, CA2000, CA2100, CA2213 |
massimo_catena_di_chiamate_di_metodo_interprocedurale
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica la lunghezza massima della catena di chiamate al metodo da analizzare per l'analisi interprocedurale del flusso di dati | Intero senza segno | 3 | CA1062, CA1303, CA1508, CA2000, CA2100, CA2213 |
max_catena_di_chiamate_lambda_o_funzione_locale_interprocedurale
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica la lunghezza massima della catena di chiamate di funzione lambda o locale da analizzare per l'analisi interprocedurale del flusso di dati | Intero senza segno | 3 | CA1062, CA1303, CA1508, CA2000, CA2100, CA2213 |
punti_a_tipo_di_analisi
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica se deve eseguire PointsToAnalysis |
None , PartialWithoutTrackingFieldsAndProperties , Complete |
Specifico di ogni regola | CA1062, CA1303, CA1508, CA2000, CA2100, CA2213 |
analisi_copia
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Specifica se eseguire l'analisi della copia (tiene traccia delle copie di valori e riferimenti) |
true oppure false |
true per la maggior parte delle regole |
CA1062, CA1303, CA1508, CA2000, CA2100, CA2213 |
conteggioIterazioni_sufficiente_per_algoritmo_KDF_debole
Descrizione | Valori consentiti | Valore predefinito | Regole configurabili |
---|---|---|---|
Configura un numero di iterazioni sufficiente quando si usa un algoritmo KDF (Weak Key Derivation Function) | Numero intero | 100000 per la maggior parte delle regole | CA1062, CA1303, CA1508, CA2000, CA2100, CA2213 |