Partilhar via


Mudar de onda

Um de onda de alteração de é um conjunto de alterações de comportamento no MSBuild que você pode desativar especificando um sinalizador específico como uma variável de ambiente. O objetivo disso é alertá-lo sobre mudanças potencialmente perturbadoras para que você tenha flexibilidade na adaptação a essas alterações antes que elas se tornem funcionalidade padrão. Todos os recursos em uma onda de mudança específica só podem ser ativados ou desativados juntos, não individualmente.

Quando atualizas para uma nova versão do MSBuild, as alterações que são potencialmente disruptivas são ativadas por padrão, mas se uma funcionalidade afetar negativamente a tua compilação, podes desativar facilmente essa onda de alterações. Cada onda de alteração é identificada por um número de versão do MSBuild (por exemplo, 16.8), mas definir a onda de alteração controla apenas determinados recursos que têm o potencial de afetar o processo de compilação, não todas as alterações nessa versão do MSBuild. Uma lista dos recursos em cada onda de alteração aparece mais adiante neste artigo. Desativar uma onda de mudança também desativa ondas de mudança de versões superiores.

Excluir-se de funcionalidades da onda de atualizações

Para desativar os recursos em uma onda de alteração, defina a variável de ambiente MSBuildDisableFeaturesFromVersion para a onda de alteração (ou versão do MSBuild) que contém o recurso que você deseja desabilitar . Esta é a versão do MSBuild para a qual os recursos foram desenvolvidos. Veja o mapeamento das fases de mudança para características abaixo.

Valores de MSBuildDisableFeaturesFromVersion

Você receberá um aviso e/ou será direcionado para uma onda específica se não definir MSBuildDisableFeaturesFromVersion para uma onda de mudança válida. A tabela a seguir mostra as configurações possíveis:

Valor MSBuildDisableFeaturesFromVersion Resultado Receber aviso?
Não definido Habilite todas as ondas de mudança, o que significa que todos os recursos por trás de cada onda de mudança estão habilitados. Não
Qualquer onda de mudança válida e atual (por exemplo, 16.8) Desative todos os recursos por trás do Change wave 16.8e superior. Não
Valor inválido (por exemplo, 16.9 quando as ondas válidas são 16.8 e 16.10) Definir o valor padrão para o valor válido mais próximo (ascendente). Por exemplo, definir 16.9 irá definir por padrão para 16.10. Não
Fora de Rotação (por exemplo, 17.1 quando a onda mais alta é 17.0) Ajustar para o valor válido mais próximo. Por exemplo, 17.1 prende a 17.0, e 16.5 prende a 16.8. Sim
Formato inválido (por exemplo, 16x8, 17_0, garbage) Habilite todas as ondas de mudança, o que significa que todos os recursos por trás de cada onda de mudança estão habilitados. Sim

Alterar ondas e características associadas

17.10

17.8

17.6

17.4

17.0

Change Waves já não está em circulação.

16.8

16.10

Perguntas Frequentes

Por que direcionar todas as outras liberações para a rotação de ondas de mudança?

Acreditamos que este é tempo suficiente para discutir com as pessoas afetadas e ajudar a adaptar-se às mudanças.

Por que uma variável de ambiente e não uma propriedade de projeto?

Há cenários em que queremos colocar uma funcionalidade durante uma fase de alteração antes que o MSBuild carregue o projeto. Por essa razão, as ondas de mudança requerem o uso de variáveis de ambiente.

Porquê escolher optar por não participar em vez de participar?

A exclusão é uma abordagem melhor para nós, caso contrário, provavelmente receberíamos feedback limitado quando um recurso afeta as compilações do cliente.