File EditorConfig inclusi implicitamente

Gli analizzatori Roslyn hanno aggiunto il supporto per l'analisi e il rispetto delle opzioni di file con estensione editorconfig prima che il compilatore aggiunga il supporto per questi file. Per ovviare a questa limitazione, i file con estensione editorconfig devono essere inclusi come elementi di progetto AdditionalFiles. Ora che il compilatore include implicitamente i file con estensione editorconfig in un progetto, si riceverà un errore se vengono inclusi come elementi di progetto AdditionalFiles.

Versione introdotta

.NET 6

Comportamento precedente

I file con estensione editorconfig potevano essere inclusi come elementi di progetto AdditionalFiles.

Nuovo comportamento

A partire da .NET 6 SDK, si riceverà l'errore seguente in fase di compilazione se si include un file con estensione editorconfig come elemento di progetto AdditionalFiles:

errore AD0001: L'analizzatore [...] ha generato un'eccezione di tipo 'System.InvalidOperationException' con il messaggio 'Non è più necessario passare file con estensione 'editorconfig' come file aggiuntivi. Verranno individuati implicitamente (se si trovano nella directory di progetto o in una directory predecessore) o dovranno essere convertiti in 'globalconfig'.

Nota

Questo avviso viene visualizzato solo in .NET 6. È stato rimosso in .NET 7.

Categoria di modifiche

Questa modifica può influire sulla compatibilità dell'origine.

Motivo della modifica

Il compilatore supporta ora i file con estensione editorconfig, che vengono inclusi implicitamente in un progetto se si trovano nella directory di progetto o in una directory predecessore.

  • Se il file con estensione editorconfig si trova nella directory di progetto o in una directory predecessore, rimuovere l'elemento <AdditionalFiles> per il file con estensione editorconfig dal file di progetto.
  • In caso contrario, convertire il file con estensione editorconfig in un file Global AnalyzerConfig e cambiare l'elemento AdditionalFiles in un elemento GlobalAnalyzerConfigFiles nel file di progetto.

API interessate

N/D