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.
CA2266: Il punto di ingresso del programma basato su file deve iniziare con
| Proprietà | Value |
|---|---|
| ID della regola | CA2266 |
| Titolo | Il punto di ingresso del programma basato su file deve iniziare con #! |
| Categoria | Utilizzo |
| La modifica è dirompente o non dirompente | Non-breaking |
| Abilitato per impostazione predefinita in .NET 10 | A titolo di avvertimento |
| Linguaggi applicabili | C# |
Motivo
Il file di ingresso in un programma basato su file con più file non inizia con una riga shebang (#!).
Descrizione regola
Per una corretta identificazione degli strumenti e il supporto all'esecuzione diretta nella shell, iniziare il file del punto di ingresso con una riga shebang (#!) per distinguerlo chiaramente dai file inclusi con #:include o #:ref.
Come correggere le violazioni
Aggiungere una riga shebang all'inizio del file del punto d'ingresso, ad esempio, #!/usr/bin/env dotnet.
Esempio
Il frammento di codice seguente mostra una violazione di CA2266.
In app.cs:
#:include "helpers.cs"
Console.WriteLine(GetMessage());
In helpers.cs:
string GetMessage() => "Hello";
Il frammento di codice seguente corregge la violazione.
In app.cs:
#!/usr/bin/env dotnet
#:include "helpers.cs"
Console.WriteLine(GetMessage());
In helpers.cs:
string GetMessage() => "Hello";
Quando eliminare gli avvisi
Se si omette intenzionalmente la riga shebang e si è verificato che gli strumenti utilizzati riescono comunque a identificare correttamente il punto di ingresso, è possibile disattivare questo avviso in tutta sicurezza.
Eliminare un avviso
Per le app basate su file, eliminare una singola violazione aggiungendo una #:property direttiva al file del punto di ingresso.
#:property NoWarn=$(NoWarn);CA2266
Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità su none nel file di configurazione .
[*.cs]
dotnet_diagnostic.CA2266.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.