Informacje o wersji 16.7 programu Visual Studio 2019
Developer Community | Wymagania | systemowe zgodność Dystrybucyjna | historia | wersji kodu | licencji | Blogi | Whats New w Visual Studio Docs
Uwaga
To nie jest najnowsza wersja programu Visual Studio. Aby pobrać najnowszą wersję, odwiedź witrynę programu Visual Studio .
Ramy czasowe pomocy technicznej
Program Visual Studio 2019 w wersji 16.7 jest obecnie niedostępny.
Użytkownicy enterprise i Professional programu Visual Studio 2019 w wersji 16.7 byli obsługiwani i otrzymywali poprawki luk w zabezpieczeniach do kwietnia 2022 r. Ten przedział czasu został określony przez fakt, że w marcu 2021 r. program Visual Studio 2019 w wersji 16.9 został wyznaczony jako następny plan bazowy obsługi produktu Visual Studio 2019. Aby uzyskać więcej informacji o obsługiwanych planach bazowych programu Visual Studio, zapoznaj się z zasadami pomocy technicznej dla programu Visual Studio 2019.
Zapoznaj się z najnowszą wersją informacji o wersji lub odwiedź witrynę programu Visual Studio , aby pobrać najnowszą obsługiwaną wersję programu Visual Studio 2019.
Wydania programu Visual Studio 2019 w wersji 16.7
- 19 kwietnia 2022 r. — Visual Studio 2019 w wersji 16.7.28
- 12 kwietnia 2022 r. — Visual Studio 2019 w wersji 16.7.27
- 8 marca 2022 r. — Visual Studio 2019 w wersji 16.7.26
- 8 lutego 2022 r. — Visual Studio 2019 w wersji 16.7.25
- 11 stycznia 2022 r. — Visual Studio 2019 w wersji 16.7.24
- 14 grudnia 2021 r. — Visual Studio 2019 w wersji 16.7.23
- 16 listopada 2021 r. — Visual Studio 2019 w wersji 16.7.22
- 9 listopada 2021 r. — Visual Studio 2019 w wersji 16.7.21
- 12 października 2021 r. — Visual Studio 2019 w wersji 16.7.20
- 14 września 2021 r. — Visual Studio 2019 w wersji 16.7.19
- 10 sierpnia 2021 r. — Visual Studio 2019 w wersji 16.7.18
- 13 lipca 2021 r. — Visual Studio 2019 w wersji 16.7.17
- 8 czerwca 2021 r. — Visual Studio 2019 w wersji 16.7.16
- 11 maja 2021 r. — Visual Studio 2019 w wersji 16.7.15
- 13 kwietnia 2021 r. — Visual Studio 2019 w wersji 16.7.14
- 9 marca 2021 r. — Visual Studio 2019 w wersji 16.7.13
- 10 lutego 2021 r. — Visual Studio 2019 w wersji 16.7.12
- 9 lutego 2021 r. — Visual Studio 2019 w wersji 16.7.11
- 12 stycznia 2021 r. — Visual Studio 2019 w wersji 16.7.10
- 8 grudnia 2020 r. — Visual Studio 2019 w wersji 16.7.9
- 10 listopada 2020 r. — Visual Studio 2019 w wersji 16.7.8
- 27 października 2020 r. — Visual Studio 2019 w wersji 16.7.7
- 13 października 2020 r. — Visual Studio 2019 w wersji 16.7.6
- 29 września 2020 r. — Visual Studio 2019 w wersji 16.7.5
- 21 września 2020 r. — Visual Studio 2019 w wersji 16.7.4
- 8 września 2020 r. — Visual Studio 2019 w wersji 16.7.3
- 18 sierpnia 2020 r. — Visual Studio 2019 w wersji 16.7.2
- 11 sierpnia 2020 r. — Visual Studio 2019 w wersji 16.7.1
- 5 sierpnia 2020 r. — Visual Studio 2019 w wersji 16.7.0
Informacje o starszych wersjach programu Visual Studio 2019
- Informacje o wersji dla programu Visual Studio 2019 w wersji 16.6
- Informacje o wersji dla programu Visual Studio 2019 w wersji 16.5
- Informacje o wersji programu Visual Studio 2019 w wersji 16.4
- Informacje o wersji programu Visual Studio 2019 w wersji 16.3
- Informacje o wersji programu Visual Studio 2019 w wersji 16.2
- Informacje o wersji 16.1 programu Visual Studio 2019
- Informacje o wersji 16.0 programu Visual Studio 2019
Visual Studio Blog
Blog dotyczący programu Visual Studio to oficjalne źródło informacji o produkcie pochodzących od zespołu inżynierów ds. programu Visual Studio. Szczegółowe informacje o wydaniach programu Visual Studio można znaleźć w następujących wpisach:
Visual Studio 2019 w wersji 16.7.28
wydany 19 kwietnia 2022 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.28
- Naprawiono regresję vctip.exe z wersji 16.7.27
Visual Studio 2019 w wersji 16.7.27
wydany 12 kwietnia 2022 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.27
Zalecenia dotyczące zabezpieczeń
CVE-2022-24765 Luka w zabezpieczeniach dotycząca podniesienia uprawnień Istnieje potencjalna luka w zabezpieczeniach podniesienia uprawnień w usłudze Git dla systemu Windows, w której operacje git mogą być uruchamiane poza repozytorium podczas seraching dla katalogu Git. Usługa Git dla systemu Windows została zaktualizowana do wersji 2.35.2.1.
CVE-2022-24767 Luka w zabezpieczeniach dotycząca przejęcia biblioteki DLL potencjalna luka w zabezpieczeniach dotycząca porwania biblioteki DLL istnieje w instalatorze Git dla systemu Windows podczas uruchamiania narzędzia dezinstalatora na koncie użytkownika SYSTEM. Usługa Git dla systemu Windows została zaktualizowana do wersji 2.35.2.1.
CVE-2022-24513 Luka w zabezpieczeniach dotycząca podniesienia uprawnień Potencjalna luka w zabezpieczeniach dotycząca podniesienia uprawnień występuje, gdy usługa aktualizatora programu Microsoft Visual Studio nieprawidłowo analizuje lokalne dane konfiguracji.
Visual Studio 2019 w wersji 16.7.26
wydany 8 marca 2022 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.26
Zalecenia dotyczące zabezpieczeń
CVE-2020-8927 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje w programach .NET 5.0 i .NET Core 3.1, gdzie w wersjach biblioteki Brotli istnieje przepełnienie buforu przed wersją 1.0.8.
CVE-2022-24464 Luka w zabezpieczeniach Odmowa usługi istnieje w programach .NET 6.0, .NET 5.0 i .NET CORE 3.1 podczas analizowania niektórych typów żądań formularzy HTTP.
CVE-2022-24512 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje na platformie .NET 6.0, .NET 5.0 i .NET Core 3.1, w której występuje przepełnianie buforu stosu w procedurze analizy podwójnej platformy .NET.
CVE-2021-3711 Luka w zabezpieczeniach dotycząca przepełnienia buforu OpenSSL Luka w zabezpieczeniach potencjalnego przepełnienia buforu istnieje w programie OpenSSL, który jest używany przez usługę Git dla systemu Windows. Usługa Git dla systemu Windows została zaktualizowana do wersji 2.35.1.2, która rozwiązuje ten problem.
Visual Studio 2019 w wersji 16.7.25
wydany 8 lutego 2022 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.25
Zalecenia dotyczące zabezpieczeń
CVE-2022-21871 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowego środowiska wykonawczego modułu zbierającego centrum diagnostyki Luka w zabezpieczeniach podniesienia uprawnień Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień istnieje, jeśli standardowy moduł zbierający centrum diagnostyki nieprawidłowo obsługuje operacje na danych.
Visual Studio 2019 w wersji 16.7.24
wydany 11 stycznia 2022 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.24
- Rozwiązano problem polegający na tym, że nie można debugować aplikacji wielokrotnie, gdy Terminal Windows jest używana jako domyślny terminal.
- Poprawka instalatora w celu odblokowania klientów w konfiguracjach z ograniczeniami
- Rozwiązano problem uniemożliwiający klientowi aktualizowanie bardziej bieżącego programu inicjujące. Gdy klient korzysta z programu inicjatora i instalatora dostarczonego ze stycznia 2022 r. lub nowszego, wszystkie aktualizacje korzystające z kolejnych modułów inicjujących powinny działać w okresie trwania cyklu życia produktu.
Zgłaszane na forum Developer Community
Visual Studio 2019 w wersji 16.7.23
wydany 14 grudnia 2021 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.23
- Dodano środowisko Python 3.9.7 do obciążenia języka Python. Usunięto język Python 3.7.8 z powodu luki w zabezpieczeniach.
Zalecenia dotyczące zabezpieczeń
CVE-2021-43877 Luka w zabezpieczeniach Luka w zabezpieczeniach dotycząca podniesienia uprawnień istnieje w narzędziu ANCM, co może umożliwić podniesienie uprawnień, gdy aplikacje platformy .NET Core, .NET 5 i .NET 6 są hostowane w usługach IIS.
Visual Studio 2019 w wersji 16.7.22
wydany 16 listopada 2021 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.22
- Program inicjatorzy przestrzegają teraz parametru --useLatestInstaller, co powoduje zintegrowanie najnowszego instalatora z układem. Ten najnowszy instalator dostarczany z programem Visual Studio 2022 umożliwia scenariusz, w którym przedsiębiorstwa chcą przenieść swoich klientów z jednej lokalizacji układu do innej. Aby uzyskać więcej informacji, zapoznaj się z [Podręcznik administratorów programu Visual Studio](* Programy inicjują teraz przestrzegają parametru --useLatestInstaller, co powoduje zintegrowanie najnowszego instalatora z układem. Ten najnowszy instalator dostarczany z programem Visual Studio 2022 umożliwia scenariusz, w którym przedsiębiorstwa chcą przenieść swoich klientów z jednej lokalizacji układu do innej. Aby uzyskać więcej informacji, zapoznaj się z przewodnikiem dla administratorów programu Visual Studio.
Visual Studio 2019 w wersji 16.7.21
wydany 9 listopada 2021 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.21
- Usunięto usterkę powodującą zniknięcie linku skrótu menu Start. Usterka wystąpiła tylko podczas aktualizowania wielu wystąpień różnych jednostek SKU produktu na tym samym komputerze.
Zalecenia dotyczące zabezpieczeń
CVE-2021-42319 Luka w zabezpieczeniach dotycząca podniesienia uprawnień Luka w zabezpieczeniach podniesienia uprawnień istnieje w dostawcy usługi WMI, który znajduje się w instalatorze programu Visual Studio.
CVE-2021-42277 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowej usługi modułu zbierającego centrum diagnostyki Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień występuje, gdy standardowy moduł zbierający centrum diagnostyki nieprawidłowo obsługuje operacje na plikach.
Visual Studio 2019 w wersji 16.7.20
wydany 12 października 2021 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.20
Zalecenia dotyczące zabezpieczeń
CVE-2021-41355 Luka w zabezpieczeniach dotycząca ujawniania informacji na platformie .NET 5.0 Luka w zabezpieczeniach umożliwiająca ujawnienie informacji istnieje na platformie .NET, gdzie system.DirectoryServices.Protocols.LdapConnection wysyła poświadczenia w postaci zwykłego tekstu w systemie Linux.
CVE-2020-1971 Luka w zabezpieczeniach typu "odmowa usługi" openSSL Potencjalna luka w zabezpieczeniach typu "odmowa usługi" istnieje w bibliotece OpenSSL, która jest zużywana przez usługę Git.
CVE-2021-3449 Luka w zabezpieczeniach typu "odmowa usługi" openSSL Potencjalna luka w zabezpieczeniach typu "odmowa usługi" istnieje w bibliotece OpenSSL, która jest zużywana przez usługę Git.
CVE-2021-3450 Luka w zabezpieczeniach dotycząca odmowy usługi OpenSSL Potencjalna obejście flagi istnieje w bibliotece OpenSSL, która jest zużywana przez usługę Git.
Visual Studio 2019 w wersji 16.7.19
wydany 14 września 2021 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.19
Zalecenia dotyczące zabezpieczeń
CVE-2021-26434 Luka w zabezpieczeniach dotycząca nieprawidłowego przypisania uprawnień programu Visual Studio Luka w zabezpieczeniach dotycząca przypisywania uprawnień Luka w zabezpieczeniach dotycząca przypisywania uprawnień istnieje w programie Visual Studio po zainstalowaniu programu Game development with C++ i wybraniu obciążenia Instalatora aparatu Unreal Engine. System jest podatny na LPE podczas instalacji tworzy katalog z dostępem do zapisu dla wszystkich użytkowników.
CVE-2021-36952 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu programu Visual Studio Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje w programie Visual Studio, gdy nieprawidłowo obsługuje obiekty w pamięci. Osoba atakująca, która pomyślnie wykorzysta tę lukę, może uruchomić dowolny kod w kontekście bieżącego użytkownika.
Visual Studio 2019 w wersji 16.7.18
wydany 10 sierpnia 2021 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.18
- Rozwiązano problem, który dotyczył wykonywania wiersza polecenia aktualizacji. Jeśli aktualizacja zakończy się niepowodzeniem po raz pierwszy, kolejne wydanie polecenia aktualizacji powoduje teraz wznowienie poprzedniej operacji, w której została przerwana.
Zalecenia dotyczące zabezpieczeń
CVE-2021-26423 Luka w zabezpieczeniach typu "odmowa usługi" platformy .NET Core Luka w zabezpieczeniach umożliwiająca atak typu "odmowa usługi" istnieje, gdy aplikacje serwera platformy .NET (Core) udostępniające punkty końcowe protokołu WebSocket mogą być podszywane do nieskończonej pętli podczas próby odczytania pojedynczej ramki protokołu WebSocket.
CVE-2021-34485 Luka w zabezpieczeniach dotycząca ujawniania informacji platformy .NET Core Luka w zabezpieczeniach umożliwiająca ujawnienie informacji istnieje, gdy zrzuty utworzone przez narzędzie do zbierania zrzutów awaryjnych i zrzutów na żądanie są tworzone z globalnymi uprawnieniami do odczytu w systemach Linux i macOS.
CVE-2021-34532 ASP.NET luka w zabezpieczeniach umożliwiająca ujawnienie informacji Luka w zabezpieczeniach dotycząca ujawniania informacji istnieje, gdy token JWT jest rejestrowany, jeśli nie można go przeanalizować.
Visual Studio 2019 w wersji 16.7.17
wydany 13 lipca 2021 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.17
- Zestaw .NET 3.1.411 SDK wstawiony do programu Visual Studio 2019.
Visual Studio 2019 w wersji 16.7.16
wydany 8 czerwca 2021 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.16
Zalecenia dotyczące zabezpieczeń
CVE-2021-31957 ASP.NET Luka w zabezpieczeniach typu odmowa usługi Luka w zabezpieczeniach typu "odmowa usługi" istnieje, gdy ASP.NET Core nieprawidłowo obsługuje rozłączenie klienta.
Visual Studio 2019 w wersji 16.7.15
wydany 11 maja 2021 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.15
- Rozwiązano problem powodujący niepowodzenie aktualizacji, gdy administrator tworzy nowy układ programu Visual Studio na potrzeby wdrażania aktualizacji. Aktualizacja maszyny klienckiej zakończy się niepowodzeniem, ponieważ układ przeniósł lokalizacje.
Zalecenia dotyczące zabezpieczeń
CVE-2021-27068 RCE możliwe podczas sadzenia python.exe w folderze zagnieżdżonym Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje podczas otwierania obszaru roboczego z kodem języka Python i że obszar roboczy zawiera python.exe w podfolderze skryptów.
CVE-2021-31204 Luka w zabezpieczeniach dotycząca podniesienia uprawnień platformy .NET Core Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień istnieje w programach .NET 5.0 i .NET Core 3.1, gdy użytkownik uruchamia pojedynczą aplikację plików w systemach operacyjnych opartych na systemie Linux lub macOS.
Visual Studio 2019 w wersji 16.7.14
wydany 13 kwietnia 2021 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.14
- Optymalizator nieprawidłowo usuwa aktywny kod
- Narzędzie NuGet zgłasza skrót zawartości źródłowej pakietu i pakietu podczas przywracania pakietów w normalnej szczegółowości danych wyjściowych
- Narzędzie NuGet zapisze źródło pakietu w pliku .nupkg.metadata pakietu w folderze pakietów globalnych. Istniejące pakiety w folderze pakietów globalnych nie otrzymają tych dodatkowych informacji. Folder pakietów globalnych można wyczyścić w celu zbierania informacji o źródle pakietów dla wszystkich pakietów.
Zalecenia dotyczące zabezpieczeń
CVE-2021-27064 Instalator programu Visual Studio Luka w zabezpieczeniach dotycząca podniesienia uprawnień Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu występuje, gdy instalator programu Visual Studio wykonuje klienta opinii w stanie podwyższonego poziomu uprawnień.
CVE-2021-28313 / CVE-2021-28321/ CVE-2021-28322 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowego modułu zbierającego centrum diagnostyki Luka w zabezpieczeniach podniesienia uprawnień występuje, gdy standardowy moduł zbierający centrum diagnostyki nieprawidłowo obsługuje operacje na danych.
Visual Studio 2019 w wersji 16.7.13
wydany 9 marca 2021 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.13
Zalecenia dotyczące zabezpieczeń
CVE-2021-21300 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w usłudze Git dla programu Visual Studio Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje, gdy program Visual Studio klonuje złośliwe repozytorium.
CVE-2021-26701 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu na platformie .NET Core Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje na platformie .NET 5 i .NET Core ze względu na sposób wykonywania kodowania tekstu.
Visual Studio 2019 w wersji 16.7.12
wydany 9 lutego 2021 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.12
Visual Studio 2019 w wersji 16.7.11
wydany 9 lutego 2021 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.11
Usterka kompilatora optymalizacji programu Visual Studio 2019 w wersji 16.7.6
Zalecenia dotyczące zabezpieczeń
CVE-2021-1639 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w usłudze języka TypeScript Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje, gdy program Visual Studio ładuje złośliwe repozytorium zawierające pliki kodu JavaScript lub TypeScript.
CVE-2021-1721 Luka w zabezpieczeniach dotycząca odmowy usługi platformy .NET Core Luka w zabezpieczeniach typu "odmowa usługi" istnieje podczas tworzenia żądania internetowego HTTPS podczas tworzenia łańcucha certyfikatów X509.
CVE-2021-24112 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu platformy .NET 5 i .NET Core Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu występuje podczas dezadowania metaplików, gdy interfejs graficzny nadal zawiera odwołanie do niego. Ta luka w zabezpieczeniach istnieje tylko w systemach uruchomionych w systemie MacOS lub Linux.
- Kompilator ulega awarii z powodu błędu krytycznego C1001:Wystąpił błąd wewnętrzny w kompilatorze.
- Usterka kompilatora optymalizacji programu Visual Studio 2019 w wersji 16.7.6
- Problem z automatycznym wektoryzatorem pętli
- Optymalizator języka C++ powoduje niepowodzenie akumulowania, jeśli dodatkowe przypisanie odbywa się w tej samej pętli
Visual Studio 2019 w wersji 16.7.10
data wydania: 12 stycznia 2021 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.10
Zalecenia dotyczące zabezpieczeń
CVE-2021-1651 CVE-2021-1680 / Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowego modułu zbierającego centrum diagnostyki Luka w zabezpieczeniach Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień występuje, gdy standardowy moduł zbierający centrum diagnostyki nieprawidłowo obsługuje operacje na danych.
CVE-2020-26870 Instalator programu Visual Studio luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje, gdy Instalator programu Visual Studio próbuje pokazać złośliwe znaczniki markdown.
CVE-2021-1723 Luka w zabezpieczeniach typu "odmowa usługi" platformy .NET Core i programu Visual Studio Luka w zabezpieczeniach typu "odmowa usługi" istnieje we wdrożeniu pakietu Kestrel.
Visual Studio 2019 w wersji 16.7.9
wydany 8 grudnia 2020 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.9
Zalecenia dotyczące zabezpieczeń
CVE-2020-17156 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w programie Visual Studio Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje, gdy program Visual Studio klonuje złośliwe repozytorium.
- Wewnętrzny błąd kompilatora programu VS 16.7.0
- Wewnętrzny błąd kompilatora — regresja z wersji 16.4
- Program MSVC 16.7 niepoprawnie zgłasza błąd C2355 dla użycia tego wskaźnika przy inicjowaniu dla niestatycznej składowej w klasie
- Nieprawidłowe dane wyjściowe dołączonego kodu w wersji x86 bieżącego programu VS2019
- Aktualizacja zestawów narzędzi MSVC 14.16, 14.20, 14.24, 14.27 i 14.28 w celu dopasowania ich do najnowszych wersji serwisowych.
Visual Studio 2019 w wersji 16.7.8
wydany 10 listopada 2020 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.8
Zalecenia dotyczące zabezpieczeń
CVE-2020-17100 Luka w zabezpieczeniach dotycząca naruszenia w programie Visual Studio Luka w zabezpieczeniach dotycząca naruszenia luka w zabezpieczeniach istnieje, gdy program Python Tools for Visual Studio tworzy folder python27. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby uruchamiać procesy w kontekście o podniesionych uprawnieniach.
- ICE podczas analizy cppcorecheck z kompilatorem w wersji 16.4.9
- Błąd krytyczny OACR C1001: Wewnętrzny błąd kompilatora
- ICE podczas analizy cppcorecheck z kompilatorem w wersji 16.7.1
- ICE w elemencie PREfast 16.7.1 uruchomionym względem kodu pakietu Office (ppt)
- Nie można zainstalować wymagania wstępnego ClickOnce dla programu VC++ 14 z powodu różnicy klucza publicznego. W przypadku tej poprawki może istnieć zwiększone prawdopodobieństwo konieczności ponownego rozruchu komputera w celu zainstalowania zaktualizowanego pakietu redystrybucyjnego VC++.
- Optymalizator niepoprawnie usuwa informacje EH, co powoduje awarie niektórych wyjątków
- _InterlockedExchangeAdd64 jest nierozpoznawane w architekturze x86
- Usunięto usterkę w kompilatorze języka C++ polegającą na nieprawidłowej inicjalizacji agregacji z dopasowaniem bitfield
Visual Studio 2019 w wersji 16.7.7
wydanie 27 października 2020 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.7
- Dodano obsługę programu Xcode 12.1 GM.
- Aktualizacja zestawów narzędzi MSVC 14.16, 14.20, 14.24 i 14.26 w celu dopasowania ich do najnowszych wersji obsługi.
- Usunięto usterkę powodującą awarię, gdy zmieniana jest nazwa typu, a plik nie jest obecnie otwarty w edytorze.
Visual Studio 2019 w wersji 16.7.6
wydany 13 października 2020 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.6
- Komunikat „Pracujemy nad tym” podczas przełączania się na kartę
- Opinie dotyczące programu Visual Studio — nowa wersja oparta na przeglądarce sieci Web ulega awarii spowodowanej błędem serwera proxy
- Nie można skompilować projektu biblioteki platformy xamarin.ios z deklaracją interfejsu .xib w określonej wersji programu VS
- Nie można wygenerować podkładki dla elementu System.DateTime
- Sugestia rozszerzenia IntelliCode, filtrowanie błędów kompilacji
- Wstawianie zestawu .NET Core SDK 3.1.403 do programu Visual Studio 2019
- Naprawiono usterkę, która ma wpływ na debugowanie aplikacji Service Fabric z włączonym protokołem https.
- Obsługa pakietów NuGet aplikacji Service Fabric z zależnościami zewnętrznymi.
Visual Studio 2019 w wersji 16.7.5
wydany 29 września 2020 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.5
- Nieprawidłowe generowanie kodu w architekturze ARM64 przy użyciu wektorów (DirectXMath.h)
- Rzutowania typu wadliwego: VS.2019 V16.7.1, natywny język C++
- Kompilacje C++ z zestawem Windows SDK 8.1 kończą się niepowodzeniem po uaktualnieniu do programu Visual Studio 16.7
- Ze zmianą VC++ 16.7 ABI w tablicy vtable.
- błąd krytyczny C1001: Wewnętrzny błąd kompilatora z 16.7.0
- Nieprawidłowe metadane obsługi wyjątków CET/EHCONT w bibliotece vcruntime140.dll. W przypadku tej poprawki może istnieć zwiększone prawdopodobieństwo konieczności ponownego rozruchu komputera w celu zainstalowania zaktualizowanego pakietu redystrybucyjnego VC++.
- Przełącznik MEMMAX dla PGO wydaje się ignorowany
- [19.26.28900] Nowy kompilator może nieprawidłowo generować kod
- Awaria z niedopełnieniem buforu stosu podczas analizy kodu
- Usunęliśmy błąd kompilatora C++, który występował podczas importowania klas z metodami zawierającymi połączenie domyślnych argumentów i listy argumentów [params] / [ParamArray].
Visual Studio 2019 w wersji 16.7.4
wydany 21 września 2020 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.4
- Dodaje obsługę programu Xcode 12.0 GM.
- Dodaje obsługę ustawiania zestawu kolorów jako koloru akcentu w edytorze Info.plist.
Visual Studio 2019 w wersji 16.7.3
wydany 8 września 2020 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.3
Zalecenia dotyczące zabezpieczeń
CVE-2020-1130 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowego modułu zbierającego centrum diagnostyki Luka w zabezpieczeniach podniesienia poziomu uprawnień występuje, gdy standardowy moduł zbierający centrum diagnostyki nieprawidłowo obsługuje operacje na danych. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby uruchamiać procesy w kontekście o podniesionych uprawnieniach.
CVE-2020-1133 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowego modułu zbierającego centrum diagnostyki Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień występuje, gdy standardowy moduł zbierający centrum diagnostyki nieprawidłowo obsługuje operacje na plikach. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby uruchamiać procesy w kontekście o podniesionych uprawnieniach.
CVE-2020-16856 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu programu Visual Studio Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje w programie Visual Studio, gdy nieprawidłowo obsługuje obiekty w pamięci. Osoba atakująca, która pomyślnie wykorzysta tę lukę, może uruchomić dowolny kod w kontekście bieżącego użytkownika.
CVE-2020-16874 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu programu Visual Studio Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje w programie Visual Studio, gdy nieprawidłowo obsługuje obiekty w pamięci. Osoba atakująca, która pomyślnie wykorzysta tę lukę, może uruchomić dowolny kod w kontekście bieżącego użytkownika.
CVE-2020-1045 Luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń microsoft ASP.NET Podstawowa luka w zabezpieczeniach Luka w zabezpieczeniach Luka w zabezpieczeniach obejścia funkcji zabezpieczeń Luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń istnieje w sposób, w jaki program Microsoft ASP.NET Core analizuje zakodowane nazwy plików cookie. Analizator plików cookie programu ASP.NET Core dekoduje całe ciągi plików cookie, co potencjalnie umożliwia osobie atakującej ustawienie drugiego pliku cookie z nazwą zakodowaną procentowo.
Inne problemy rozwiązane w tej wersji
- Usunięto awarię kompilatora w przypadku instrukcji lub wyrażeń switch korzystających z dopasowywania wzorców.
- Przywrócono przepływ pracy „Zatrzymaj debugowanie (Shift+F5)” dla testowania jednostkowego przez zakończenie przebiegu testu.
- Wprowadzono poprawkę zapobiegającą awarii programu VS podczas przełączania konfiguracji projektu, gdy projektant WinForms .NET Core ma niezapisane zmiany.
- Nieobsługiwane wersje platformy .NET Core nie będą już ponownie instalowane podczas naprawy lub uaktualniania, jeśli zostały usunięte poza instalatorem programu VS.
- Rozwiązano problem polegający na tym, że zależności zewnętrzne nie były dokładnie przeszukiwane przez funkcję Znajdź w plikach.
- Ponownie wprowadzono przycisk „Zatwierdź...” w podmenu Git w menu kontekstowym Eksploratora rozwiązań.
- Usunięto usterkę, która powodowała, że etykieta komentarzy zaewidencjonowania Kontroli wersji serwera Team Foundation była niewidoczna.
- Rozwiązano problem powodujący awarię podczas korzystania z projektanta WinForm w projekcie csproj w stylu zestawu SDK z wieloma platformami docelowymi.
- Rozwiązano problem polegający na tym, że <obiekt d:Style.DataContext> zgłaszał nieprawidłowy błąd znaczników.
Najważniejsze problemy z forum Developer Community rozwiązane w programie Visual Studio 2019 w wersji 16.7.3
- Program VS 2019 nie może znaleźć funkcji zatwierdzania kodu po zmodyfikowaniu kodu do zatwierdzenia
- Projektant WinForms nie ładuje formularzy z dziedziczeniem wizualnym. VS CRASH!
- Znajdź w plikach — niektóre pliki *.h nie są uwzględniane w wyszukiwaniu, chociaż wyraźnie należą do projektu
- Regresja — działająca w tle funkcja IntelliSense dla języka C++ zawiesza się w przypadku pliku opensslconf.h ze ścieżki UNC w wersji 16.7
- Pliki nagłówkowe są pomijane podczas refaktoryzacji kodu C++ przez zmianę sygnatury
- Komentarze zaewidencjonowania Kontroli wersji serwera Team Foundation nie są wyświetlane w programie VS 2019
- Projektant XAML WPF — kontekst danych stylu w czasie projektowania
- Zatrzymaj debugowanie (Shift+ F5) nie zatrzymuje testu programu VS 2019 update 16.7.2.
- Program VS 2019 nie otwiera folderu z projektem CMake
Visual Studio 2019 w wersji 16.7.2
wydany 18 sierpnia 2020 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.2
Najważniejsze problemy z forum Developer Community rozwiązane w programie Visual Studio 2019 w wersji 16.7.2
- Złoty pasek po wyjątku RPC w streamPipeReader.AdvanceTo: Brak operacji odczytu do ukończenia
- Rozwiązano problem z awarią, który występował podczas wpisywania rekordów pozycyjnych rozdzielonych przecinkami, ale przed wprowadzeniem następnego znaku.
- Awaria programu Visual Studio 2019 v 16.7 Xamarin Android podczas uruchamiania w trybie debugowania.
Visual Studio 2019 w wersji 16.7.1
wydany 11 sierpnia 2020 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.1
Najważniejsze problemy z forum Developer Community rozwiązane w programie Visual Studio 2019 w wersji 16.7.1
- SQL Server Project is crashing when editing columns using design panel (Projekt programu SQL Server ulega awarii podczas edytowania kolumn za pomocą panelu projektowania).
- Projekt usługi SQL Server Database: szybkie przewijanie w widoku projektu tabeli powoduje awarię programu VS
- CImage::Draw() has ambiguous call to DrawImage() in 16.7.0 Preview1 [Metoda CImage::Draw() zawiera niejednoznaczne wywołanie metody DrawImage() w wersji 16.7.0, wersja zapoznawcza 1]
- Compiler Error when lowering x86 switch statements (Błąd kompilatora podczas obniżania poziomu instrukcji switch x86)
- arm64: function too large after upgrade from 15.9.16 to 16.4.11 (ARM64: funkcja zbyt duża po uaktualnieniu z wersji 15.9.16 do wersji 16.4.11)
- Arm64: Rejestr pośredni (x8) zawiera nieprawidłową wartość na początku funkcji
- Unexpected error C2027: use of undefined type when using templates with /permissive- (Nieoczekiwany błąd C2027: użycie niezdefiniowanego typu podczas używania szablonów z parametrem /permissive-)
- Naprawiono usterkę powodującą awarię kompilatora C++ podczas kompilowania biblioteki NanoRange
Visual Studio 2019 w wersji 16.7.0
wydany 5 sierpnia 2020 r.
W tym wydaniu programu Visual Studio 2019 w wersji 16.7.0
C++
- Obsługa zdalna języka C++ obejmuje teraz szerszy zakres dystrybucji systemu Linux i powłok, w tym sh, csh, bash, tsch, ksh, zsh i dash. Można zastąpić wybór powłoki na potrzeby połączenia zdalnego, modyfikując nową właściwość „shell” przy użyciu programu ConnectionManager.exe. Obsługa została przetestowana zarówno z projektami systemu Linux opartymi na platformie MSBuild, jak i z projektami platformy CMake używanymi ze zdalnym systemem Linux lub podsystemem WSL.
- Można teraz używać narzędzia Ninja (systemu kompilacji umożliwiającego bardzo szybką ocenę kompilacji przyrostowych), aby skrócić czas kompilacji przyrostowych dla projektów systemu Linux opartych na platformie MSBuild. Możesz wybrać tę funkcję, ustawiając właściwość „Włącz kompilację przyrostową” na wartość „Przy użyciu narzędzia Ninja” na stronie właściwości ogólnych. W zdalnym systemie Linux lub podsystemie WSL musi być zainstalowane narzędzi Ninja (ninja-build).
- Zaimplementowano nowe funkcje biblioteki standardowej języka C++ 20. Aby uzyskać szczegółową listę, zobacz dziennik zmian biblioteki STL w witrynie GitHub.
- Teraz można edytować i ustawiać domyślne połączenia zdalne SSH w menedżerze połączeń. Oznacza to, że można edytować istniejące połączenie zdalne (np. w przypadku zmiany jego adresu IP) i ustawiać domyślne połączenia do użycia w plikach CMakeSettings.json i launch.vs.json. Zdalne połączenia SSH umożliwiają tworzenie i debugowanie projektów języka C++ w zdalnym systemie Linux bezpośrednio z programu Visual Studio.
- Ulepszono obsługę funkcji IntelliSense dla kompilatora clang w systemie Windows (clang-cl) w programie Visual Studio. Ścieżka dołączania kompilatora clang uwzględnia teraz biblioteki clang, ulepszono wyświetlanie zygzaków w edytorze podczas korzystania z biblioteki std oraz dodano obsługę języka C++ 2a w trybie clang.
- Teraz można wypróbować funkcję podkreślania błędów kodu i wyświetlić więcej sugerowanych szybkich poprawek w projektach C++. Włącz tę funkcję w obszarze Narzędzia > Opcje > Edytor > tekstu C/C++ > Eksperymentalny zestaw "Wyłącz linter kodu eksperymentalnego > " na wartość false. Więcej informacji znajduje się w blogu zespołu języka C++.
- Dodaliśmy cztery nowe reguły analizy kodu, aby uwzględnić dodatkowe funkcje bezpieczeństwa w języku C++: C26817, C26818, C26819 i C26820.
- Dodano wysokiej jakości obsługę debugowania projektów CMake w systemach zdalnych za pomocą programu gdbserver.
- Można łatwo wykrywać błędy uszkodzeń pamięci dzięki eksperymentalnej implementacji elementu AddressSanitizer dla języka C++ w programie Visual Studio, która jest teraz dostępna dla projektów natywnych x64. Teraz jest też obsługiwane korzystanie ze środowisk uruchomieniowych debugowania (/MTd, /MDd, /LDd).
- Funkcja IntelliSense obejmuje teraz podstawową obsługę pojęć, wyznaczonych inicjatorów i kilku innych funkcji języka C++20.
- Pliki ixx i cppm są teraz rozpoznawane jako pliki języka C++ i będą tak traktowane przez funkcje wyróżniania składni i IntelliSense.
Dynamiczne definiowanie list odtwarzania
Teraz można definiować listy odtwarzania dynamicznie na podstawie projektu, klasy lub przestrzeni nazw. Oznacza to, że można skonfigurować listę odtwarzania w celu uwzględnienia wszystkiego w określonym projekcie/klasie/przestrzeni nazw. Każdy nowy test dodany do tej grupy zostanie automatycznie uwzględniony na liście odtwarzania.
- Listę odtwarzania można utworzyć, klikając prawym przyciskiem myszy projekt, przestrzeń nazw lub grupowanie klas w eksploratorze testów.
- Aby edytować grupy uwzględnione na liście odtwarzania, kliknij przycisk edytowania na pasku narzędzi. Zostaną wyświetlone pola wyboru. Edytuj grupy zgodnie z potrzebami.
- Te listy odtwarzania nie są statycznymi listami testów, lecz są aktualizowane dynamicznie na podstawie reguł. Jeśli chcesz lepiej zrozumieć, jakie reguły generują dynamiczną listę odtwarzania, zapisz plik listy odtwarzania na dysku za pomocą przycisku zapisywania i wyświetl reguły wygenerowane w kodzie XML.
- Nadal można uwzględniać/wykluczać poszczególne testy, a lista odtwarzania będzie mogła zaktualizować swoje reguły dynamiczne lub wrócić do śledzenia testów jako listy statycznej. Można też używać cech do definiowania grupy dynamicznej, bezpośrednio edytując plik XML listy odtwarzania.
Wydajność usługi Git
Włącz funkcję w wersji zapoznawczej „Nowe środowisko użytkownika usługi Git” w obszarze Narzędzia | Opcje | Środowisko, aby korzystać z tego środowiska.
- Tworzenie nowego repozytorium Git z poziomu dowolnego folderu lub nowego folderu
- Zapisywanie i zamykanie otwartego folderu lub rozwiązania przed rozpoczęciem nowej operacji klonowania
- Przejrzyste wyświetlanie błędów zatwierdzania lub umieszczania w przechowalni w polu tekstowym zatwierdzania
- Wyświetlanie gałęzi GIT w widoku drzewa w nowym oknie Repozytorium GIT i zarządzanie nimi
- Przełączanie między grafami historii poszczególnych gałęzi oraz interakcja z nimi w oknie Repozytorium Git
- Wyświetlanie przychodzących i wychodzących zatwierdzeń w oknie Repozytorium Git
- Blog zespołu ds. wydajności usługi Git z dodatkowymi informacjami o najnowszych funkcjach
Rozwiązywanie konfliktów scalania za pomocą edytora scalania zorientowanego na usługę Git przy użyciu:
- Pasek informacyjny w plikach zawierający konflikty scalania, który monituje o otwarcie edytora scalania
- Więcej informacji w tytułach i podpisach oraz bardziej uporządkowany edytor scalania
- Różnice w konfliktach zapewniające wyrównywanie pasujących wierszy, pokazywanie różnic na poziomie wyrazów i wyświetlanie widocznych odstępów, gdy są one jedyną różnicą.
- Dwukierunkowe scalanie dla konfliktów dodawania/dodawania na poziomie plików
- Możliwość rozwiązywania wszystkich konfliktów w jedną lub drugą stronę jednym kliknięciem
- Przełącznik umożliwiający skupianie się na samych konfliktach i ignorowanie różnic niepowodujących konfliktu
JavaScript/TypeScript
- Implementacje uzupełniania i szybkich informacji zostały zaktualizowane w celu lepszej obsługi scenariuszy funkcji LiveShare.
Proces lokalny z usługą Kubernetes
Funkcja procesu lokalnego z użyciem platformy Kubernetes umożliwia pisanie, testowanie i debugowanie kodu .NET na deweloperskiej stacji roboczej przy zachowaniu połączenia klastra Kubernetes z resztą Twoich aplikacji lub usług. Łącząc deweloperską stację roboczą z klastrem, można wyeliminować konieczność ręcznego uruchamiania i konfigurowania zależnych usług na komputerze deweloperskim. Zmienne środowiskowe, parametry połączeń i woluminy z klastra są dostępne dla kodu mikrousług działającego lokalnie. Nie są potrzebne dodatkowe zasoby, takie jak manifesty Dockerfile lub Kubernetes. Można uruchamiać, debugować i testować kod platformy .NET w zwykły sposób.
Aby włączyć proces lokalny za pomocą platformy Kubernetes, przejdź do pozycji Narzędzia > Opcje Funkcji > > wersji zapoznawczej aplikacji i wybierz pozycję "Włącz lokalne debugowanie dla usług Kubernetes".
W przypadku aplikacji konsoli dla platformy .NET wymagany jest dodatkowy krok. Zainstaluj pakiet NuGet „Microsoft.VisualStudio.Azure.Kubernetes.Tools.Targets”.
Produktywność platformy .NET
Jeśli operator pomijania został wprowadzony, ale nie ma żadnego efektu, jest wyświetlane ostrzeżenie oraz poprawka kodu. Dostępna jest także druga poprawka kodu, sugerująca prawidłowe wyrażenie negujące. Umieść kursor na operatorze pomijania. Naciśnij klawisze (Ctrl + .), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Następnie wybierz jedną z opcji:
- Aby całkowicie usunąć operator, wybierz pozycję Usuń operator (zachowuje semantykę):
- Aby zanegować wyrażenie, wybierz pozycję Neguj wyrażenie (zmienia semantykę):
- Możesz także zanegować wyrażenie przy użyciu nowego wzorca
not
w języku C# 9, jeśli jest dostępny w projekcie:
Można teraz generować właściwości podczas generowania konstruktora w typie. Umieść kursor na wystąpieniu. Naciśnij klawisze (Ctrl + .), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Generuj konstruktor w pozycji <QualifiedName> (z właściwościami).
- W szybkich informacjach jest teraz wyświetlany identyfikator diagnostyczny wraz z linkiem Pomocy, przy użyciu którego można łatwo przejść do naszej dokumentacji, aby dowiedzieć się więcej o ostrzeżeniach i błędach w kodzie.
- Teraz jest dostępna szybka akcja w celu dodawania atrybutu wyświetlania debugera do klasy. Umożliwia to programowe przypinanie właściwości w debugerze w kodzie. Umieść kursor na nazwie klasy. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Dodaj atrybut „DebuggerDisplay”. Spowoduje to dodanie atrybutu wyświetlania debugera na początku klasy i wygenerowanie automatycznej metody zwracającej funkcję ToString(), którą można edytować w celu zwrócenia wartości właściwości do przypięcia w debugerze.
- Teraz jest dostępna poprawka kodu dla przypadkowych przypisań lub porównań z tą samą zmienną. Umieść kursor na ostrzeżeniu. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. W przypadku przypadkowych przypisań wybierz pozycję Przypisz do <kwalifikowanej nazwy.value>. W przypadku przypadkowych porównań wybierz pozycję Porównaj z kwalifikowaną <nazwą.value>.
- Teraz można generować operatory porównania dla typów implementujących interfejs IComparable. Umieść kursor wewnątrz klasy lub na interfejsie IComparable. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Generuj operatory porównania. Zostanie wygenerowany standardowy kod z operatorami porównania.
- Podczas generowania elementu .Equals dla struktur można teraz generować operatory IEquatable. Istniała już refaktoryzacja do generowania elementów Equals i GetHashCode dla typów wartości. Teraz w przypadku struktur będzie automatycznie dodawany element IEquatable, a także operatory równości i nierówności. Umieść kursor wewnątrz struktury. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Generuj element Equals(object).
- Teraz można tworzyć i przypisywać właściwości lub pola dla wszystkich nieużywanych parametrów konstruktora. Istniała już szybka akcja do wykonywania tej operacji na pojedynczym parametrze, ale teraz można wykonać ją jednocześnie dla wszystkich nieużywanych parametrów. Umieść kursor na dowolnym z pozostałych parametrów. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Aby utworzyć i zainicjować właściwości, wybierz pozycję Utwórz i przypisz pozostałe jako właściwości. Aby utworzyć i zainicjować pola, wybierz pozycję Utwórz i przypisz pozostałe jako pola.
- Teraz jest dostępne uzupełnianie funkcji IntelliSense w literałach ciągu DateTime i TimeSpan. Umieść kursor wewnątrz literału ciągu DateTime lub TimeSpan i naciśnij klawisze (Ctrl+spacja). Zobaczysz opcje uzupełniania oraz objaśnienie znaczenia poszczególnych znaków. Zostanie podany format daty i godziny, a także przykład.
- Teraz można dodać parametr w oknie dialogowym Zmienianie sygnatury. Umieść kursor wewnątrz sygnatury metody. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Zmień sygnaturę. Zostanie otwarte następujące okno dialogowe, w którym można teraz wybrać pozycję Dodaj, aby dodać parametr. Po wybraniu pozycji Dodaj zostanie otwarte okno dialogowe Dodawanie parametru. Okno dialogowe Dodawanie parametru umożliwia dodanie nazwy typu i nazwy parametru. Można określić, że parametr jest wymagany lub jest opcjonalny z wartością domyślną. Następnie można dodać wartość w miejscu wywołania i wybrać nazwany argument dla tej wartości albo można wprowadzić zmienną TODO. Zmienna TODO umożliwia umieszczenie elementu TODO w kodzie, aby można było odwiedzać poszczególne błędy oraz przechodzić niezależnie do poszczególnych lokalizacji wywołań i decydować, co należy przekazać. W przypadku parametrów opcjonalnych można całkowicie pomijać lokalizację wywołania.
- Autorzy analizatorów mogą teraz używać elementów CompletionProvider dla uzupełnień funkcji IntelliSense w przypadku dostarczania swoich analizatorów przy użyciu narzędzia NuGet. Wcześniej autorzy bibliotek musieli tworzyć oddzielny element VSIX, ponieważ elementy CompletionProvider były dostępne tylko w elemencie VSIX. Teraz autorzy bibliotek mogą implementować uzupełnienia funkcji IntelliSense w pakiecie NuGet, który zawiera ich analizatory, i nie muszą robić tego osobno. Dostawcy uzupełniania zaimplementowani w pakietach NuGet będą też udostępniać sugestie specyficzne dla poszczególnych projektów i będą automatycznie działać w każdym środowisku IDE obsługującym tę funkcję.
Razor
Wypróbuj nowy, eksperymentalny edytor Razor z obsługą protokołu Language Server Protocol (LSP), który działa ze wszystkimi plikami Razor (cshtml/razor), wybierając funkcję w wersji zapoznawczej Włącz eksperymentalny edytor Razor.
Eksplorator testów
Do eksploratora testów dodano polecenia Uruchom/Debuguj wszystkie testy w widoku. Te polecenia zastępują polecenia Uruchom wszystkie testy i Debuguj wszystkie testy, które były wyświetlane w eksploratorze testów. Celem tej zmiany jest wyjaśnienie, że te polecenia uwzględniają filtry eksploratora testów, tak aby były uruchamiane tylko testy widoczne w oknie. Dotyczy to zarówno filtrów kolumn, jak i filtrów w polach wyszukiwania.
Polecenia Globalnie uruchom/debuguj wszystko będą teraz wyświetlane tylko w menu testów najwyższego poziomu. Nie są one już uwzględniane na pasku narzędzi eksploratora testów ani w menu kontekstowym żadnego widoku okna testów. W przypadku uruchamiania z eksploratora testów polecenie Analizuj pokrycie kodu dla wszystkich testów dotyczy teraz również widoków okna testów.
Klawisze skrótów:
- Ctrl R, A — Uruchom wszystkie testy — polecenie globalne zawsze uruchamia wszystkie testy
- Ctrl R, V — Uruchom wszystkie testy w widoku — polecenie prawidłowe tylko wtedy, gdy jest aktywne okno testów (eksplorator testów, lista odtwarzania, okno testowania jednostek na żywo)
- Ctrl R, Ctrl A — Debuguj wszystkie testy — polecenie globalne zawsze debuguje wszystkie testy
- Ctrl R, Ctrl V — Uruchom wszystkie testy w widoku — polecenie prawidłowe tylko wtedy, gdy jest aktywne okno testów (eksplorator testów, lista odtwarzania, okno testowania jednostek na żywo)
Debuger
Wyświetlanie zarządzanych obiektów COM za pośrednictwem wskaźników natywnych
Ta funkcja automatycznie dekoduje zarządzane obiekty COM, do których odwołują się wskaźniki natywne, co pozwala na pełną inspekcję wartości w oknie zmiennych lokalnych. Więcej informacji na ten temat możesz znaleźć tutaj w blogu programu Visual Studio.
Profiler
Nowe narzędzie liczników wydajności .NET
Wizualizuj liczniki dotnet bezpośrednio z poziomu profilera programu Visual Studio za pomocą narzędzia liczników wydajności .NET. Aby wypróbować to narzędzie, przejdź do pozycji Debugowanie —> Profiler wydajności —> narzędzie Checkmark .NET Performance Counters Tool.
Xamarin
- Wprowadzono poprawki kodu dla najczęstszych problemów napotykanych przez użytkowników pracujących z plikami układów systemu Android.
- Środowisko wyboru szablonu zestawu narzędzi Xamarin.Forms ma odświeżony i bardziej przejrzysty wygląd, a w szablonach z oknem wysuwanym i z kartami jest teraz używana powłoka. Więcej informacji na temat powłoki znajdziesz tutaj. Jeśli z jakiegokolwiek powodu nie chcesz używać powłoki, wybierz szablon pusty.
Narzędzia XAML (WPF, UWP i Xamarin.Forms)
Przeładowywanie kodu XAML na gorąco:
- Ulepszenia paska narzędzi w aplikacji: ulepszyliśmy środowisko paska narzędzi w aplikacji, które jest częścią przepływu pracy narzędzi XAML Przeładowywanie na gorąco dla platformy WPF i UWP. Po zmianach pasek narzędzi jest krótszy, dzięki czemu nie zasłania uruchomionej aplikacji. Zmieniono też mechanizm zwijania: po kliknięciu zostanie najpierw zwinięty tekst Przeładowywanie kodu XAML na gorąco, a dopiero po drugim kliknięciu — cały pasek.
Projektant XAML:
- Rozszerzona obsługa danych w czasie projektowania dla platformY WPF i UWP: w tej wersji wprowadzamy nową funkcję danych czasu projektowania dla deweloperów WPF .NET Core i UWP. Ta nowa możliwość rozszerzy bieżącą listę dostępnych właściwości czasu projektowania przy użyciu prefiksu d:. Będzie ona znajoma dla deweloperów korzystających z zestawu narzędzi Xamarin.Forms, ponieważ udostępnia taką samą metodę użycia prefiksu „d:” w celu wskazania właściwości, która ma być renderowana tylko w czasie projektowania i nigdy nie będzie kompilowana w uruchamianej aplikacji — co sprawia, że można bardzo bezpiecznie używać jej na potrzeby walidacji interfejsu użytkownika w czasie projektowania. W tej wersji obsługiwane są wszystkie wbudowane kontrolki podsystemu WPF i platformy UWP, a w przyszłych wersjach zaplanowano wprowadzenie obsługi kontrolek innych firm i kontrolek niestandardowych.
- Przycisk odświeżania projektanta XAML: dodaliśmy przycisk odświeżania do projektanta XAML. Ta nowa ikona znajduje się w lewym dolnym obszarze ikony w pobliżu wskaźnika poziomu powiększenia. Akcja odświeżenia powoduje zresetowanie widoku projektanta, podobnie jak zamknięcie go i ponowne otwarcie, w rzadkich sytuacjach, gdy jest to wymagane w celu rozwiązania problemu z renderowaniem. Ta funkcja jest dostępna dla deweloperów platform WPF .NET Core i UWP.
Edytor kodu XAML:
- Wizualizator kolorów: ulepszyliśmy nasz nowy wizualizator kolorów w edytorze kodu XAML dla projektów WPF .NET Core, WPF .NET Framework i Xamarin.Froms. W tej wersji dodaliśmy obsługę wizualizacji kolorów pochodzących z zasobów, które nie były obsługiwane w poprzedniej wersji zapoznawczej.
Pokazywanie elementów przybornika z pakietu NuGet bez odwołania do pakietu
Wielu autorów bibliotek kontrolek chce, aby kontrolki były widoczne w przyborniku nawet wtedy, gdy bieżący projekt nie odwołuje się jeszcze do biblioteki, ponieważ ułatwia to odnajdywanie. Dotychczas w zestawach SDK WPF platformy .NET Framework było to realizowane przy użyciu wpisów rejestru, ale nie obsługuje tego platforma .NET Core. W przypadku platformy WPF .NET Core przybornik można teraz wypełniać kontrolkami z plików VisualStudioToolsManifest.xml znalezionych w pakietach NuGet platformy WPF .NET Core w folderach rezerwowych NuGet. Aby uzyskać więcej informacji, zobacz dokumentację w repozytorium rozszerzalności projektanta XAML w witrynie GitHub.
Windows Forms
Projektant formularzy systemu Windows dla platformy .NET Core
Projektant formularzy systemu Windows dla platformy .NET Core jest teraz dostępny. Aby włączyć projektanta w programie Visual Studio, przejdź do pozycji Narzędzia > Opcje > Środowiska > w wersji zapoznawczej Funkcje i wybierz opcję Użyj projektanta formularzy systemu Windows w wersji zapoznawczej dla aplikacji platformy .NET Core.
W tej wersji są teraz obsługiwane następujące kontrolki, a także inne ulepszenia:
- Element UserControl i infrastruktura kontrolek niestandardowych
- Element TableLayoutPanel
- Podstawy obsługi kontrolek innych firm
- Podstawy obsługi powiązań danych
- Ulepszenia interakcji projektanta z elementem TableLayoutPanel
Poprawki błędów
Najważniejsze problemy rozwiązane w programie Visual Studio 2019 w wersji 16.7.0
- Poprawiono błąd instalacji składnika dostawcy usługi WMI.
- Naprawiono problem polegający na tym, że użytkownicy nie mogli wyświetlić postępu przebiegu testu, klikając lewy przycisk u dołu paska.
- Poprawiono wydajność odkrywania dostępnych planów rozliczeniowych usługi Visual Studio Codespaces.
- Podczas tworzenia wystąpienia usługi Visual Studio Codespaces zmieniono domyślny czas wstrzymania z 30 minut na 3 godziny.
- Usunięto usterkę polegającą na tym, że okno zmian Git informuje użytkownika o przychodzących/wychodzących zatwierdzeniach, gdy w rzeczywistości takich nie ma.
- Poprawiono stabilność narzędzi diagnostycznych profilera wydajności.
- Rozwiązano problem polegający na tym, że rozszerzenie programu Visual Studio dla usługi Azure Sphere nie jest automatycznie aktualizowane z powodu drobnej niezgodności wersji. Dzięki tej poprawce usługa Azure Sphere będzie mogła być automatycznie aktualizowana po uruchomieniu automatycznego aktualizatora VSIX.
Zgłaszane na forum Developer Community
- An error occured in '[Unknown]' while attempting to open (Wystąpił błąd w elemencie „[Nieznany]” podczas próby otwarcia)
- Unable to preview file changes or prevent files from being published since 16.6 (Od wersji 16.6 nie można wyświetlać podglądu zmian w plikach ani uniemożliwiać publikowania plików)
- MSDeploy breaks with upgrade to VS2019 16.6.2 (Program MSDeploy przestaje działać po uaktualnieniu do programu VS2019 16.6.2)
- ArgumentNullException occurs when you try to set URI property of custom WPF control in VisualStudio (Występuje wyjątek ArgumentNullException podczas próby ustawienia właściwości identyfikatora URI niestandardowej kontrolki WPF w programie Visual Studio)
- Visual Studio Prof 2019, 16.7.0 Preview 4.0, change of Output Window behaviour (Zmiana zachowania okna Dane wyjściowe w programie Visual Studio Professional 2019, 16.7.0, wersja zapoznawcza 4.0)
- If in a DSL a Connector exposes the Thickness property, the Get/SetThicknessValue(...) methods are not created by T4 Transformation after switching VS language [Jeśli w języku specyficznym dla domeny łącznik uwidacznia właściwość Thickness, metody Get/SetThicknessValue(...) nie są tworzone przez transformację T4 po zmianie języka programu Visual Studio]
- Publish wizard throws "One or more errors occurred." message (Kreator publikowania zgłasza komunikat „Wystąpił co najmniej jeden błąd”)
- Dodawanie nowego elementu szkieletu kończy się niepowodzeniem po aktualizacji do wersji 16.7
- Inicjatory wyznaczone przez funkcję IntelliSense dla języków C i C++ 2a
- Wyewidencjonowanie gałęzi w usłudze Git — odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.
- Pakiet „GoogleTestExtensionOptionsPage” nie był ładowany poprawnie, jeśli było zainstalowane rozszerzenie powodujące konflikt
- Options-Xamarin-Apple>> Accounts ! Poczekaj na zainicjowanie lokalnej usługi aprowizacji
- Regresja: Eksplorator testów "Kopiuj wszystko" nie daje pełnych danych wyjściowych testu jednostkowego
- Wyświetlanie polecenia Przejdź do definicji z poziomu metadanych
- Polecenie „Pokaż elementy z niezaimportowanych przestrzeni nazw” powoduje niepoprawne działanie sugestii elementów członkowskich
- Brak przełączania okna danych wyjściowych do widoku „Kontrola źródła — Git” podczas kompilacji
- Program Visual Studio generuje plik xml podczas edytowania plików axml
- Program VS 16.4 wykonuje pełną kompilację projektu usługi Azure Functions za każdym razem
- Błąd podczas aktywowania zdalnego serwera języka
- Cykliczna pusta referencja podczas ponownego otwierania dokumentów
- Pozycja menu kontekstowego Wyświetl historię w Eksploratorze rozwiązań nie działa
- Awaria środowiska IDE w tle po otwarciu nowego rozwiązania
- Awaria programu Visual Studio 2019 w wersji 16.7 (wersja zapoznawcza 1) podczas wykonywania polecenia Aapt2DaemonStart()
- Program ServiceHub.Host.CLR.x64 przestał działać
- Naruszenie dostępu do zapisu w destruktorze obiektu globalnego const
- Utrata połączenia z komputerem Mac przy każdej kompilacji
- Funkcja IntelliSense nie działa podczas tworzenia nowej klasy w nowym folderze
- Nie można dodać elementu Xamarin.Forms do pliku .shproj
- Brak lintera kodu dla języka C++ w opcjach wersji zapoznawczej
- Wyjątek System.IO.FileNotFoundException Microsoft.VisualStudio.Shell
- Nie pokazuj zadań do wykonania na liście zadań z nagłówków zestawu SDK
- Program Visual Studio 2019 zawiesza się podczas otwierania pliku web.config
- Po aktualizacji do wersji 16.7.0 (wersja zapoznawcza 2) nie można dodawać nowych widoków
- Wyrażenie zwijania nie działa bezpośrednio w wyrażeniu SFINAE
- Program Visual Studio 2019 ulega awarii po otwarciu menu View-Other> windows
- Program Team Explorer nie jest ładowany po aktualizacji do obowiązkowej najnowszej wersji programu Visual Studio 2019
- Eksplorator modułu uruchamiającego zadania wywołuje zadanie dwa razy przy otwieraniu projektu
- Kontrolki WPF .NET Framework w programie Visual Studio 2019 są wyświetlane wielokrotnie
- Ponowne dołączanie nie działa, gdy typ połączenia to platforma Docker (kontenery systemu Windows)
- Nie jest wykonywana inicjalizacja agregująca dla tablicy dynamicznej
- Nie działa opcja Edytor tekstu/C/C++/Zaawansowane/Włącz otaczanie nawiasami
- Fikcyjny błąd C2668: „niejednoznaczne wywołanie przeciążonej funkcji” w przypadku wywoływania szablonów przeciążonych funkcji z parametrem szablonu bez typu
- Program Visual Studio 16.4 jest zajęty
- Funkcja konfiguracji automatycznej narzędzia CMake zawsze usuwa pamięć podręczną po edytowaniu pliku CMakeLists.txt
- Brak inicjalizacji dla typów POD przy tworzeniu obiektów na stercie
- Poważna usterka kompilatora VC
- Wewnętrzny błąd kompilatora z indeksowaną właściwością C++/CLI w programie Visual Studio 2019 w wersji 16.5
- W rozszerzeniu niestandardowym jest zgłaszany wyjątek braku odpowiedzi interfejsu użytkownika
- Wewnętrzny błąd kompilatora przy dostępie indeksatora
- Uaktualnienie w środowisku uruchomieniowym języka C++ z wersji 14.24.28127 do 14.25.28610 powoduje uszkodzenie kompilacji przeglądarki Chromium za pomocą kompilatora clang_cl
- Błąd umieszczania w przechowalni w usłudze Git
- ISetupConfiguration.GetInstanceForCurrentProcess zgłasza błąd COMException: Nie znaleziono elementu
- Kompilacja na platformie Xamarin.IOS kończy się niepowodzeniem i występuje wyjątek MessagingRemoteException
- Deklaracja elementu zaprzyjaźnionego klasy szablonu jest ignorowana
- Wykluczanie elementów z porównania schematów powoduje awarię programu Visual Studio, jeśli nie jest wykonywane w bardzo małych partiach
- Program Visual Studio 2019 w wersji 16.5.1 jest bardzo powolny.
- Nie można używać elementu ClassName::* w punkcie przerwania funkcji, aby ustawiać punkty przerwania dla wszystkich metod klasy języka C++ w programie VS2019
- W narzędziu do wyrażania opinii jest uszkodzony link z obrazem wylogowywania
- Błąd kompilacji C2737 dla prawidłowego kodu
Znane problemy
Zobacz wszystkie otwarte problemy i dostępne obejścia w programie Visual Studio 2019, wybierając poniższy link.
Opinie i sugestie
Chcemy poznać Twoje zdanie! Problemy możesz zgłaszać za pomocą opcji Zgłoś problem w prawym górnym rogu instalatora lub bezpośrednio w środowisku IDE programu Visual Studio. Ikona znajduje się w prawym górnym rogu. Zgłaszanie sugestii dotyczących produktów i śledzenie problemów jest możliwe w społeczności deweloperów programu Visual Studio, gdzie można też zadawać pytania, znajdować odpowiedzi i proponować nowe funkcje. Możesz też uzyskać bezpłatną pomoc dotyczącą instalacji za pośrednictwem naszej pomocy technicznej przez czat na żywo.
Blogi
Skorzystaj ze szczegółowych informacji i zaleceń dostępnych w witrynie blogów dotyczących narzędzi programistycznych, aby być na bieżąco ze wszystkimi nowymi wersjami i zyskać dostęp do szczegółowych wpisów dotyczących szerokiego zakresu funkcji.
Historia informacji o wersji programu Visual Studio 2019
Więcej informacji na temat poprzednich wersji programu Visual Studio 2019 można znaleźć na stronie Historia informacji o wersji programu Visual Studio 2019.