Udostępnij za pośrednictwem


Zmienia fale

Fala zmian to zestaw zmian w działaniu programu MSBuild, których można uniknąć, ustawiając odpowiednią 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 aktualizacji do nowszej wersji MSBuild, zmiany mogące powodować problemy z kompatybilnością są domyślnie włączone, ale jeśli funkcja wpłynie negatywnie na budowę, można łatwo wyłączyć tę grupę 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. Lista funkcji w każdej fali zmian zostanie wyświetlona w dalszej części tego artykułu. Wyłączenie fali zmian wyłącza również fale zmian w wyższych wersjach.

Zrezygnuj z funkcji fal zmianowych

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

Wartości MSBuildDisableFeaturesFromVersion

Jeśli nie ustawisz MSBuildDisableFeaturesFromVersion na prawidłową falę, zostanie wyświetlone ostrzeżenie i/lub zostaniesz domyślnie przypisany do określonej fali. W poniższej tabeli przedstawiono możliwe ustawienia:

wartość MSBuildDisableFeaturesFromVersion Wynik Otrzymujesz ostrzeżenie?
Nieustawiony Włącz wszystkie fale zmian, co oznacza, że dzięki każdej fali wszystkie funkcje są włączone. Nie
Każda prawidłowa i bieżąca fala zmian (na przykład 16.8) Wyłącz wszystkie funkcje za falą zmian 16.8i nowszych. Nie
Nieprawidłowa wartość (na przykład 16.9, gdy prawidłowe fale są 16.8 i 16.10) Ustawienie domyślne najbliższej prawidłowej wartości (rosnąco). Na przykład ustawienie 16.9 ustawi cię na domyślne 16.10. Nie
Poza rotacją (na przykład 17.1, gdy najwyższa fala jest 17.0) Zaciśnięty do najbliższej prawidłowej wartości. Na przykład 17.1 przymocowuje się do 17.0, a 16.5 przymocowuje się do 16.8 Tak
Nieprawidłowy format (na przykład 16x8, 17_0, garbage) Włącz wszystkie fale zmian, co oznacza, że wszystkie funkcje związane z każdą falą zmian są aktywowane. Tak

Zmiana fal i powiązanych cech

17.10

17.8

17.6

17.4

17.0

Zmiana fal nie jest już w rotacji

16.8

16.10

FAQ

Dlaczego celować w każdą alternatywną wersję dla wprowadzania zmian etapami?

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 zrezygnować z zgody?

Automatyczna rezygnacja jest dla nas lepszym rozwiązaniem. W przeciwnym razie prawdopodobnie otrzymalibyśmy ograniczoną opinię, gdy funkcjonalność wpłynie na wersje oprogramowania klientów.