Udostępnij za pośrednictwem


Fale zmian

Fala zmian to zestaw zmian zachowania w programie MSBuild, z których można zrezygnować, określając określoną flagę jako zmienną środowiskową. Celem tego jest ostrzeżenie przed potencjalnie destrukcyjnymi zmianami, dzięki czemu masz elastyczność dostosowywania się do tych zmian, zanim staną się one standardową funkcjonalnością. Wszystkie funkcje określonej fali zmian można włączać lub wyłączać tylko razem, a nie osobno.

Po uaktualnieniu do nowej wersji programu MSBuild zmiany potencjalnie powodujące niezgodność są domyślnie włączone, ale jeśli funkcja wpłynie negatywnie na kompilację, można łatwo wyłączyć tę falę zmian. Każda fala zmian jest identyfikowana przez numer wersji programu MSBuild (na przykład 16.8), ale ustawienie fali zmian kontroluje tylko niektóre funkcje, które mogą mieć wpływ na proces kompilacji, a nie wszystkie zmiany w tej wersji programu MSBuild. W dalszej części tego artykułu zostanie wyświetlona lista funkcji w każdej fali zmian. Wyłączenie fali zmian powoduje również wyłączenie fal zmian wyższych wersji.

Rezygnacja z funkcji fal zmian

Aby wyłączyć funkcje w fali zmian, ustaw zmienną środowiskową na falę MSBuildDisableFeaturesFromVersion zmian (lub wersję programu MSBuild), która zawiera funkcję, którą chcesz wyłączyć. Jest to wersja programu MSBuild, dla którego zostały opracowane funkcje. Zobacz mapowanie fal zmian na funkcje poniżej.

WARTOŚCI MSBuildDisableFeaturesFromVersion

Jeśli nie ustawisz MSBuildDisableFeaturesFromVersion prawidłowej fali, zostanie wyświetlone ostrzeżenie i/lub ustawienie domyślne dla określonej fali zmian. W poniższej tabeli przedstawiono możliwe ustawienia:

MSBuildDisableFeaturesFromVersion Wartość Result Otrzymujesz ostrzeżenie?
Unset Włącz wszystkie fale zmian, co oznacza, że wszystkie funkcje za każdą falą zmian są włączone. Nie.
Dowolna prawidłowa i bieżąca fala zmian (na przykład 16.8) Wyłącz wszystkie funkcje za falą 16.8zmian i wyższe. Nie.
Nieprawidłowa wartość (na przykład 16.9 gdy prawidłowe fale to 16.8 i 16.10) Ustawienie domyślne najbliższej prawidłowej wartości (rosnąco). Na przykład ustawienie 16.9 będzie domyślnie mieć wartość 16.10. Nie.
Poza rotacją (na przykład 17.1 gdy najwyższa fala to 17.0) Zaciśnięty do najbliższej prawidłowej wartości. Na przykład 17.1 zaciski do 17.0, i 16.5 zaciski do 16.8 Tak
Nieprawidłowy format (na przykład , 16x8, 17_0garbage) Włącz wszystkie fale zmian, co oznacza, że wszystkie funkcje za każdą falą zmian są włączone. Tak

Zmienianie fal i skojarzonych funkcji

17.10

17.8

17,6

17.4

17,0

Zmiana fal nie jest już w rotacji

16.8

16,10

Często zadawane pytania

Dlaczego należy kierować każdą inną wersję do obracania fal zmian?

Uważamy, że jest to wystarczająco dużo czasu, aby prowadzić dyskusje z tymi, których dotyczy problem, i pomóc w dostosowaniu się do zmian.

Dlaczego zmienna środowiskowa, a nie właściwość projektu?

Istnieją scenariusze, w których chcemy umieścić funkcję na fali zmian, zanim program MSBuild załadował projekt. Z tego powodu fale zmian wymagają użycia zmiennych środowiskowych.

Dlaczego rezygnacja z zgody na rezygnację?

Rezygnacja jest dla nas lepszym rozwiązaniem. W przeciwnym razie prawdopodobnie otrzymalibyśmy ograniczoną opinię, gdy funkcja wpłynie na kompilacje klientów.