Cambiare le onde

Un 'ondata di modifiche è un set di modifiche di comportamento in MSBuild che è possibile rifiutare esplicitamente specificando un flag specifico come variabile di ambiente. Lo scopo di questo è avvisare l'utente di modifiche potenzialmente dannose, in modo da avere flessibilità nell'adattarsi a queste modifiche prima che diventino funzionalità standard. Tutte le funzionalità di un'onda di modifica specifica possono essere abilitate o disabilitate insieme, non singolarmente.

Quando si esegue l'aggiornamento a una nuova versione di MSBuild, le modifiche potenzialmente di rilievo sono abilitate per impostazione predefinita, ma se una funzionalità influisce negativamente sulla compilazione, è possibile disabilitare facilmente tale ondata di modifiche. Ogni onda di modifica viene identificata da un numero di versione di MSBuild (ad esempio, 16.8), ma l'impostazione dell'onda delle modifiche controlla solo determinate funzionalità che possono influire sul processo di compilazione, non tutte le modifiche apportate a tale versione di MSBuild. Un elenco delle funzionalità di ogni ondata di modifiche viene visualizzato più avanti in questo articolo. La disabilitazione di un'onda di modifica disabilita anche le onde di modifica delle versioni successive.

Disattivare le funzionalità del ciclo di modifiche

Per disabilitare le funzionalità in un'ondata di modifiche, impostare la variabile di ambiente MSBuildDisableFeaturesFromVersion sull'onda delle modifiche (o sulla versione di MSBuild) che contiene la funzionalità che si desidera disabilitare . Questa è la versione di MSBuild per cui sono state sviluppate le funzionalità. Consulta l'associazione delle onde di modifica alle funzionalità seguenti.

Valori MSBuildDisableFeaturesFromVersion

Riceverai un avviso e/o ti verrà assegnata un'onda specifica se non imposti MSBuildDisableFeaturesFromVersion su una specifica onda di modifica valida. La tabella seguente illustra le possibili impostazioni:

valore MSBuildDisableFeaturesFromVersion Risultato Ricevere un avviso?
Non impostato Abilitare tutte le onde di modifica, ovvero tutte le funzionalità dietro ogni onda di modifica sono abilitate. No
Qualsiasi onda di modifica valida e corrente (ad esempio, 16.8) Disabilitare tutte le funzionalità dietro l'onda di cambiamento 16.8e superiori a. No
Valore non valido(ad esempio, 16.9 quando le onde valide sono 16.8 e 16.10) Imposta automaticamente al valore valido più vicino (in ordine crescente). Ad esempio, impostando 16.9 si passerà per impostazione predefinita a 16.10. No
Fuori Rotazione (ad esempio, 17.1 quando l'onda più alta è 17.0) Arrotonda al valore valido più vicino. Ad esempio, 17.1 bloccano a 17.0e 16.5 bloccano a 16.8
Formato non valido ( ad esempio, 16x8, 17_0, garbage) Abilitare tutte le onde di modifica, ovvero tutte le funzionalità dietro ogni onda di modifica sono abilitate.

Modificare le onde e le funzionalità associate

Rotazione corrente delle onde di modifica

18.8

18.7

18.6

18,5

18.4

Ondate di modifiche che verranno rimosse nella versione che accompagna .NET 11

18.3

17.14

17.12

17.10

Cicli di Cambiamento Non Più in Rotazione

16.8

16.10

17.0

17.4

17.6

17.8

Domande frequenti

perché indirizzare ogni altra versione per ruotare le onde di cambiamento?

Riteniamo che questo sia abbastanza tempo per avere discussioni con coloro interessati e assistere con l'adattamento ai cambiamenti.

perché una variabile di ambiente e non una proprietà del progetto?

Esistono scenari in cui si vuole inserire una funzionalità in un'ondata di modifiche prima che MSBuild abbia caricato il progetto. Per questo motivo, le onde di modifica richiedono l'uso delle variabili di ambiente.

Perché scegliere l'opt-out invece dell'opt-in?

L'opzione di rinuncia è un approccio migliore per noi; in caso contrario, è probabile che si ottenga un feedback limitato quando una funzionalità influisce sulle configurazioni dei clienti.