Visual Studio IconInformacje o wersji 16.0 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 .



Co nowego w programie Visual Studio 2019 w wersji 16.0

Ramy czasowe pomocy technicznej

Program Visual Studio 2019 w wersji 16.0 nie jest już obsługiwany.

Użytkownicy wersji Enterprise i Professional programu Visual Studio 2019 16.0 mieli dostęp do wsparcia i otrzymywali poprawki do luk w zabezpieczeniach do stycznia 2021 r. Te ramy czasowe zostały ustalone ze względu na to, że w grudniu 2019 r. jako następny plan bazowy obsługi do produktu Visual Studio 2019 został wyznaczony program Visual Studio 2019 w wersji 16.4. 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.0

Blog dotyczący programu Visual Studio 2019

Blog dotyczący programu Visual Studio 2019 to oficjalne źródło informacji o produkcie pochodzących od zespołu inżynierów ds. programu Visual Studio. Znajdziesz tam szczegółowe informacje na temat wersji programu Visual Studio 2019.


Release Notes Icon Visual Studio 2019 w wersji 16.0.22

data wydania: 12 stycznia 2020 r.

Zalecenia dotyczące zabezpieczeń w wersji 16.0.22

CVE-2021-1651 CVE-2021-1680 / Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowej usługi modułu zbierającego centrum diagnostyki

Luka w zabezpieczeniach dotycząca podniesienia uprawnień występuje, gdy standardowy moduł zbierający centrum diagnostyki nieprawidłowo obsługuje operacje na danych.

CVE-2020-26870 luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu Instalator programu Visual Studio

Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu występuje, gdy instalator programu Visual Studio próbuje wykazać złośliwy znacznik markdown.


Release Notes Icon Visual Studio 2019 w wersji 16.0.21

wydany 8 grudnia 2020 r.

Zalecenia dotyczące zabezpieczeń w wersji 16.0.21

CVE-2020-17156 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w programie Visual Studio

Istnieje luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu, gdy program Visual Studio klonuje złośliwe repozytorium.


Release Notes Icon Visual Studio 2019 w wersji 16.0.20

wydany 10 listopada 2020 r.

Zalecenia dotyczące zabezpieczeń w wersji 16.0.20

CVE-2020-17100 Luka w zabezpieczeniach dotycząca naruszenia w programie Visual Studio

Luka w zabezpieczeniach polegająca na nieuprawnionej modyfikacji występuje podczas tworzenia folderu python27 za pomocą dodatku Python Tools for Visual Studio. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby uruchamiać procesy w kontekście o podniesionych uprawnieniach.


Release Notes Icon Visual Studio 2019 w wersji 16.0.19

wydany 13 października 2020 r.

W tej wersji 16.0.19

  • dodano do programu Visual Studio 2019 zestaw SDK .NET Core 2.1.616.

Release Notes Icon Visual Studio 2019 w wersji 16.0.18

wydany 8 września 2020 r.

Problem rozwiązany w wersji 16.0.18

  • 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.

Zalecenia dotyczące zabezpieczeń w wersji 16.0.18

CVE-2020-1130 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowego modułu zbierającego centrum diagnostyki

Luka w zabezpieczeniach dotycząca podniesienia 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 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 w programie Visual Studio

Luka w zabezpieczeniach umożliwiająca zdalne wykonanie kodu występuje w programie Visual Studio, gdy nieprawidłowo obsługuje on 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 w programie Visual Studio

Luka w zabezpieczeniach umożliwiająca zdalne wykonanie kodu występuje w programie Visual Studio, gdy nieprawidłowo obsługuje on 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ń platformy Microsoft ASP.NET Core

W programie Microsoft ASP.NET Core istnieje luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń, wynikająca ze sposobu analizowania zakodowanych nazw 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.


Release Notes Icon Program Visual Studio 2019 w wersji 16.0.17

wydany 11 sierpnia 2020 r.

Problem rozwiązany w wersji 16.0.17

Zalecenia dotyczące zabezpieczeń w wersji 16.0.17

CVE-2020-1597 ASP.NET luka w zabezpieczeniach dotycząca odmowy usługi

Luka w zabezpieczeniach typu „odmowa usługi” występuje na platformie ASP.NET Core, gdy nieprawidłowo obsługuje ona żądania internetowe. Tę lukę w zabezpieczeniach może wykorzystać atakujący i spowodować odmowę usługi dla aplikacji internetowej platformy ASP.NET Core. Lukę w zabezpieczeniach można wykorzystać zdalnie bez uwierzytelniania.


Release Notes Icon Program Visual Studio 2019 w wersji 16.0.16

wydany 14 lipca 2020 r.

Problemy rozwiązane w wersji 16.0.16

Zalecenia dotyczące zabezpieczeń w wersji 16.0.16

CVE-2020-1393 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowej usługi modułu zbierającego centrum diagnostyki

Występuje luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień, gdy standardowa usługa modułu zbierającego centrum diagnostyki systemu Windows nie może poprawnie oczyścić danych wejściowych, co prowadzi do niebezpiecznego zachowania przy ładowaniu bibliotek.

CVE-2020-1416 Luka w zabezpieczeniach dotycząca podniesienia uprawnień w programie Visual Studio

Występuje luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień w programie Visual Studio, gdy ładuje on zależności oprogramowania.

CVE-2020-1147 Luka w zabezpieczeniach dotycząca odmowy usługi platformy .NET Core

Zdalny nieuwierzytelniony atakujący mógł wykorzystać tę lukę w zabezpieczeniach, wykonując specjalnie spreparowane żądania do aplikacji ASP.NET Core lub innej aplikacji, która analizuje niektóre typy kodu XML. Aktualizacja zabezpieczeń eliminuje tę lukę w zabezpieczeniach, ograniczając typy, które mogą być obecne w ładunku XML.


Release Notes IconProgram Visual Studio 2019 w wersji 16.0.15

wydany 9 czerwca 2020 r.

Problemy rozwiązane w wersji 16.0.15

Zalecenia dotyczące zabezpieczeń w wersji 16.0.15

CVE-2020-1108 / CVE-2020-1108.NET Core Odmowa usługi

Aby kompleksowo rozwiązać problem CVE-2020-1108, firma Microsoft udostępniła aktualizacje dla platform .NET Core 2.1 i .NET Core 3.1. Klienci korzystający z dowolnej z tych wersji platformy .NET Core powinni zainstalować najnowszą wersję platformy .NET Core. Zobacz Informacje o wersji, aby uzyskać numery najnowszych wersji oraz instrukcje dotyczące aktualizowania platformy .NET Core.

CVE-2020-1202 / CVE-2020-1203 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 lub standardowy moduł zbierający programu Visual Studio niepoprawnie obsługują obiekty w pamięci.

CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowej usługi modułu zbierającego centrum diagnostyki

Luka w zabezpieczeniach dotycząca podniesienia uprawnień występuje, gdy standardowa usługa modułu zbierającego centrum diagnostyki nieprawidłowo obsługuje operacje na plikach


Release Notes Icon Visual Studio 2019 w wersji 16.0.14

wydany 12 maja 2020 r.

Problemy rozwiązane w wersji 16.0.14

  • Dodano zmianę, która umożliwia administratorom IT przedsiębiorstwa i inżynierom wdrażania konfigurowanie narzędzi, takich jak Microsoft Update Client i SCCM w celu określenia możliwości zastosowania aktualizacji programu VS2019 16.0 hostowanych w katalogu usługi Microsoft Update i w usługach WSUS.

Zalecenia dotyczące zabezpieczeń w wersji 16.0.14

CVE-2020-1108 Luka w zabezpieczeniach dotycząca odmowy usługi platformy .NET Core

Zdalny nieuwierzytelniony atakujący może wykorzystać tę lukę, wysyłając do aplikacji .NET Core specjalnie przygotowane żądania. Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, poprawiając sposób obsługi żądań internetowych w aplikacji internetowej .NET Core.


Release Notes Icon Visual Studio 2019 w wersji 16.0.13

wydany 14 kwietnia 2020 r.

Zalecenia dotyczące zabezpieczeń w wersji 16.0.13

CVE-2020-0899 Luka w zabezpieczeniach podniesienia uprawnień w programie Microsoft Visual Studio

W sytuacjach, gdy usługa aktualizatora programu Microsoft Visual Studio niepoprawnie obsługuje uprawnienia do pliku, występuje luka w zabezpieczeniach podniesienia uprawnień. Osoba atakująca, która pomyślnie wykorzysta tę lukę w zabezpieczeniach, może zastąpić dowolną zawartość pliku w kontekście zabezpieczeń systemu lokalnego.

CVE-2020-0900 Luka w zabezpieczeniach podniesienia uprawnień w usłudze instalatora rozszerzeń programu Visual Studio

Istnieje luka w zabezpieczeniach podniesienia uprawnień, gdy usługa instalatora rozszerzeń programu Visual Studio nieprawidłowo obsługuje operacje na plikach. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby usuwać pliki w dowolnych lokalizacjach z podwyższonym poziomem uprawnień.

CVE-2020-5260 Luka w zabezpieczeniach dotycząca przecieku poświadczeń w usłudze Git dla programu Visual Studio z powodu niewystarczającej weryfikacji adresów URL

Istnieje luka w zabezpieczeniach dotycząca przecieku poświadczeń, gdy specjalnie spreparowane adresy URL są analizowane i wysyłane do pomocników poświadczeń. Może to prowadzić do wysyłania poświadczeń do niewłaściwego hosta.


Release Notes Icon Visual Studio 2019 w wersji 16.0.12

wydany 10 marca 2020 r.

Problemy rozwiązane w wersji 16.0.12

Zalecenia dotyczące zabezpieczeń

CVE-2020-0793 i CVE-2020-0810 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 niepoprawnie obsługuje operacje na plikach lub standardowa usługa modułu zbierającego centrum diagnostyki systemu Windows nie może poprawnie oczyścić danych wejściowych.

CVE-2020-0884 Luka w zabezpieczeniach umożliwiająca podszywanie się podczas tworzenia dodatku programu Outlook dla Internetu

Luka w zabezpieczeniach umożliwiająca podszywanie się występuje podczas tworzenia dodatku programu Outlook dla Internetu, jeśli jest włączone uwierzytelnianie wieloskładnikowe

CVE-2020-0789 Luka w zabezpieczeniach umożliwiająca odmowę usługi instalatora rozszerzenia programu Visual Studio

Luka w zabezpieczeniach umożliwiająca odmowę usługi istnieje, gdy usługa instalatora rozszerzenia programu Visual Studio nieprawidłowo obsługuje twarde linki. Atakujący, który wykorzystał tę lukę, może spowodować brak odpowiedzi systemu docelowego.


Release Notes Icon Visual Studio 2019 w wersji 16.0.11

wydany 14 stycznia 2020 r.

Zalecenia dotyczące zabezpieczeń

CVE-2020-0602 Luka w zabezpieczeniach umożliwiająca atak typu „odmowa usługi” na platformie ASP.NET Core

Zdalny nieuwierzytelniony atakujący może wykorzystać tę lukę, wysyłając do aplikacji ASP.NET Core specjalnie przygotowane żądania. Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, poprawiając sposób obsługi żądań internetowych w aplikacji internetowej ASP.NET Core.

CVE-2020-0603 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu na platformie ASP.NET Core

Zdalny nieuwierzytelniony atakujący może wykorzystać tę lukę, wysyłając do aplikacji ASP.NET Core specjalnie przygotowane żądania. Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, poprawiając sposób obsługi pamięci wewnętrznej przez aplikację internetową ASP.NET Core.


Release Notes IconVisual Studio 2019 w wersji 16.0.10

wydany 10 grudnia 2019 r.

Problemy rozwiązane w wersji 16.0.10

Zalecenia dotyczące zabezpieczeń

CVE-2019-1349 Luka w zabezpieczeniach zdalnego wykonywania w narzędziu Git dla programu Visual Studio spowodowana zbyt łagodnymi ograniczeniami dla nazw modułów podrzędnych

Istnieje luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu, gdy w narzędziu Git dojdzie do kolizji nazw modułów podrzędnych dla katalogów równorzędnych modułów podrzędnych. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby zdalnie wykonać kod na maszynie docelowej. Aktualizacja zabezpieczeń eliminuje tę lukę w zabezpieczeniach, ponieważ pobierana nowa wersja narzędzia Git dla systemu Windows wymaga, aby katalog dla klona modułów podrzędnych był pusty.

CVE-2019-1350 Luka w zabezpieczeniach zdalnego wykonywania w narzędziu Git dla programu Visual Studio spowodowana niepoprawnym cytowaniem argumentów wiersza polecenia

Istnieje luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu, która występuje, gdy narzędzie Git interpretuje argumenty wiersza polecenia z pewnym cytowaniem podczas cyklicznego klonowania w połączeniu z adresami URL protokołu SSH. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby zdalnie wykonać kod na maszynie docelowej. Aktualizacja zabezpieczeń eliminuje tę lukę w zabezpieczeniach, ponieważ w pobieranej nowej wersji narzędzia Git dla systemu Windows usunięto ten problem.

CVE-2019-1351 Luka w zabezpieczeniach dotycząca dowolnego zastępowania plików w narzędziu Git dla programu Visual Studio, która występuje podczas klonowania w przypadku używania nazw dysków niebędących literami

W usłudze Git istnieje luka w zabezpieczeniach powodująca dowolne zastępowanie plików, gdy nazwy dysków niebędące literami są pomijane podczas sprawdzania zabezpieczeń w poleceniu git clone. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby wykonywać operacje zapisu w dowolnych plikach na maszynie docelowej. Aktualizacja zabezpieczeń eliminuje tę lukę w zabezpieczeniach, ponieważ w pobieranej nowej wersji narzędzia Git dla systemu Windows usunięto ten problem.

CVE-2019-1352 Luka w zabezpieczeniach zdalnego wykonywania w narzędziu Git dla programu Visual Studio spowodowana nieznajomością alternatywnych strumieni danych NTFS

W usłudze Git istnieje luka w zabezpieczeniach umożliwiająca zdalne wykonywanie kodu w przypadku klonowania i zapisywania do katalogu .git/ za pośrednictwem alternatywnych strumieni danych NTFS. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby zdalnie wykonać kod na maszynie docelowej. Aktualizacja zabezpieczeń eliminuje tę lukę w zabezpieczeniach, ponieważ w pobieranej nowej wersji narzędzia Git dla systemu Windows wprowadzono świadomość istnienia alternatywnych strumieni danych.

CVE-2019-1354 Luka w zabezpieczeniach dotycząca dowolnego zastępowania plików w narzędziu Git dla programu Visual Studio, która występuje z powodu braku odmowy zapisania śledzonych plików zawierających ukośniki odwrotne

W usłudze Git istnieje luka w zabezpieczeniach powodująca dowolne zastępowanie plików, ponieważ wpisy drzewa zawierające ukośniki odwrotne i złośliwe linki symboliczne mogą powodować uszkodzenie drzewa roboczego. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby wykonywać operacje zapisu w dowolnych plikach na maszynie docelowej. Aktualizacja zabezpieczeń eliminuje tę lukę w zabezpieczeniach, ponieważ pobierana nowa wersja narzędzia Git dla systemu Windows nie zezwala na takie używanie ukośników odwrotnych.

CVE-2019-1387 Luka w zabezpieczeniach zdalnego wykonywania w narzędziu Git dla programu Visual Studio spowodowana zbyt łagodną weryfikacją nazw modułów podrzędnych w klonach cyklicznych

W usłudze Git istnieje luka w zabezpieczeniach umożliwiająca zdalne wykonywanie kodu w przypadku klonowania cyklicznego z modułami podrzędnymi. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby zdalnie wykonać kod na maszynie docelowej. Aktualizacja zabezpieczeń eliminuje tę lukę w zabezpieczeniach, ponieważ pobierana nowa wersja narzędzia Git dla systemu Windows zwiększa wymagania walidacji względem nazw modułów podrzędnych.

CVE-2019-1486 Luka w zabezpieczeniach dotycząca przekierowywania adresów URL w rozszerzeniu Live Share

W rozszerzeniu Live Share programu Visual Studio wykryto lukę w zabezpieczeniach umożliwiającą podszywanie się. Występuje ona, gdy gość połączony z sesją rozszerzenia Live Share zostanie przekierowany do dowolnego adresu URL określonego przez hosta sesji. Atakujący może pomyślnie wykorzystać tę lukę w zabezpieczeniach i spowodować, że komputer gościa otworzy przeglądarkę i przejdzie do złośliwego adresu URL bez wyraźnej zgody. Była to część funkcji „udostępnionego serwera” rozszerzenia Live Share, która zezwalała na automatyczne przekazywanie portów podczas aktywnej sesji Live Share. Najnowsza aktualizacja eliminuje tę lukę w zabezpieczeniach przez wyświetlanie monitu o zgodę gościa sesji Live Share na przejście do określonego przez hosta adresu URL.


Release Notes Icon Visual Studio 2019 w wersji 16.0.9

wydany 15 października 2019 r.

Zalecenia dotyczące zabezpieczeń

CVE-2019-1425 Luka w zabezpieczeniach dotycząca podniesienia uprawnień w pakietach NPM (opublikowana 12 listopada 2019 r.)

Istnieje luka w zabezpieczeniach dotycząca podniesienia uprawnień, gdy program Visual Studio nie może poprawnie zweryfikować linków stałych podczas wyodrębniania zarchiwizowanych plików. Te luki w zabezpieczeniach zostały wprowadzone przez pakiety NPM używane przez program Visual Studio, jak opisano w 2 następujących poradnikach NPM: npmjs.com/advisories/803 and npmjs.com/advisories/886. Zaktualizowane wersje tych pakietów NPM zostały udostępnione w tej wersji programu Visual Studio.


Release Notes IconVisual Studio 2019 w wersji 16.0.8

wydany 10 września 2019 r.

Problemy rozwiązane w programie Visual Studio 2019 w wersji 16.0.8

Zalecenia dotyczące zabezpieczeń

CVE-2019-1232 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowej usługi modułu zbierającego centrum diagnostyki

Luka w zabezpieczeniach dotycząca podniesienia uprawnień występuje, gdy standardowa usługa modułu zbierającego centrum diagnostyki nieprawidłowo personifikuje pewne operacje na plikach. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby uzyskać podniesione przywileje. Atakujący z nieuprzywilejowanym dostępem do narażonego systemu może wykorzystać tę lukę w zabezpieczeniach. Aktualizacja zabezpieczeń usuwa lukę w zabezpieczeniach, zapewniając, że standardowa usługa modułu zbierającego centrum diagnostyki prawidłowo personifikuje operacje na plikach.


Release Notes IconVisual Studio 2019 w wersji 16.0.7

wydany 13 sierpnia 2019 r.

Problemy rozwiązane w programie Visual Studio 2019 w wersji 16.0.7

Zalecenia dotyczące zabezpieczeń

CVE-2019-1211 Luka w zabezpieczeniach podniesienia uprawnień w narzędziu Git dla programu Visual Studio

W narzędziu Git dla programu Visual Studio występuje luka w zabezpieczeniach podniesienia uprawnień, która polega na tym, że pliki konfiguracji są nieprawidłowo analizowane. Osoba atakująca, która pomyślnie wykorzysta tę lukę, może wykonać kod w kontekście innego użytkownika lokalnego. Aby wykorzystać lukę w zabezpieczeniach, uwierzytelniona osoba atakująca musi zmodyfikować pliki konfiguracji narzędzia Git w systemie przed pełną instalacją aplikacji. Osoba atakująca powinna następnie przekonać innego użytkownika w systemie, aby wykonał określone polecenia narzędzia Git. Aktualizacja rozwiązuje problem, ponieważ zmienia uprawnienia wymagane do edytowania plików konfiguracji.

**CVE-2019-1301: Odmowa usługi w programie .NET Core

Luka w zabezpieczeniach typu „odmowa usługi” występuje na platformie .NET Core, gdy nieprawidłowo obsługuje ona żądania internetowe. Tę lukę w zabezpieczeniach może wykorzystać atakujący i spowodować odmowę usługi dla aplikacji internetowej platformy .NET Core. Lukę w zabezpieczeniach można wykorzystać zdalnie bez uwierzytelniania.

Aktualizacja usuwa tę lukę w zabezpieczeniach, poprawiając sposób obsługi żądań internetowych w aplikacji internetowej .NET Core.


Release Notes Icon Visual Studio 2019 w wersji 16.0.6

wydany 9 lipca 2019 r.

Problemy rozwiązane w programie Visual Studio 2019 w wersji 16.0.6

  • Naprawiono obsługę narratora w komputerach z systemem Windows 10 w wersji 1903 lub platformą .NET 4.8.

Zalecenia dotyczące zabezpieczeń

CVE-2019-1075 Luka w zabezpieczeniach umożliwiająca podszywanie się na platformie ASP.NET Core

Dzisiaj zostały opublikowane aktualizacje platformy .NET Core, które uwzględniono w tej aktualizacji programu Visual Studio. W tej wersji rozwiązano problemy dotyczące zabezpieczeń i inne istotne problemy. Szczegóły można znaleźć w informacjach o wersji platformy .NET Core.

CVE-2019-1077 Luka w zabezpieczeniach dotycząca automatycznej aktualizacji rozszerzeń programu Visual Studio

Luka w zabezpieczeniach dotycząca podniesienia uprawnień występuje, gdy proces automatycznej aktualizacji rozszerzeń programu Visual Studio nieprawidłowo wykonuje pewne operacje na plikach. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby usuwać pliki w dowolnych lokalizacjach. Aby wykorzystać tę lukę w zabezpieczeniach, atakujący potrzebuje nieuprzywilejowanego dostępu do narażonego systemu. Aktualizacja zabezpieczeń usuwa lukę w zabezpieczeniach przez zabezpieczenie lokalizacji, w których automatyczna aktualizacja rozszerzeń programu Visual Studio wykonuje operacje na plikach.

CVE-2019-1113 Deserializacja pliku XOML Projektanta przepływu pracy umożliwia wykonywanie kodu

Plik XOML przywołujący niektóre typy może powodować wykonywanie losowego kodu, kiedy plik XOML jest otwierany w programie Visual Studio. Teraz wprowadzono ograniczenie dotyczące typów, których można używać w plikach XOML. Po otwarciu pliku XOML zawierającego jeden z nowo nieautoryzowanych typów jest wyświetlany komunikat wyjaśniający, że ten typ nie ma autoryzacji.

Aby uzyskać więcej informacji, zapoznaj się z artykułem https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.


Release Notes IconVisual Studio 2019 w wersji 16.0.5

wydany 11 czerwca 2019 r.

Problemy rozwiązane w programie Visual Studio 2019 w wersji 16.0.5


Release Notes Icon Visual Studio 2019 w wersji 16.0.4

wydany 14 maja 2019 r.

Problemy rozwiązane w programie Visual Studio 2019 w wersji 16.0.4

Zalecenia dotyczące zabezpieczeń

CVE-2019-0727 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowej usługi modułu zbierającego centrum diagnostyki

Luka w zabezpieczeniach dotycząca podniesienia uprawnień występuje, gdy standardowa usługa modułu zbierającego centrum diagnostyki nieprawidłowo wykonuje pewne operacje na plikach. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby usuwać pliki w dowolnych lokalizacjach. Aby wykorzystać tę lukę w zabezpieczeniach, atakujący potrzebuje nieuprzywilejowanego dostępu do narażonego systemu. Aktualizacja zabezpieczeń usuwa lukę w zabezpieczeniach przez zabezpieczenie lokalizacji, w których standardowy moduł zbierający centrum diagnostyki wykonuje operacje na plikach.


Release Notes Icon Visual Studio 2019 w wersji 16.0.3

wydany 30 kwietnia 2019 r.

Co nowego w programie Visual Studio 2019 w wersji 16.0.3

  • Rozszerzenie Visual Studio Tools for Kubernetes obsługuje teraz najnowszą wersję usługi Azure Dev Spaces.

Problemy rozwiązane w programie Visual Studio 2019 w wersji 16.0.3


Release Notes Icon Visual Studio 2019 w wersji 16.0.2

wydany 18 kwietnia 2019 r.

Problemy rozwiązane w programie Visual Studio 2019 w wersji 16.0.2


Release Notes Icon Visual Studio 2019 w wersji 16.0.1

wydany 9 kwietnia 2019 r.

Problemy rozwiązane w programie Visual Studio 2019 RC w wersji 16.0.1


Release Notes Icon Visual Studio 2019

wydany 2 kwietnia 2019 r.

Podsumowanie nowości w programie Visual Studio 2019

Instalowanie

IDE

  • Współpracuj z innymi osobami przy użyciu zainstalowanej domyślnie funkcji Visual Studio Live Share. Obsługa dodatkowych języków C++, VB.NET i Razor zapewnia gościom widok rozwiązań i umożliwia udostępnianie różnic kontroli źródła.
  • Otwieraj kod, nad którym ostatnio pracowano, lub rozpoczynaj od jednego z najczęściej używanych przepływów, takich jak klonowanie, otwieranie lub tworzenie projektu, za pośrednictwem nowego okna uruchamiania.
  • Twórz nowe projekty za pomocą udoskonalonego środowiska wyszukiwania i filtrów przy użyciu nowej listy szablonów posortowanych według popularności.
  • Zyskaj więcej miejsca w pionie na kod oraz zmodernizowany wygląd i działanie dzięki zestawowi nowych zmian wizualnych w powłoce.
  • Wyświetlaj ostrzejszą wersję środowiska IDE niezależnie od konfiguracji ekranu i/lub skalowania dzięki lepszej obsłudze rozpoznawania monitorów.
  • Używaj poprawionej funkcji wyszukiwania dla menu, poleceń, opcji i składników do zainstalowania w programie Visual Studio.
  • Szybko poznawaj kondycję pliku kodu za pomocą wskaźnika dokumentu. Uruchamiaj i konfiguruj za pomocą oczyszczania kodu jednym kliknięciem z poziomu wskaźnika.
  • W prosty sposób zarządzaj funkcjami w wersji zapoznawczej wybranymi na nowej stronie Funkcje wersji zapoznawczej w oknie dialogowym Opcje.
  • Twórz nowe projekty, korzystając z ulepszeń wyszukiwania opartego na tagach i łatwo dostępnej listy „Ostatnie szablony projektu”.
  • Twórz nowe elementy bezpośrednio z poziomu funkcji wyszukiwania programu Visual Studio i szybciej znajduj wyniki o lepszej zgodności.
  • Uzyskuj na bieżąco ważne informacje, takie jak żądania programu Visual Studio Live Share, korzystając z nowego środowiska powiadomień.
  • Zapisz kolekcję programów naprawiających oczyszczania kodu jako profil, aby łatwo wybierać programy naprawiające, które mają być uruchamiane podczas oczyszczania kodu.
  • Wyzwalaj nowe poprawki kodu i refaktoryzacji .NET.
  • Z łatwością konfiguruj projekty platformy .NET Core dzięki plikom projektu najwyższej jakości.
  • Wyświetlaj stan rozszerzeń przy użyciu tagów Wersja zapoznawcza, Wersja płatna i Wersja próbna w oknie dialogowym Rozszerzenia i aktualizacje.
  • Sprawdzaj i konfiguruj funkcje wersji zapoznawczej, które mają być aktywne, ponieważ ustawienia domyślne w tej wersji zapoznawczej zostały zresetowane.
  • Zachowuj aktualność rozszerzeń, wykluczając interfejsy API okna testów, które zostały oznaczone w tej wersji jako przestarzałe.
  • Loguj się do hostowanych repozytoriów usługi Azure DevOps, przeglądaj je i za pomocą jednego kliknięcia klonuj je lub łącz się z nimi za pośrednictwem okna uruchamiania.
  • Instaluj rozszerzenia dla innych hostów kontroli źródła, aby wyświetlać repozytoria należące do Ciebie i Twojej organizacji.
  • Korzystaj z ulepszonego środowiska motywu Niebieski, w którym uwzględniono opinie użytkowników, zmniejszając jasność, zwiększając ogólny kontrast i rozwiązując inne problemy z użytecznością.
  • Stosuj preferencje stylu kodu z wiersza polecenia za pomocą globalnego narzędzia dotnet format.
  • Programy MSBuild i Visual Studio są teraz przeznaczone domyślnie dla platformy .NET Framework 4.7.2.
  • Usunęliśmy z Eksploratora serwera funkcje związane z usługą Azure App Service. Zamiast nich dostępne są ich odpowiedniki w Eksploratorze chmury.

Wydajność

Debugowanie ogólne i diagnostyka

  • Wyszukuj słowa kluczowe w oknach Wyrażenie kontrolne, Automatyczne i Zmienne lokalne podczas debugowania, aby zwiększyć możliwości znajdowania obiektów lub wartości.
  • Wyświetlaj listę rozwijaną specyfikatorów formatu w oknach Wyrażenie kontrolne, Automatyczne i Zmienne lokalne podczas inspekcji danych.
  • Używaj niestandardowego wizualizatora, który teraz jest zgodny z platformą .NET Core.
  • Debuguj bardzo duże aplikacje z dużą liczbą modułów i plików PDB.
  • Uruchamiaj przeglądarkę Google Chrome z niestandardowymi argumentami i debuguj aplikacje JavaScript w środowisku IDE programu Visual Studio.
  • Używaj narzędzi wyróżniania ścieżki aktywnej dla procesora CPU i przydzielania obiektów DotNet w Profilerze wydajności.
  • Przerwij, gdy wartość właściwości określonego obiektu zmienia się w aplikacjach platformy .NET Core 3.0+ przy użyciu punktów przerwania danych, czyli funkcji, która pierwotnie była wyłączna na język C++.
  • Od wersji zapoznawczej 1 zaktualizowaliśmy interfejs użytkownika wyszukiwania w oknach Automatyczne, Lokalne i Wyrażenie kontrolne, upraszczając go. Funkcja Wyszukaj głębiej jest teraz listą rozwijaną umożliwiającą szybkie wybieranie głębokości początkowego wyszukiwania i kolejnych wyszukiwań.

Kontrola źródła i program Team Explorer

  • Tymczasowo przechowuj zmiany w celu pracy nad innym zadaniem dzięki obsłudze narzędzi Git do przechowywania w programie Team Explorer.
  • Wypróbuj dostępne w portalu Visual Studio Market Place opcjonalne rozszerzenie Żądania ściągnięcia dla programu Visual Studio, które integruje przeglądy żądań ściągnięcia w programie Visual Studio.
  • Używaj nowego środowiska elementów roboczych usługi Azure DevOps, które koncentruje się na przepływach pracy dla deweloperów, w tym specyficznych dla użytkownika widoków elementów roboczych, tworzeniu gałęzi z elementu roboczego, wyszukiwaniu elementów roboczych za pomocą #wzmianek i wbudowanym edytowaniu.

Rozszerzalność

  • Używaj pojedynczego, ujednoliconego zestawu Visual Studio SDK w pakiecie NuGet Microsoft.VisualStudio.SDK.
  • Korzystaj z zalet naszej aktualizacji projektu VSIX, aby uwzględnić pakiet AsyncPackage.
  • Eksperymentuj z dodanym przez nas nowym szablonem Pusty projekt VSIX.
  • Informacja o tym, czy rozszerzenie jest bezpłatne, płatne, czy w wersji próbnej, jest teraz wyświetlane w oknie dialogowym Rozszerzenia i aktualizacje.

Języki programowania

C#

Sprawdź wersję zapoznawczą funkcji języka 8.0, które od teraz obsługuje kompilator języka C#, na przykład:

  • Typy referencyjne dopuszczane do wartości null: gdy funkcja jest włączona (na przykład z #nullable enable lub na poziomie projektu z <NullableContextOptions>enable</NullableContextOptions>), typy odwołań są traktowane jako dopuszczane wartości null, jeśli są oznaczone ?jako , i jako niepuste w przeciwnym razie. Kompilator analizuje, gdzie następuje przepływ wartości null i zwraca ostrzeżenia na temat potencjalnie niebezpiecznego użycia.
  • switchwyrażenia: oferuje switchsemantyka przypominająca semantykę w kontekście wyrażenia.
  • Dopasowywanie wzorca cyklicznego: Nowe wzorce umożliwiają testowanie pól/właściwości i elementów pozycyjnych (z krotki lub dekonstrukcji).
  • Obsługa typów Range i Index używanych w usłudze CoreFX na potrzeby tworzenia wycinków, w tym składni literału x..y dla zakresów.
  • Asynchroniczne strumienie reprezentowane przez element IAsyncEnumerable<T> mogą być wyliczane w sposób asynchroniczny za pomocą polecenia await foreach i tworzone za pomocą metod iteratorów async IAsyncEnumerable<T>.
  • using deklaracje: Usuwaj na końcu bieżącego bloku bez zwiększania poziomu zagnieżdżania. Struktury ref można dodawać przy użyciu operacji dispose, wdrażając publiczną metodę Dispose().
  • static funkcje lokalne: funkcje lokalne oznaczone jako nie static mogą odwoływać się do zmiennych ani odwoływać this się do otaczających funkcji.
  • Funkcje lokalne i wyrażenia lambda mogą od teraz deklarować parametry i zmienne lokalne, które naśladują nazwy zmiennych funkcji otaczającej.
  • Przypisanie łączące wartości null: element x ??= y; przypisuje wartość y do elementu x, wyłącznie jeśli element x miał wartość null.

Więcej informacji znajduje się w omówieniu języka C# w wersji 8.0 opracowanym przez użytkownika Mads.

Zapoznaj się ze stanem funkcji języka C# oraz istotnymi zmianami, aby uzyskać więcej informacji.

Ponadto możesz domyślnie używać nowszych funkcji języka C# w programie Visual Studio.

C++
  • Oszczędzaj czas podczas pisania kodu w językach C++ i XAML, korzystając z opcjonalnego rozszerzenia Visual Studio IntelliCode, które oferuje rekomendacje od sztucznej inteligencji dotyczące kodu.
  • Korzystaj z ostrzeżeń analizy kodu w edytorze. Analiza kodu działa automatycznie w tle, a ostrzeżenia są wyświetlane jako zielone podkreślenia.
  • Wypróbuj nowy pasek szablonów, który korzysta z interfejsu użytkownika okna podglądu i obsługuje szablony zagnieżdżone.
  • Uruchom nową, zaktualizowaną implementację narzędzia sprawdzania profilu przez cały okres istnienia w języku C++.
  • Konfiguruj projekty CMake za pomocą nowego Edytora ustawień narzędzia CMake, który stanowi alternatywę dla pliku CMakeSettings.json.
  • Wypróbuj liczne ulepszenia zaplecza, takie jak wektoryzacja SIMD w programie OpenMP, przyspieszenia czasu łączenia i bardziej agresywne wbudowywanie.
  • Otwieraj istniejące pamięci podręczne narzędzia CMake generowane przez narzędzia zewnętrzne, takie jak CMakeGUI czy dostosowane systemy metakompilacji.
  • Ulepsz analizę dzięki opcji /Qspectre ułatwiającej ograniczenie ryzyka z powodu wariantu 1 luki Spectre (CVE-2017-5753). Więcej informacji zawiera wpis w blogu zespołu Visual C++.
  • Dzięki nowemu menu rozwijanemu Ostatnio używane na pasku szablonu funkcji IntelliSense dla szablonów możesz szybko przełączać się pomiędzy poprzednimi przykładowymi argumentami.
F#
JavaScript/TypeScript
Python
  • W prosty sposób dodawaj środowiska wirtualne i środowiska conda języka Python przy użyciu okna dialogowego Dodaj środowisko języka Python.
  • Pracuj z większą łatwością w środowiskach języka Python, korzystając między innymi z ulepszonej obsługi obszarów roboczych Open Folder przy użyciu nowego paska narzędzi selektora środowiska Python.
  • Twórz sesje rozszerzenia Visual Studio Live Share i pracuj nad kodem w języku Python wspólnie z innymi użytkownikami programu Visual Studio.

Technologie internetowe

Narzędzia kontenerów

Tworzenie aplikacji mobilnych w środowisku Xamarin

Platforma uniwersalna systemu Windows (UWP)

  • Zachowuj komentarze, odstępy, przestrzenie nazw i wszelkie pozostałe zmiany tekstu podczas wprowadzania zmian przy użyciu projektanta. Projektant manifestu pakietu wiernie odzwierciedla teraz zmiany kodu XML w pliku Package.appxmanifest.
  • Użyj projektu Pakiet aplikacji systemu Windows do celów tworzenia pakietów MSIX przy użyciu projektów .NET Core.
  • Użyj kreatora tworzenia pakietów, który umożliwia bezpośrednie przesyłanie do sklepu Microsoft Store.
  • Wdrażanie na urządzeniach z systemem Windows Mobile nie jest już obsługiwane w programie Visual Studio 2019. Próba wdrożenia na urządzeniu z systemem Windows 10 Mobile spowoduje wyświetlenie błędu „Wdrażanie na urządzeniach z systemem Windows Mobile nie jest obsługiwane w programie Visual Studio 2019”. Jeśli musisz kontynuować pracę nad aplikacją dla urządzeń z systemem Windows 10 Mobile, nadal używaj programu Visual Studio 2017.

Narzędzia debugowania kodu XAML:

  • Funkcja Edytuj i kontynuuj języka XAML obsługuje teraz funkcję x:bind (UWP): funkcja edycji i kontynuowania języka XAML obsługuje teraz edytowanie powiązań danych utworzonych za pomocą elementu x:bind dla ścieżek zawierających właściwości publiczne, nazwę elementu, ścieżki właściwości indeksowanych (kolekcji), dołączone właściwości i właściwości rzutowania. Inne zmiany nie są obsługiwane. To ulepszenie jest dostępne dla wszystkich aplikacji, dla których minimalnych i maksymalnych wersji elementem docelowym jest zestaw SDK systemu Windows 10 w wersji 1809 (kompilacja 10.0.17763) lub nowszy. (Uwaga: Edytuj i kontynuuj XAML jest teraz znany jako XAML Przeładowywanie na gorąco począwszy od programu Visual Studio 2019 Update 2+).

SQL Server Data Tools

  • Sprawdź zaktualizowane narzędzia SSDT oraz DacFX, które teraz obsługują sortowanie plików UTF-8.

Szczegółowe informacje o nowościach w programie Visual Studio 2019

Instalowanie

  • Teraz możesz wybrać sposób instalowania aktualizacji programu Visual Studio. Domyślny tryb „Pobierz wszystko, a następnie zainstaluj” pozwala korzystać z programu Visual Studio podczas pobierania aktualizacji. Pamiętaj, że jeśli wybierzesz pozycję „Pobierz wszystko, a następnie zainstaluj”, musisz zakończyć instalację przez otwarcie Instalatora programu Visual Studio i wybranie pozycji Kontynuuj.
  • Aktualizacje programu Visual Studio są teraz pobierane w tle. Pobieranie odbywa się, gdy komputer jest bezczynny. Po zakończeniu pobierania w programie Visual Studio jest wyświetlane powiadomienie o tym, że pobrane pliki są gotowe do zainstalowania.
  • Teraz możesz kontrolować tryb instalacji aktualizacji i określić, czy pobierać aktualizacje, czy nie za pomocą menu Opcje narzędzi>, zmieniając ustawienia na stronie Aktualizacje produktu.
Product Update Options
*Opcje aktualizacji produktu*

Okno uruchamiania

Nowe okno uruchamiania zapewnia zoptymalizowane środowisko uruchamiania, które pozwala szybko uzyskać dostęp do kodu po uruchomieniu programu Visual Studio.

  • Wyświetlaj ostatnie projekty i foldery oraz otwieraj je za pomocą jednego kliknięcia. Przypinanie i usuwanie elementów z listy za pomocą menu kontekstowego.
  • Klonowanie i wyewidencjonowywanie kodu przy użyciu dowolnego publicznego lub prywatnego adresu URL usługi git, który będzie również automatycznie otwierał folder w środowisku IDE.
  • Logowanie, przeglądanie, łączenie się jednym kliknięciem z hostowanymi repozytoriami usługi DevOps i klonowanie ich oraz instalowanie rozszerzeń dla innych hostów kontroli źródła w celu wyświetlania repozytoriów należących do Ciebie i Twojej organizacji.
  • Przeglądaj swój dysk lokalny lub udział sieciowy w poszukiwaniu projektów, rozwiązań lub dowolnych folderów zawierających kod i otwieraj je w środowisku IDE.
  • Wybieranie szablonu projektu, zawierającego szkielet kodu, który ułatwia rozpoczęcie pracy z nowym projektem lub rozwiązaniem.
  • Wyszukiwanie szablonów projektów według tytułu, opisu i tagów oraz filtrowanie według dostępnych języków, platform oraz typów projektu. Domyślna lista zawiera wszystkie dostępne szablony, natomiast w okienku po lewej stronie jest wyświetlana lista dziesięciu najczęściej ostatnio używanych szablonów projektów, umożliwiająca szybki dostęp. Dwustronicowy kreator pozwala skoncentrować się w danym momencie na jednej decyzji.
Start window
*Nowe środowisko okna uruchamiania*

Powłoka i platforma

  • Szybko sprawdzaj wersję otwieranego i używanego programu Visual Studio dzięki nowej, ulepszonej ikonie produktu. Nowa ikona jest również lepiej widoczna na różnych tłach.
  • Korzystaj z unowocześnionego wyglądu i działania programu Visual Studio dzięki odświeżonemu przez nas niebieskiemu motywowi, który zapewnia bardziej przejrzysty interfejs użytkownika, nadal spełniając nasze standardy dotyczące ułatwień dostępu.
  • Zobacz więcej kodu dzięki wprowadzonym przez nas zmianom, które sprzyjają kompaktowości i odzyskują miejsce w pionie w środowisku IDE. Połączyliśmy pasek tytułu z paskiem menu, zachowując przy tym dotychczasowe funkcje.
  • Używaj programu Visual Studio jako aplikacji umożliwiającej rozpoznawanie monitorów za pomocą nowego, eksperymentalnego ustawienia. Gdy to ustawienie jest włączone, ułatwia ono niektórym elementom programu Visual Studio, takim jak powłoka i edytor, ostrzejsze renderowanie niezależnie od konfiguracji ekranu i/lub skalowania.
  • Poznaj ulepszone środowisko wyszukiwania w menu, poleceniach, opcjach i składnikach możliwych do zainstalowania. Teraz nasze nowe wyszukiwanie wyświetla wyniki w sposób dynamiczny, obsługuje błędy pisowni i dostarcza istotne informacje (takie jak skróty klawiaturowe) w wynikach wyszukiwania.
Visual Studio Search with results
*Rozszerzone wyszukiwanie w programie Visual Studio*
  • Wyświetlaj informacje o kondycji skojarzone z aktualnie otwartym plikiem, korzystając z funkcji Wskaźnik kondycji dokumentu.
Document Health Indicator with issues
*Wskaźnik kondycji dokumentu — problem w dokumencie*
Document Health Indicator with no issues
*Wskaźnik kondycji dokumentu — brak problemów*
  • Jeśli jesteś deweloperem języka C#, możesz szybko wyczyścić niektóre z najpopularniejszych sugestii kodowania za pomocą funkcji oczyszczania kodu.
  • Wybierz zestaw programów naprawiających, które mają być uruchomione, konfigurując oczyszczanie kodu.
Code Cleanup configuration dialog
*Konfigurowanie oczyszczania kodu*
  • Zobacz zawartość historii schowka za pośrednictwem menu kontekstowego, które rozszerza Schowek pierścieniowy (Ctrl + Shift + V).
Clipboard Ring context menu
*Menu kontekstowe pierścienia schowka*
  • Ulepszyliśmy środowisko wyszukiwania przez:
    • Dodanie filtrów dla menu, składników i szablonów
    • Dołączenie opcji wyszukiwania umożliwiających uzyskanie najodpowiedniejszych wyników wyszukiwania
    • Umożliwienie tworzenia nowych projektów/elementów i dodawania ich do rozwiązania bezpośrednio z poziomu funkcji wyszukiwania w programie Visual Studio
  • Udoskonalone środowisko funkcji świadomości monitora (PMA) jest teraz domyślnie włączone dla użytkowników, którzy spełniają minimalny zestaw wymagań (platforma .NET 4.8 w wersji zapoznawczej oraz aktualizacja systemu Windows 10 z kwietnia 2018 r. lub nowsza). Okna narzędzi, takich jak Toolbox, Breakpoints, Watch, Locals, Autos i Call Stack zostały przekonwertowane na środowisko PMA, dzięki czemu zapewniają ostrość renderowania niezależnie od konfiguracji ekranu i/lub skalowania.
  • Dodano nowe środowisko powiadomień:
    • Nowa ikona i środowisko licznika na pasku stanu
    • Nowy mechanizm powiadomień wyskakujących
    • Powiadomienia o wygasaniu licencji aktualizacji programu Visual Studio i programu Visual Studio
  • Poprawione środowisko motywu Niebieski, w którym uwzględniono opinie użytkowników, zmniejszając jasność, zwiększając kontrast i rozwiązując inne problemy z użytecznością.
  • Udoskonalone funkcje przeciągania okien dzięki wykorzystaniu dostępnego wolnego miejsca w regionie paska narzędzi jako regionu przeciąganego.
  • Teraz możesz zapisać kolekcję programów naprawiających oczyszczania kodu jako profil, aby umożliwić szybkie wybieranie zestawu programów naprawiających, które mają być uruchamiane podczas oczyszczania kodu.
Visual Studio Code Cleanup Profiles
*Profile oczyszczania programu Visual Studio Code*
  • W oknie dialogowym Rozszerzenia i aktualizacje dodaliśmy tagi, które ułatwiają szybkie zorientowanie się, czy rozszerzenie jest w wersji zapoznawczej, jest rozszerzeniem płatnym, czy znajduje się w okresie próbnym.
Extensions and Updates dialogs with tags
*Rozszerzenia i okna dialogowe Aktualizacje z tagami*
  • Zalecanym sposobem implementowania etykietek narzędzi danych w programie Visual Studio 2019 i nowszych jest teraz IAsyncQuickInfoSourceProvider. Starsze interfejsy API szybkich informacji edytora IVsTextTipData i TextTipData są przestarzałe w programie Visual Studio 2019 (wersja zapoznawcza 1).
  • Tagi inteligentne edytora (rodzina interfejsów ISmartTag* w przestrzeni nazw Microsoft.VisualStudio.Language.Intellisense) została zastąpiona interfejsem API LightBulb i nie jest już obsługiwana, począwszy od programu Visual Studio 2019 (wersja zapoznawcza 1).
  • Opcje rozwiązania Pokaż zaawansowane konfiguracje kompilacji, Zawsze pokazuj rozwiązanie i Zapisz nowe projekty po utworzeniu zostały usunięte z powodu niskiego wykorzystania. Dla tych wartości została ustawiona ich wartość domyślna True.
  • Wyraź zgodę na korzystanie z niektórych funkcji w wersji zapoznawczej lub korzystanie z nich przy użyciu nowej strony Funkcje w wersji zapoznawczej dostępnej w obszarze Narzędzia >Opcje > środowiska > w wersji zapoznawczej.

Wydajność

  • Dodaliśmy nowy skrót do wyboru kompilacji dla folderów i rozwiązań: Ctrl + B.
  • Szybkie otwieranie dużych rozwiązań dzięki załadowaniu rozwiązania ze zwolnionymi wszystkimi projektami. Do not load projects
  • Wybieranie projektów do załadowania podczas otwierania rozwiązania za pomocą plików filtru rozwiązania.
    • Możesz utworzyć plik filtru rozwiązania, zwalniając projekty, które nie mają otwierać się automatycznie, klikając rozwiązanie prawym przyciskiem myszy i wybierając opcję Zapisz jako filtr rozwiązania. Pliku filtru możesz następnie używać do otwierania rozwiązania w późniejszym czasie. Solution filters
  • Dodaliśmy polecenie do kompilowania wszystkich dla plików CMake: Ctrl + Shift + B.
  • Ulepszyliśmy wydajność funkcji IntelliSense w plikach języka C++ w projektach CMake.
  • Dodaliśmy polecenie umożliwiające ładowanie niezaładowanych zależności projektu do menu kontekstowych projektów i rozwiązań.
  • Porady dotyczące powiadomień w celu zwiększenia wydajności programu Visual Studio są teraz utrwalane w centrum wydajności, dostępne za pośrednictwem pomocy dotyczącej > zarządzania wydajnością programu Visual Studio.
  • Teraz możesz wyświetlać postęp ładowania rozwiązania w centrum stanu zadań, a także alerty po zakończeniu ładowania rozwiązania.
  • Wybieranie projektów do załadowania podczas otwierania rozwiązania za pomocą plików filtru rozwiązania.
    • Utwórz plik filtru rozwiązania, zwalniając projekty, które nie mają otwierać się automatycznie, klikając rozwiązanie prawym przyciskiem myszy i wybierając opcję Zapisz jako filtr rozwiązania. Pliku filtru możesz następnie używać do otwierania rozwiązania w późniejszym czasie.
  • Wypróbuj ulepszone wykrywanie zasobów kompilacji i wyszukiwanie plików po naciśnięciu klawiszy Ctrl+T w scenariuszach obejmujących otwieranie folderów.
  • Zwróć uwagę na ulepszenia wydajności, dzięki którym edytor programu Visual Studio ogranicza teraz wpływ składników pomocniczych na wydajność wpisywania. W szczególności automatycznie anuluje wszelkie długotrwałe, mniej ważne operacje podczas wpisywania.
  • Zachowanie ograniczeń składników pomocniczych programu Visual Studio można skonfigurować za pomocą zaawansowanego edytora > tekstów Opcji > narzędzi>:
Visual Studio Typing Latency Options
*Opcje opóźnienia wpisywania w programie Visual Studio*
  • Teraz możesz wyłączyć przywracanie stanu hierarchii projektu z poprzedniej sesji w oknie narzędzia Eksplorator rozwiązań. Wprowadziliśmy tę zmianę, ponieważ przywracanie hierarchii projektu z poprzedniej sesji w otwartym rozwiązaniu może opóźniać ładowania rozwiązania.
    • Przełącz tę opcję w obszarze Narzędzia > Opcje > projekty i rozwiązania > Ogólne.
Solution load restore settings
*Ustawienia przywracania ładowania rozwiązania*
* Teraz można wyłączyć przywracanie stanu okna narzędzi z poprzedniej sesji i zamiast tego zawsze ładować Eksplorator rozwiązań i Team Explorer podczas uruchamiania. Ta zmiana została wprowadzona, ponieważ przywracanie okien narzędzi z poprzednich sesji może opóźniać ładowanie rozwiązań przy uruchamianiu. * Przełącz tę opcję w obszarze **Narzędzia > Opcje > Environment > Startup**.

Debugowanie ogólne i diagnostyka

Debugowanie ogólne
  • Wyróżniaj, znajduj i nawiguj za pomocą słów kluczowych, używając naszej nowej funkcji wyszukiwania, którą zintegrowaliśmy z oknami Wyrażenie kontrolne, Automatyczne i Zmienne lokalne.
Searching for keywords in Watch
Wyszukiwanie w oknie Wyrażenie kontrolne
  • Wyświetlaj listę rozwijaną specyfikatorów i opcji umożliwiających formatowanie danych w oknach Wyrażenie kontrolne, Automatyczne i Zmienne lokalne, dodając przecinek do elementu na liście.
Format Specifier Dropdown List in Watch
Lista rozwijana specyfikatorów formatu w oknie Wyrażenia kontrolne
  • Teraz możesz korzystać z obsługi wizualizatora niestandardowego oraz wizualizatora zestawu danych dla platformy .NET Core.
DataSet Visualizer for .NET Core
Wizualizator zestawu danych dla aplikacji platformy .NET Core
  • W przypadku aplikacji C++ w systemie Windows plik PDB jest teraz ładowany w ramach oddzielnego, 64-bitowego procesu. Ta zmiana ma zapobiec licznym awariom powodowanym przez brak pamięci debugera podczas debugowania aplikacji, które zawierają dużą liczbę modułów i plików PDB.
Zarządzane punkty przerwania danych

Teraz można przerwać, gdy wartość właściwości określonego obiektu zmienia się w aplikacjach platformy .NET Core (3.0 lub nowszych) przy użyciu punktów przerwania danych, czyli funkcji, która pierwotnie była wyłączna na język C++. Jest to świetna alternatywa, aby po prostu umieścić punkt przerwania w ustawieniu właściwości, ponieważ punkt przerwania danych może skupić się na właściwości określonego obiektu nawet wtedy, gdy jest poza zakresem, podczas gdy pierwsza opcja może spowodować stałe, nieistotne przerwy, jeśli masz setki obiektów wywołujących tę funkcję.

Data breakpoints for .NET Core
Punkty przerwania danych w aplikacji platformy .NET Core
Aktualizacje środowiska użytkownika wyszukiwania w oknie Wyrażenie kontrolne

Zaktualizowaliśmy interfejs użytkownika wyszukiwania w oknach Automatyczne, Lokalne i Wyrażenie kontrolne, upraszczając go. Funkcja Wyszukaj głębiej jest teraz listą rozwijaną umożliwiającą szybkie wybieranie głębokości początkowego wyszukiwania i kolejnych wyszukiwań.

Stosowanie preferencji stylu kodu
  • Teraz możesz stosować preferencje stylu kodu z wiersza polecenia za pomocą globalnego narzędzia dotnet format. Aby je zainstalować, potrzebny jest zestaw .NET Core 2.1 SDK lub nowszy. Uruchom następujące polecenie w swoim ulubionym terminalu: dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10
dotnet format video
Uruchamianie narzędzia dotnet format z wiersza polecenia.

Rozszerzalność

  • W programie Visual Studio 2019 nie możesz dłużej instalować rozszerzeń skompilowanych przy użyciu formatu rozszerzeń vsixmanifest w wersji V1. Wersja V1 została wprowadzona w programie Visual Studio 2010 i wycofana w programie Visual Studio 2017, ponieważ mogła powodować problemy z niezawodnością w programie Visual Studio. W programie Visual Studio 2019 obsługa wersji V1 została całkowicie usunięta. Rozszerzenia przeznaczone dla programu Visual Studio 2019 powinny zostać ponownie skompilowane w wersji V2 lub V3 formatu vsixmanifest.
  • Teraz będziesz otrzymywać powiadomienia, gdy rozszerzenie będzie synchronicznie ładowane automatycznie. Zwróć uwagę, że w tej wersji rozszerzenie będzie się ładować i działać jak zwykle, ale istnieje ryzyko, że nie będzie działać w następnej aktualizacji programu Visual Studio 2019. Więcej szczegółów zawiera nasz wpis w blogu dotyczący skracania czasu reakcji scenariuszy o kluczowym znaczeniu przez aktualizowanie automatycznego ładowania dla rozszerzeń.
Ujednolicony pakiet NuGet zestawu SDK

W przeszłości autorzy rozszerzeń musieli tworzyć wiele oddzielnych odwołań do pojedynczych pakietów NuGet zestawu Visual Studio SDK, których chcieli użyć w swoim rozszerzeniu. Wersje różnych pakietów nie zawsze były wyrównane i często powodowały konflikty zależności w czasie kompilacji, a także problemy ze środowiskiem uruchomieniowym.

Aby rozwiązać te problemy, korzystaj z nowego pakietu o nazwie Microsoft.VisualStudio.SDK, który zawiera zależności dla wszystkich pakietów tworzących zestaw Visual Studio SDK. Rozwiązuje to problem niezgodności wersji, a także ułatwia określenie, której wersji użyć. Wystarczy użyć wersji pakietu, która odpowiada najniższej wersji programu Visual Studio obsługiwanej przez rozszerzenie, aby mieć dostęp do całego zestawu SDK.

Obecnie istnieje tylko wersja 15.9 pakietu SDK, ale w nadchodzących miesiącach zostaną wydane kolejne wersje aż do wersji 14.0.

Nowe i zaktualizowane szablony projektów

W szablonie Projekt VSIX wprowadzono wiele aktualizacji, aby go uprościć i ulepszyć:

  • Korzysta z nowego, ujednoliconego pakietu NuGet zestawu SDK
  • Obejmuje klasę AsyncPackage
  • Nie wymaga już pliku resx do skompilowania pakietu
  • Przeznaczony dla programu .NET Framework 4.7.2

Utworzono nowy szablon Pusty projekt VSIX. Jest on taki sam jak szablon Projekt VSIX, ale nie ma klasy AsyncPackage. Odwołuje się on również do ujednoliconego pakietu NuGet zestawu SDK, zapewniając dobry punkt wyjścia dla rozszerzeń MEF i innych typów rozszerzeń bez pakietów.

Bezpłatne/płatne/wersja próbna

Nie było łatwego sposobu sprawdzenia, czy rozszerzenie zostało oznaczone jako bezpłatne, płatne lub próbne. Teraz ulega to zmianie. W oknie dialogowym Rozszerzenia i aktualizacje każde rozszerzenie, które jest w wersji próbnej lub płatne, zostanie wyraźnie odpowiednio oznaczone. Rozszerzenia, które nie mają etykiety próbnej/płatnej, są bezpłatne.

Narzędzia do testowania

Dodatkowe interfejsy API w oknie testów, które wcześniej były nieudokumentowane, ale oznaczone jako publiczne, zostały dodane do listy wycofania.

Kontrola źródła

  • Tymczasowo przechowuj zmiany w celu pracy nad innym zadaniem dzięki obsłudze narzędzi Git do przechowywania w programie Team Explorer.
  • Przeglądaj, uruchamiaj, a nawet debuguj żądania ściągnięcia z usługi Azure Repos bez opuszczania środowiska IDE, korzystając z naszego zupełnie nowego środowiska żądania ściągnięcia w programie Visual Studio 2019. Aby rozpocząć pracę, możesz pobrać rozszerzenie Żądania ściągnięcia dla programu Visual Studio z witryny Visual Studio Marketplace.
New Pull Request Experience
Nowe środowisko żądania ściągnięcia

MSBuild

  • Wersja zestawu narzędzi MSBuild została zmieniona z 15.0 na Current. Plik MSBuild.exe znajduje się teraz w katalogu %VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe.
  • Program MSBuild (i Visual Studio) jest teraz przeznaczony dla platformy .NET Framework 4.7.2. Jeśli chcesz używać nowych funkcji interfejsu API programu MSBuild, Twój zestaw również wymaga uaktualnienia, ale istniejący kod w dalszym ciągu będzie działać.

C#

W przypadku każdej wersji programu wydanej przed wersją Visual Studio 2019 domyślna wersja języka C# była zawsze odpowiednikiem bieżącej wersji głównej. W programie Visual Studio 2017 język C# ewoluował i wydał trzy wersje pomocnicze: 7.1, 7.2 i 7.3. W nowych projektach jednak nadal domyślnie wybieraną wersją jest wersja języka C# 7.0. Okazało się to problematyczne dla deweloperów języka C#, którzy chcieli korzystać z nowych funkcji, ale musieli ręcznie zmieniać wersję języka dla każdego nowego projektu.

Aby rozwiązać ten problem, domyślna wersja języka C# jest określana przez platformę docelową:

  • Jeśli docelową platformą jest platforma .NET Core 3.0 w wersji zapoznawczej, wybrana zostanie wersja 8.0 języka C# (wersja zapoznawcza).
  • Jeśli docelową platformą jest platforma .NET Framework lub jakakolwiek inna wersja niezapoznawcza platformy .NET Core, wybrana zostanie wersja 7.3 języka C#.

Umożliwi to domyślne użycie najnowszych stabilnych funkcji języka C#, a podczas korzystania z platformy .NET Core w wersjach zapoznawczych — użycie funkcji języka C# w wersji zapoznawczej 8.0, która odpowiada wersji zapoznawczej platformy .NET Core 3.0.

Jeśli określisz wersję języka za pośrednictwem polecenia LangVersion w projekcie lub pliku właściwości, ta wersja języka zastąpi wcześniej opisaną wersję domyślną.

C++

  • Współpracuj w czasie rzeczywistym dzięki obsłudze języka C++ przez funkcję Visual Studio Live Share.
  • Oszczędzaj czas za pomocą opcjonalnego rozszerzenia IntelliCode, które korzystając z rozbudowanego szkolenia i kontekstu kodu, umieszcza najbardziej prawdopodobne do użycia elementy na początku listy uzupełniania. W przypadku języka C++ rozszerzenie IntelliCode zapewnia najlepszą pomoc, gdy używasz popularnych bibliotek, takich jak STL.
  • Zmodyfikowaliśmy kilka nazw i opisów szablonów projektu, aby dopasować je do zaktualizowanego okna dialogowego Nowy projekt.
  • Usunęliśmy eksperymentalny składnik Clang/C2. Używaj zestawu narzędzi MSVC, aby uzyskać pełną zgodność języka C++ ze standardami /permissive- i/lub /std:c++17 albo łańcuchem narzędzi Clang/LLVM dla systemu Windows. Aby uzyskać więcej szczegółowych informacji, zobacz Blog zespołu Visual C++.
  • Wycofaliśmy przełącznik /Gm kompilatora języka C++. Rozważ wyłączenie przełącznika /Gm w skrypcie kompilacji, jeśli jest jawnie zdefiniowany. Możesz również bezpiecznie zignorować ostrzeżenie o wycofaniu przełącznika /Gm, ponieważ nie będzie traktowane jako błąd podczas korzystania z opcji „Traktuj ostrzeżenia jako błędy” (/WX).
  • Środowiskiem systemu Android dla języka C++ jest teraz domyślnie zestaw SDK 25 dla systemu Android i zestaw NDK 16b dla systemu Android.
Produktywność
  • Analiza kodu działa teraz automatycznie w tle. Ostrzeżenia są wyświetlane podczas pisania jako zielone podkreślenia w edytorze.
  • Pasek szablonów korzysta teraz z interfejsu użytkownika okna podglądu, zamiast z okna modalnego, obsługuje szablony zagnieżdżone i wstępnie wypełnia wszystkie argumenty domyślne w oknie podglądu.
  • Automatyczne poprawki dla ostrzeżenia analizy kodu NULL-nullptr> (C26477 USE_NULLPTR_NOT_CONSTANT) jest dostępne za pośrednictwem menu żarówki w odpowiednich wierszach, włączone domyślnie w zestawie reguł typów sprawdzania podstawowego języka C++. Dodatkowe szybkie poprawki w środowisku IDE obejmują dodawanie brakujących dyrektyw #uwzględnij, uzupełnianie brakujących średników i naprawianie nieprawidłowego użycia symboli „*” i „&”.
  • Prekompilowane nagłówki nie są już generowane domyślnie dla konsoli C++ i aplikacji klasycznych.
  • Polecenie Przejdź do definicji działa teraz w dyrektywach #uwzględnij, otwierając odpowiedni plik. Dotyczy to również skrótu F12, który zapewnia łatwy sposób nawigowania po kodzie.
  • Umieszczenie kursora na zamykającym nawiasie klamrowym bloku kodu powoduje wyświetlenie pewnych przydatnych informacji na temat kontekstu tego bloku.
  • W programie ConcurrencyChecker dodaliśmy obsługę dobrze znanych typów STL z nagłówka <mutex>.
  • Dostępna jest zaktualizowana implementacja częściowa narzędzia sprawdzania profilu przez cały okres istnienia umożliwiająca wykrywanie zawieszonych wskaźników i odwołań.
  • Dodaliśmy początkową obsługę w kompilatorze dla operatora <C++20 => ("statek kosmiczny") w celu porównania trzykierunkowego.
CMake
  • Zwiększyliśmy wydajność funkcji IntelliSense dla plików języka C++ w projektach CMake.
  • Program Visual Studio ułatwia rozpoczęcie programowania w języku C++ za pomocą narzędzia CMake w systemie Linux, wykrywając, czy na komputerze z systemem Linux znajduje się zgodna wersja narzędzia CMake. W przeciwnym razie umożliwia jej zainstalowanie dla Ciebie.
  • Edytor ustawień narzędzia CMake stanowi alternatywę dla pliku CMakeSettings.json i zapewnia częściową zgodność z interfejsem CMakeGUI.
  • Menu narzędzia CMake zostało usunięte i zreorganizowane w celu uzyskania większej zgodności z projektami i rozwiązaniami.
  • Niezgodne ustawienia w pliku CMakeSettings, takie jak niezgodne architektury lub niezgodne ustawienia generatora CMake, powodują wyświetlanie falistych podkreśleń w edytorze kodu JSON i błędów na liście błędów.
  • W projektach CMake otwieranych w środowisku IDE po uruchomieniu polecenia vcpkg integrate install automatycznie jest wykrywany i włączany łańcuch narzędzi vcpkg. To zachowanie można wyłączyć, określając pusty plik łańcucha narzędzi w pliku CMakeSettings.
  • W projektach CMake domyślnie jest teraz włączane debugowanie Tylko mój kod.
  • Ostrzeżenia analizy statycznej można teraz przetwarzać w tle i wyświetlać w edytorze projektów CMake.
  • Dodaliśmy bardziej zrozumiałe komunikaty dotyczące „rozpoczęcia” i „zakończenia” kompilowania oraz konfigurowania dla projektów CMake, a także obsługę interfejsu użytkownika postępu kompilacji w programie Visual Studio. Ponadto istnieje teraz ustawienie szczegółowości narzędzia CMake w obszarze Opcje narzędzi>, aby dostosować poziom szczegółowości komunikatów kompilacji i konfiguracji narzędzia CMake w oknie danych wyjściowych.
  • Ustawienie „cmakeToolchain” jest teraz obsługiwane w pliku CMakeSettings, umożliwiając określanie łańcuchów narzędzi bez konieczności ręcznego modyfikowania wiersza polecenia w narzędziu CMake.
Zaplecze
  • Wprowadziliśmy ulepszenia przepływności kompilacji, między innymi obsługę konsolidatora operacji we/wy w pliku i czasu łączenia w procesach scalania i tworzenia pliku typu PDB.
  • Dodaliśmy podstawową obsługę wektoryzacji SIMD w programie OpenMP. Można ją włączyć za pomocą nowego przełącznika wiersza polecenia -openmp:experimental. Umożliwia to wektoryzację pętli z adnotacją „#pragma omp simd”. Wektoryzacja nie jest gwarantowana, a pętle z adnotacjami, które nie zostały zwektoryzowane, powodują zgłaszanie ostrzeżeń. Jeśli klauzule SIMD nie są obsługiwane, zostaną one po prostu zignorowane i zgłoszone w postaci ostrzeżenia.
  • Dodaliśmy nowy przełącznik wiersza polecenia -Ob3, który jest bardziej agresywną wersją przełącznika -Ob2. -O2 (optymalizacja danych binarnych pod kątem szybkości) nadal domyślnie oznacza -Ob2. Jeśli okaże się, że kompilator nie nadąża z wbudowywaniem funkcji, rozważ przekazywanie przełączników -O2 -Ob3.
  • Aby zapewnić obsługę ręcznej wektoryzacji pętli zawierających wywołania funkcji bibliotek matematycznych i niektórych innych operacji, takich jak dzielenie liczb całkowitych, dodaliśmy obsługę funkcji wewnętrznych biblioteki SVML (Short Vector Math Library), które umożliwiają obliczanie 128-, 256- lub 512-bitowych odpowiedników wektorów. Aby uzyskać definicje obsługiwanych funkcji, zobacz Intel Intrinsic Guide (Przewodnik wewnętrzny firmy Intel).
  • Nowe i ulepszone optymalizacje:
    • Składanie stałych i uproszczenia arytmetyczne dla wyrażeń korzystających z funkcji wewnętrznych SIMD (wektorowych) w przypadku formularzy liczb zmiennoprzecinkowych i całkowitych
    • Bardziej zaawansowana analiza wyodrębniania informacji z przepływu sterowania (instrukcje if/else/switch) w celu usuwania gałęzi zawsze sprawdzonych jako prawda lub fałsz
    • Ulepszone odwijanie funkcji memset umożliwiające korzystanie z instrukcji wektorowych SSE2
    • Ulepszone usuwanie bezużytecznych kopii struktury/klasy, szczególnie w przypadku programów C++, które przekazują wartość
    • Ulepszona optymalizacja kodu za pomocą funkcji memmove, takiej jak konstrukcja std::copy lub std::vector i std::string
Zakończenie obsługi
  • Szablon zarządzanego projektu testowego w języku C++ nie jest już dostępny. Możesz w dalszym ciągu korzystać z zarządzanej platformy testowej w języku C++ w istniejących projektach, ale w przypadku nowych testów jednostkowych zastanów się nad użyciem jednej z natywnych platform testowych, dla których program Visual Studio udostępnia szablony (MSTest, Google Test), lub szablonu zarządzanego projektu testowego w języku C#.
  • Zestaw Windows 8.1 SDK nie jest już dostępny w instalatorze programu Visual Studio. Przeprowadź uaktualnienie projektów w języku C++ do najnowszego zestawu Windows 10 SDK. Jeśli masz stałą zależność od systemu w wersji 8.1, możesz pobrać go z archiwum zestawu Windows SDK.
  • Obsługa systemu Windows XP nie będzie już dostępna w najnowszym zestawie narzędzi języka C++. Obsługa systemu XP za pomocą bibliotek i kompilatora MSVC na poziomie programu VS 2017 jest wciąż możliwa i można ją zainstalować za pośrednictwem opcji „Poszczególne składniki”.
  • Nasza dokumentacja aktywnie zniechęca do użycia modułów scalania w przypadku wdrożenia środowiska uruchomieniowego Visual C++. W tym wydaniu idziemy dalej, oznaczając nasze pliki MSM jako przestarzałe. Rozważ migrację wdrożenia centralnego VCRuntime z plików MSM do pakietu redystrybucyjnego.
  • Następujące kreatory ATL/MFC języka C++ nie są już dostępne: Kreator składników ATL COM+ 1.0, Kreator składników stron aktywnych serwerów ATL, Kreator dostawcy ATL OLE DB, Kreator strony właściwości ATL, Kreator konsumenta OLE DB ATL, klient MFC ODBC, klasa MFC z kontrolki ActiveX i klasa MFC z biblioteki typów. Przykładowy kod dla tych technologii jest archiwizowany w repozytorium GitHub VCSamples.

F#

Ulepszenia języka F# w programie Visual Studio 2019 obejmują trzy główne obszary:

  • F# 4.6
  • Znaczne ulepszenie wydajności w przypadku średnich i większych rozwiązań
  • Dużo pracy w środowisku open source wykonywanej przez naszą wspaniałą społeczność open source
F# 4.6

To wydanie zawiera język F# 4.6:

Ulepszenia w kompilatorze F# i elemencie FSharp.Core

Zostały wprowadzone liczne ulepszenia języka F#, kompilatora oraz elementu FSharp.Core, zwłaszcza dzięki uczestnikom projektów typu open source:

  • Domyślnie programy fsi.exe i fsc.exe korzystają teraz z programu .NET Framework 4.7.2, umożliwiając ładowanie składników przeznaczonych dla tego programu lub wcześniejszych wersji (problem nr 4946).
  • Zoptymalizowaliśmy metody w strukturach i rekordy struktur, aby działały tak dobrze jak metody w klasach i rekordy oparte na klasach (#3057).
  • Zoptymalizowaliśmy emitowany poziom integralności dla połączonych operatorów logicznych w kodzie języka F# (problem nr 635).
  • Zoptymalizowaliśmy użycie znaku + z ciągami w języku F#, aby wywoływać minimalną możliwą liczbę wywołań String.Concat (#5560).
  • Rozwiązaliśmy problem z pakietem FSharp.Core polegający na tym, że były uwzględnione dodatkowe katalogi z testowymi zasobami. Wersje 4.5.5 i 4.6.1 pakietu FSharp.Core powinny zawierać poprawkę (problem nr 5814).
  • Gdy atrybut zdefiniowany przez użytkownika nie dziedziczy z klasy Attribute, jest teraz wyświetlane ostrzeżenie. Autor: Vasily Kirichenko.
  • Wartość AssemblyInformationVersionAttribute w pliku projektu obsługuje teraz dowolne wartości w celu obsługi scenariuszy, takich jak SourceLink (#4822).
  • Usterka polegająca na tym, że niedozwolona składnia zawierająca aktywne wzorce mogła powodować wewnętrzny błąd kompilatora, została usunięta przez Steffena Forkmanna (#5745).
  • Usterka polegająca na tym, że do modułu był przez pomyłkę dodawany sufiks Module, aby moduł cykliczny odpowiadał typowi, gdy jedyną różnicą jest parametr ogólny, została usunięta przez użytkownika BooksBaum (#5794).
  • Usprawnienie komunikatu o błędzie, gdy parametry typu nie znajdują się obok nazwy typu, zostało wprowadzone przez Alana Balla (#4183).
  • Literałowy sufiks uint16 nieprawidłowych literałów numerycznych jest poprawnie wyświetlany w komunikatach o błędach — Teo Tsirpanis (#5712).
  • Komunikaty o błędach dotyczące wyrażeń obliczeń nie zawierają już informacji async, a zamiast tego odnoszą się do „wyrażeń obliczeń” — John Wostenberg (#5343).
  • Komunikat o błędzie podczas nieprawidłowego odwoływania się do bibliotek .dll w interaktywnym języku F# został naprawiony przez Bartoza Sypytkowskiego (#5416).
  • Usterka polegająca na tym, że statycznie rozwiązywane parametry typu nie obsługiwały wywołań elementu członkowskiego ukrywającego dziedziczony element członkowski została naprawiona przez Victora Petera Rouvena Müllera (#5531).
  • Różne mniejsze ulepszenia wydajności zostały dodane do kompilatora przez Steffena Forkmanna i Roberta Jeppesena.
Usprawnienia wydajności języka F#

Kolejnym dużym obszarem zainteresowania w przypadku języka F# w programie Visual Studio 2019 była wydajność średnich i dużych rozwiązań. Firma Microsoft rozwiązała kilka problemów, które od dawna sprawiały trudność użytkownikom — czasem już od pierwszej wersji narzędzi F# dla programu Visual Studio. Tu również otrzymaliśmy pomoc ze strony niezawodnej społeczności projektów open source języka F#.

  • Odnowiliśmy sposób inicjowania usługi językowej F# w programie Roslyn. Kolorowanie typów dla większych rozwiązań powinno na ogół pojawiać się wcześniej.
  • Zmieniliśmy reprezentację tekstu źródłowego, aby uniknąć dużych alokacji wraz z upływem czasu, szczególnie w przypadku większych plików (problemy nr 5935, 5936, 5937 i 4881).
  • Wprowadziliśmy zmiany w pamięciach podręcznych kompilacji, aby niewielkie zmiany w plikach używały znacznie mniejszej ilości pamięci (problem nr 6028).
  • Zmodyfikowaliśmy funkcję kompilatora sugerującą nazwy podczas wprowadzania nierozpoznanych tokenów, tak aby wyliczała te sugestie wyłącznie na żądanie, czego skutkiem jest zmniejszenie ilości zużywanej pamięci oraz procesora CPU podczas powolnego wprowadzania dużych rozwiązań (problem nr 6044).
  • Zmieniliśmy funkcję IntelliSense, dzięki czemu nie są już domyślnie wyświetlane symbole z nieotwartych przestrzeni nazw. Poprawiło to wydajność funkcji IntelliSense w projektach z wieloma odwołaniami. Tę funkcję można włączyć z powrotem w ustawieniach za pomocą narzędzia > Opcje > Edytor > tekstu F# > IntelliSense.
  • Ulepszyliśmy użycie pamięci w przypadku korzystania z dostawców typów w celu generowania dużej ilości dostarczanych typów na liście uzupełniania (#5599).
  • Zmniejszenie użycia procesora CPU oraz pamięci w wewnętrznym algorytmie porównania ciągów w celu sugerowania nierozpoznanych nazw zostało poprawione przez użytkownika Avi Avni (problem nr 6050).
  • Istotne źródło dużych alokacji ciągów, szczególnie w przypadku narzędzi środowiska IDE, zostało naprawione przez Aviego Avniego (#5922).
  • Istotne źródło alokacji sterty dla obiektów wielkich napływających z obliczeń funkcji IntelliSense zostało naprawione przez użytkownika Chet Husk (problem nr 6084)
Ulepszenia narzędzi języka F#

Oprócz ulepszeń wydajności wprowadzono wiele ulepszeń narzędzi języka F# w programie Visual Studio 2019:

  • Poprawka kodu instrukcji Dodaj open teraz domyślnie powoduje dodanie instrukcji open na początku pliku.
  • Usunęliśmy usterkę powodującą, że instrukcja match! w kodzie użytkownika unieważniała wskazówki dotyczące struktury i węzły zwijania kodu dla kolejnych zakresów (#5456).
  • Obecnie edytor oznacza poprawnie kolorem wartości byref, outref i ref jako pola rekordów za pomocą kolorowania wartości modyfikowalnych (#5579).
  • Usunęliśmy usterkę polegającą na tym, że refaktoryzacja zmiany nazwy nie rozpoznawała znaku ' w nazwach symboli (#5604).
  • Naprawiliśmy występującą od dawna usterkę, która polegała na tym, że zmiana nazw plików skryptów w języku F# powodowała utratę danych kolorowania (#1944).
  • Firma Microsoft oczyściła funkcję IntelliSense, tak aby nie pokazywała niepowiązanych elementów na liście po naciśnięciu klawisza backspace.
  • Dzięki eleganckiemu wcięciu wklejenie kodu F# do edytora powoduje teraz sformatowanie go w taki sposób, aby pasował do odpowiedniego zakresu na podstawie bieżącego położenia kursora — zmiana zaimplementowana przez Saula Rennisona (#4702).
  • Jakob Majocha naprawił problem powodujący brak synchronizacji opcji edytora F# (problemy nr 5997 i 5998).
  • Błąd polegający na tym, że funkcja IntelliSense w konstruktorze w ramach klauzuli inherit nie pokazywała głównego konstruktora, został naprawiony przez użytkownika Eugene Auduchinok (problem nr 3699)
  • Różne mniejsze ulepszenia w usłudze języka F# zostały wprowadzone przez użytkownika Eugene Auduchinok
Infrastruktura „open source” języka F#

Przeprowadziliśmy pełną migrację języka F# i bazy kodu narzędzi F# w celu używania zestawu SDK platformy .NET. Powinno to znacząco uprościć proces kontrybucji w przypadku deweloperów, zwłaszcza jeśli nie korzystają z systemu Windows. Ponadto Jakub Majocha pomógł w oczyszczeniu dokumentów dla nowych współautorów pod kątem zmian w bazie kodu.

Python

Program Visual Studio 2019 zawiera ulepszony w oparciu o opinie klientów interfejs zarządzania środowiskami języka Python:

  • Dodaliśmy nowe okno dialogowe Dodaj środowisko, które upraszcza tworzenie i dodawanie środowisk wirtualnych oraz środowisk conda w projekcie.
  • Instalator programu Visual Studio nie instaluje już pełnych wersji programu Anaconda, aby zredukować rozmiar instalacji programu Visual Studio i uniknąć błędów podczas uaktualniania.
  • W pakiecie z obciążeniem Python jest dostępny opcjonalny składnik Miniconda, który umożliwia tworzenie środowisk conda bez konieczności instalowania platformy Miniconda/Anaconda.
  • Teraz monit o dodanie środowiska będzie wyświetlany automatycznie, jeśli w folderze głównym projektu znajduje się plik requirements.txt (środowisko wirtualne) lub environment.yml (środowisko conda).
  • Podczas edytowania plików języka Python dostępny jest nowy pasek narzędzi środowisk Python. Nowy pasek narzędzi umożliwia przełączanie się między różnymi interpreterami języka Python podczas pracy z projektami, obszarami roboczymi Open Folder czy luźnymi plikami języka Python w innych projektach.
  • Ulepszenia jakości funkcji automatycznego uzupełniania w funkcji IntelliSense dla języka Python, w tym poprawione wykrywanie importów względnych oraz przestrzeni nazw.
  • Szablony projektów Django zostały zaktualizowane na potrzeby obsługi wersji Django 2.x.
  • Zwracane wartości funkcji są teraz wyświetlane w debugerze języka Python.
  • Można teraz tworzyć sesje rozszerzenia Visual Studio Live Share i pracować nad kodem w języku Python wspólnie z innymi użytkownikami programu Visual Studio. Wcześniej język Python był obsługiwany tylko w przypadku dołączania do sesji utworzonych w programie Visual Studio Code.

JavaScript/TypeScript

  • Dodaliśmy obsługę włączania debugowania kodu JavaScript w ramach testów jednostkowych w projektach środowiska Node.js. Na tę funkcję od dawna czekali nasi użytkownicy środowiska Node.js.
  • Od teraz usługa językowa JavaScript/TypeScript będzie automatycznie ładowana w projektach, które mają zainstalowany pakiet NuGet TypeScript lub pakiet npm (obsługiwana jest wersja TypeScript 3.2 i nowsze z pakietu NuGet oraz TypeScript 2.1 i nowsze z pakietu npm).
  • Wprowadziliśmy ulepszenia wydajności w usłudze językowej dzięki zwiększeniu limitu pamięci usługi językowej w celu obsługi większych projektów.
  • Na liście błędów domyślnie nie jest już wyświetlana diagnostyka zamkniętych plików JavaScript/TypeScript.
  • Starsza wersja usługi językowej JavaScript nie jest już dostępna. Wcześniej użytkownicy mieli możliwość przywrócenia starszej wersji usługi językowej JavaScript. Teraz użytkownicy mają nową, gotową usługę językową JavaScript. Nowa usługa językowa jest oparta na usłudze językowej TypeScript, która korzysta z analizy statycznej. Zapewnia to lepsze narzędzia, dzięki którym kod JavaScript może korzystać z ulepszonej funkcji IntelliSense opartej na definicjach typów. Nowa usługa ma uproszczoną konstrukcję i zużywa mniej pamięci niż starsza wersja usługi, zapewniając użytkownikom lepszą wydajność w miarę rozrastania się kodu.

Program Team Explorer i usługa Azure DevOps

Wprowadziliśmy ulepszenia do środowiska elementów roboczych Git za pomocą usługi Azure DevOps.

  • Przypisuj elementy robocze do siebie lub innych osób za pomocą nowego selektora tożsamości. Domyślnie będzie wyświetlana lista ostatnio używanych osób. Możesz również korzystać z możliwości wyszukiwania, aby znajdować inne osoby w Twojej organizacji.
  • Ulepszyliśmy środowisko #wzmianek w komunikacie dotyczącym zatwierdzenia. Po wybraniu elementu roboczego za pomocą selektora #wzmianek zostanie on automatycznie dodany do listy Powiązane elementy robocze.
Assigning work items and #mention improvements
Przypisywanie elementów roboczych i ulepszenia #wzmianek

Wyróżnianie ścieżki gorącej

  • Dodaliśmy obsługę wyróżniania ścieżek aktywnych w narzędziach Użycie procesora CPU i Przydzielanie obiektów DotNet w Profilerze wydajności. Wybierz dowolną funkcję w drzewie wywołań i naciśnij przycisk ścieżki aktywnej, aby rozwinąć ścieżkę aktywną Użycie procesora CPU lub Przydzielanie obiektów Dot Net. Ta funkcja umożliwia łatwe identyfikowanie wywołań funkcji, które zużywają najwięcej zasobów procesora CPU lub przydzielają większość obiektów.
Hot path highlighting in the CPU Usage tool
Wyróżnianie ścieżek aktywnych w narzędziu Użycie procesora CPU

Narzędzia .NET i ASP.NET

  • Wprowadziliśmy różne drobne ulepszenia środowiska użytkownika na stronie podsumowania profilu publikowania (nowe nagłówki sekcji i akcje/skróty) dla wszystkich aplikacji.
  • Podczas publikowania aplikacji platformy ASP.NET w usłudze Azure App Service na stronie podsumowania profilu publikowania znajduje się teraz nowa sekcja o nazwie „Zależności”. Ta nowa sekcja umożliwia obecnie skojarzenie zasobów usług Azure Storage i Azure SQL z wystąpieniem usługi aplikacji. W przyszłości należy spodziewać się udostępniania kolejnych usług platformy Azure za pomocą tego mechanizmu.
  • Używaj w projektach .NET Core metryk kodu, korzystając z dodanej przez nas zgodności.
  • Wyeksportuj ustawienia edytora do pliku Editorconfig za pomocą pozycji Narzędzia > Opcje > Edytor > tekstu Styl kodu języka C# > z przyciskiem "Generuj plik editorconfig z ustawień".
  • Używaj nowej obsługi analizatora wyrażeń regularnych w języku C# i programie Visual Basic. Wyrażenia regularne są teraz rozpoznawane, a funkcje językowe są w nich włączone. Ciągi wyrażenia regularnego są rozpoznawane po ich przekazaniu do konstruktora wyrażeń regularnych lub gdy są bezpośrednio poprzedzone komentarzem zawierającym ciąg language=regex. Funkcje językowe zawarte w tej wersji to: klasyfikacja, parowanie nawiasów klamrowych, wyróżnianie odwołań i diagnostyka.
Regular expressions now have parser support
Obsługa analizatora wyrażeń regularnych
  • Teraz możesz używać analizy martwego kodu w przypadku nieużywanych składowych prywatnych z opcjonalną poprawką kodu, aby usunąć nieużywaną deklarację elementu członkowskiego.
  • Funkcja Znajdź odwołania w metodzie dostępu zwraca teraz wyniki tylko dla tej metody dostępu.
  • Dodaliśmy poprawkę kodu umożliwiającą generowanie metody dekonstrukcji.
  • Instrukcje „using” można dodawać po wklejeniu kodu do pliku. Poprawka kodu jest wyświetlana po wklejeniu rozpoznanego kodu powodującego wyświetlenie monitu o dodanie odpowiednich brakujących importów.
  • Teraz dostępnych jest więcej refaktoryzacji i szybkich akcji za pomocą klawiszy "Ctrl + ." lub "Alt + Enter":
    • W przypadkach, gdy instrukcja „await” jest przewidywana, ale została pominięta, pojawia się teraz ostrzeżenie kompilatora.
    • W przypadku konwertowania funkcji lokalnej na metodę.
    • W przypadku konwertowania spójnej kolekcji na strukturę z nazwą.
    • W przypadku konwertowania typu anonimowego na klasę.
    • W przypadku konwertowania typu anonimowego na spójną kolekcję.
    • W przypadku pętli foreach na zapytanie LINQ lub na metodę LINQ.
  • Obecnie dodano obsługę aplikacji platformy ASP.NET Core działających w usłudze Azure Kubernetes Service. Aby rozpocząć pracę, zobacz ten przykład platformy docker w serwisie GitHub.
  • Platforma ASP.NET jest teraz obsługiwana w narzędziu Użycie procesora CPU w Profilerze wydajności.
CPU Usage Tool in Performance Profiler
Narzędzie Użycie procesora CPU w Profilerze wydajności
  • Teraz możesz wyświetlać wyniki z plików Razor (cshtml) w projektach .NET Core, używając funkcji Znajdowanie wszystkich odwołań (Shift-F12) i CodeLens. Następnie możesz przejść do zidentyfikowanego kodu w odpowiednich plikach Razor.
  • Dodaliśmy obsługę określania miejsca docelowego aplikacji (Core i klasyczna) ASP.NET uruchomionych na maszynach wirtualnych systemu Windows i w zestawach skalowania maszyn wirtualnych.
Snapshot debugger target selection UI
Interfejs użytkownika wybierania miejsca docelowego debugera migawek
  • Teraz podczas uruchamiania analizy kodu za pomocą programu FxCop będzie wyświetlane ostrzeżenie. Od teraz zalecanym sposobem obsługi analizy kodu są analizatory kompilatora .NET. Dowiedz się więcej na temat migracji do analizatorów platformy kompilatora .NET.
  • Szablony projektów PCL (Portable Class Library) nie są już dostępne, a obsługa projektów nie będzie domyślnie instalowana. Nowe projekty przeznaczone dla wielu platform docelowych powinny używać typu projektu .NET Standard. Klienci, którzy potrzebują obsługi projektów PCL, muszą zainstalować składnik oddzielnie z karty Poszczególne składniki w instalatorze programu Visual Studio.
  • Polecenie „Project.CopyWebSite” nie jest już dostępne. Ta funkcja była dostępna tylko w przypadku typu projektu „Witryna internetowa” dla platformy .NET. Umożliwiała ona synchronizowanie dwóch witryn internetowych, aby miały tę samą wersję każdego pliku. W programie Visual Studio 2019 możesz skopiować pliki ze zdalnego miejsca docelowego poza programem Visual Studio, a następnie otworzyć projekt.
  • Możliwość otwierania projektu Witryna internetowa ze zdalnej lokalizacji FTP została usunięta. Użytkownicy protokołu FTP mogą skopiować pliki ze zdalnego miejsca docelowego poza programem Visual Studio, otworzyć projekt i wprowadzić zmiany, a następnie użyć funkcji publikowania, aby wypchnąć je z powrotem do zdalnej lokalizacji FTP.
  • Obciążenie ASP.NET i sieć Web nie instaluje już niestandardowej kolekcji ustawień edycji CoffeeScript. Pakiety TextMate w programie Visual Studio zapewniają doskonałe środowisko do pracy z językiem CoffeeScript.
  • Błędy arkuszy CSS i języka CoffeeScript, które obecnie są generowane przez wbudowane kopie CSSLint i CoffeeLint, nie będą już automatycznie wyświetlane podczas edycji tych plików. Używaj alternatywnej metody uruchamiania narzędzi typu linter, takiej jak npm lub program Visual Studio Task Runner Explorer.
  • Program Visual Studio nie udostępnia już funkcji IntelliSense dla atrybutów HTML biblioteki Knockout. W programie Visual Studio 2019 musisz wpisać atrybuty.
  • Możliwość debugowania kodu JavaScript przy użyciu debugera Legacy Chrome w projektach platformy ASP.NET została usunięta. W dalszym ciągu możesz używać aktualnego debugera Chrome wbudowanego w programie Visual Studio.
  • Możliwość korzystania z funkcji konsoli języka JavaScript w projektach platformy ASP.NET została usunięta. Zalecamy klientom, aby używali konsoli dołączonej do narzędzi deweloperskich ulubionej przeglądarki.

Narzędzia kontenerów

  • Dodaliśmy usprawnione środowisko jednoprojektowe na potrzeby konteneryzowania i debugowania:
    • Aplikacje internetowe ASP.NET (.NET Framework)
    • Aplikacje konsolowe (.NET Core)
  • Dodaliśmy obsługę debugowania aplikacji ASP.NET Core korzystających z obrazu podstawowego Alpine.
  • Dodaliśmy obsługę najnowszych obrazów ASP.NET i .NET Core.

Narzędzia platformy .NET Core

.NET Core 3.0

W tej wersji można tworzyć projekty ASP.NET Core, konsoli i biblioteki klas przeznaczone dla platformy .NET Core 3.0, jeśli masz zainstalowany zestaw SDK w wersji zapoznawczej.

Jeśli używasz programu Visual Studio RC, musisz również przejść do pozycji Narzędzia > Opcje > projektów i rozwiązań > platformy .NET Core i zaznacz pole wyboru Użyj wersji zapoznawczych zestawów SDK platformy .NET Core. Jeśli używasz programu Visual Studio w wersji zapoznawczej, nie musisz tego robić. Aby uzyskać więcej informacji o tym ustawieniu i jego zachowaniu, zobacz .NET Core tooling update for Visual Studio 2017 version 15.9 (Aktualizacja narzędzi .NET Core dla programu Visual Studio 2017 w wersji 15.9).

Można również utworzyć projekty Windows Forms lub WPF dla platformy .NET Core 3.0 za pomocą polecenia „dotnet new”. Te projekty można następnie otwierać w programie Visual Studio 2019.

Nowe funkcje

Począwszy od tej wersji, pliki projektu dla projektów w stylu zestawu SDK .NET stają się najwyższej jakości typem pliku w programie Visual Studio. Obsługiwane są teraz następujące funkcje:

  • Dwukrotne kliknięcie węzła projektu w celu otwarcia pliku projektu
  • Pojedyncze kliknięcie węzła projektu w celu otwarcia pliku projektu na karcie Podgląd
  • Znalezienie pliku projektu według nazwy za pomocą funkcji Przejdź do wszystkich (ctrl + T)
  • Elementy programu MSBuild w pliku projektu można teraz wyszukiwać za pomocą funkcji Znajdź w plikach
  • Otwieranie z listy błędów po wyzwoleniu błędu tworzenia projektu

Ponadto projekty w stylu zestawu SDK .NET będą teraz korzystały ze środowiska nowej konsoli zintegrowanej dla funkcji F5 i ctrl + F5 w aplikacjach konsoli. Ujednolici to obsługę podczas uruchamiania aplikacji konsoli w programie Visual Studio:

  • W przypadku funkcji F5 okno konsoli nie zostanie automatycznie zamknięte po zakończeniu wykonywania aplikacji. Nie musisz już dodawać wywołań Console.Read() do aplikacji konsolowych.
  • W przypadku funkcji ctrl + F5 okno konsoli będzie ponownie używane w kolejnych uruchomieniach aplikacji. Nie musisz już zamykać załadowanych okien konsoli.

Nowe okno konsoli można zamknąć automatycznie, naciskając klawisz po jego otwarciu lub wybierając opcję w obszarze Opcje > narzędzi > Automatycznie zamknij konsolę po zatrzymaniu debugowania.

Funkcja obsługi wyrażeń licencji i plików licencji została dodana do stron właściwości projektu. Jest to zgodne ze decyzją o wycofaniu licencji licenseUrl w pakiecie NuGet.

usprawnienia dotyczące wydajności
  • Skalowalność dużych rozwiązań uległa znaczącej poprawie, umożliwiając użycie znacznie większych rozwiązań platformy .NET Core niż wcześniej.
  • Czas ładowania rozwiązania dla dużych projektów został znacząco skrócony, zmniejszone zostało także użycie procesora CPU pamięci podczas ich ładowania.
Równoważność funkcji w projektach innych niż .NET Core

Pełna lista problemów i żądań ściągnięcia znajduje się w obszarze kamieni milowych 16.0, 16.0 (wersja zapoznawcza 2), 16.0 (wersja zapoznawcza 3) oraz 16.0 (wersja zapoznawcza 4).

Produktywność platformy .NET

  • Refaktoryzacje i poprawki kodu platformy .NET:

    • Synchronizowanie przestrzeni nazw i nazwy folderu
    • Refaktoryzowanie ściągania elementów członkowskich przy użyciu opcji okna dialogowego
    Pull members up refactoring with dialog options
    Okno dialogowe Pull Members Up (Ściągnij elementy członkowskie)
    • Zawijanie/wcinanie/wyrównywanie list parametrów/argumentów
    • Konwertowanie typu anonimowego na krotkę
    • Korzystanie z treści wyrażenia/bloku w przypadku architektury lambda
    • Odwracanie wyrażeń warunkowych i operacji logicznych
    • Automatyczne zamykanie komentarza bloku po znaku „/”
    • Konwertowanie na przydział złożony
    • Zmienne poprawki o typie określonym niejawnie nie mogą być stałymi
    • Automatyczny program naprawiający, który podczas wpisywania interpolowanego ciągu dosłownego wyrażenia zastępuje ciąg @$" ciągiem $@"
    • Uzupełnianie parametru #nullable enable|disable
    • Poprawka dotycząca nieużywanych parametrów i wartości wyrażeń
    • Poprawka umożliwiająca pozostawienie refaktoryzacji Wyodrębnij interfejs w tym samym pliku
  • Klasyfikuj odwołania według odczytu/zapisu.

  • Dodaj opcję Editorconfig when_multiline dla csharp_prefer_braces.

  • Dostępne są nowe kolory klasyfikacji z zestawu SDK platformy kompilatora .NET (Roslyn). Nowe kolory domyślne, podobne do kolorów programu Visual Studio Code, są stopniowo wdrażane. Te kolory można dostosować w obszarze Narzędzia > Opcje >> Czcionki środowiska i kolory lub wyłączyć je w obszarze Funkcje wersji zapoznawczej środowiska>, usuwając zaznaczenie pola wyboru Użyj kolorów rozszerzonych. Będziemy wdzięczni za opinię, jak ta zmiana wpływa na przepływ pracy.

New Roslyn classification colors
Nowe kolory klasyfikacji Roslyn

Debugowanie języka JavaScript w projektach ASP.NET

  • Jeśli za pomocą menu „Przeglądaj w...” dla projektu platformy ASP.NET została dodana nowa przeglądarka Google Chrome z niestandardowymi argumentami, po uruchomieniu debugowania program Visual Studio umożliwi debugowanie kodu JavaScript dla aplikacji. Podczas uruchamiania przeglądarki Chrome zostaną zastosowane niestandardowe argumenty uruchamiania.
Adding Google Chrome with Custom arguments using 'Browse with'
Dodawanie przeglądarki Google Chrome z niestandardowymi argumentami za pomocą polecenia „Przeglądaj w...”
Uwaga: program Visual Studio domyślnie uruchamia przeglądarkę Chrome przy użyciu innego katalogu danych niż zwykłe wystąpienie przeglądarki Chrome, chyba że podajesz ścieżkę do katalogu danych jako argument. Powoduje to, że jeśli jakiekolwiek rozszerzenia mają być dostępne, gdy korzystasz z tego wystąpienia przeglądarki Chrome, za pierwszym razem musisz je zainstalować.

ASP.NET i narzędzia usługi Azure Functions

  • Program Visual Studio 2019 zawiera nowe środowisko do tworzenia nowych projektów. W szczególności podczas tworzenia nowych projektów ASP.NET program Visual Studio oferuje dodatkowe okna dialogowe zawierające opcje specyficzne dla platformy ASP.NET. Te dodatkowe okna dialogowe zostały zaktualizowane, aby dopasować je do stylu wizualnego reszty środowiska.
  • Od pewnego czasu poświadczenia publikowania w programie Visual Studio są szyfrowane i przechowywane w pliku użytkownika profilu publikowania, więc nie trzeba ich ponownie wprowadzać za każdym razem, gdy publikujesz aplikację. Ogólnie rzecz biorąc, pliki użytkowników są domyślnie wykluczane z kontroli źródła, ponieważ mogą zawierać poufne i/lub osobiste informacje, których nie należy udostępniać. Do tej pory w przypadku zaewidencjonowania profilu publikowania projektu usługi Azure Functions w systemie kontroli źródła bez pliku użytkownika brakowało poświadczeń publikowania i nie można było ponownie używać profilu publikowania. Obecnie zezwalamy na edytowanie poświadczeń i utworzenie nowego pliku użytkownika, dzięki czemu można ponownie używać profilu publikowania.

Kreator Wydajności

W programie Visual Studio 2019 środowiska profilowania, które były dostępne w Kreatorze wydajności, zostały przeniesione do Profilera wydajności. W Profilerze wydajności możesz znaleźć narzędzie Użycie procesora CPU do próbkowania, a instrumentację — w narzędziu Instrumentacja. Dzięki tej zmianie Kreator wydajności nie jest już potrzebny i został usunięty z programu Visual Studio 2019. Ponadto opcja próbkowania wydajności w narzędziach wiersza polecenia programu VS Performance została usunięta. Zastępujące ją narzędzie wiersza polecenia zostanie wydane w nadchodzącej wersji zapoznawczej.

Narzędzia testowe

  • W celu uruchamiania lub debugowania testów użytkownik może teraz kliknąć prawym przyciskiem myszy testy, klasy testowe lub projekty testowe w Eksploratorze rozwiązań.
  • Przebiegi testu teraz automatycznie wykrywają architekturę procesora, jaka jest ustawiona we właściwościach projektu.
  • Narzędzia testowe interfejsu użytkownika OSS, takie jak Selenium i Appium,zaczęły się szybko rozwijać i mają silne wsparcie ze strony społeczności. Ponieważ te struktury stały się standardami branżowymi, wycofaliśmy kodowany test interfejsu użytkownika dla zautomatyzowanego testowania funkcjonalnego opartego na interfejsie użytkownika. Visual Studio 2019 będzie ostatnią wersją programu Visual Studio wyposażoną w funkcje kodowanego testu interfejsu użytkownika. Zalecamy korzystanie ze środowiska Selenium do testowania aplikacji internetowych i Appium z WinAppDriver do testowania aplikacji klasycznych i aplikacji platformy uniwersalnej systemu Windows.
  • Visual Studio 2019 będzie ostatnią wersją programu Visual Studio wyposażoną w funkcje testów obciążeniowych. Klientom potrzebującym narzędzi do testowania obciążenia zalecamy korzystanie z alternatywnych narzędzi do testowania obciążenia, takich jak Apache JMeter, Akamai CloudTest czy Blazemeter.
  • W programie Visual Studio 2019 usunięto część interfejsów API okna testowego, które wcześniej były oznaczone jako publiczne, ale nigdy nie zostały oficjalnie udokumentowane. W programie Visual Studio 2017 zostały one oznaczone jako przestarzałe, aby zawczasu ostrzec osoby obsługujące rozszerzenia. O ile nam wiadomo, bardzo mało rozszerzeń było uzależnionych od tych interfejsów API. Te interfejsy API to między innymi IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken i SearchFilterTokenType. Jeśli ta zmiana ma wpływ na Twoje rozszerzenie, daj nam znać, wysyłając zgłoszenie problemu do społeczności deweloperów.

Narzędzia platformy Kubernetes w programie Visual Studio

Narzędzia platformy Kubernetes w programie Visual Studio, które były wcześniej dostępne jako osobne rozszerzenie programu Visual Studio 2017, są teraz zintegrowane z obciążeniem Programowanie na platformie Azure w programie Visual Studio 2019.

Dodawanie obsługi platformy Kubernetes do nowego projektu

Aby dodać obsługę platformy Kubernetes do nowego projektu, otwórz program Visual Studio i wybierz opcję Utwórz nowy projekt. W oknie Tworzenie nowego projektu wyszukaj pozycję Kubernetes i wybierz szablon projektu Aplikacja kontenera dla platformy Kubernetes.

Creating a Container Application for Kubernetes
Tworzenie aplikacji kontenera dla platformy Kubernetes

Kliknij pozycję Dalej, a następnie wprowadź nazwę projektu, lokalizację i nazwę rozwiązania. Następnie kliknij pozycję Utwórz. Wybierz szablon aplikacji ASP.NET Core, który ma być używany w przypadku projektu, a następnie kliknij przycisk OK. Program Visual Studio automatycznie utworzy plik Dockerfile i wykres Helm, które umożliwią skompilowanie i wdrożenie nowej aplikacji w klastrze Kubernetes. Możesz modyfikować te artefakty w zależności od potrzeb.

Dodawanie obsługi platformy Kubernetes do istniejącego projektu

Obsługę platformy Kubernetes możesz również dodać do istniejącej aplikacji ASP.NET Core. Aby to zrobić, otwórz projekt w programie Visual Studio 2019. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt, wskaż pozycję Dodaj i kliknij pozycję Obsługa orkiestratora kontenerów.

Adding container orchestrator support
Dodawanie obsługi orkiestratora kontenerów

W oknie dialogowym Dodawanie obsługi orkiestratora kontenerów wybierz pozycję Kubernetes/Helm i kliknij przycisk OK. Program Visual Studio automatycznie utworzy plik Dockerfile i wykres Helm (w folderze o nazwie charts), które umożliwią skompilowanie i wdrożenie nowej aplikacji w klastrze Kubernetes. Jeśli te artefakty znajdują się już w tym miejscu, nie zostaną one zastąpione. Możesz modyfikować te artefakty w zależności od potrzeb.

Tworzenie publicznie dostępnego punktu końcowego

Po dodaniu obsługi platformy Kubernetes do nowego lub istniejącego projektu program Visual Studio zapyta, czy chcesz utworzyć publicznie dostępny punkt końcowy dla swojej aplikacji.

Publicly accessible endpoint prompt
Monit dotyczący publicznie dostępnego punktu końcowego

Jeśli klikniesz pozycję Tak, program Visual Studio skonfiguruje wykres Helm dla Twojej aplikacji, aby utworzyć obiekt ruchu przychodzącego platformy Kubernetes podczas wdrażania aplikacji w klastrze Kubernetes. W dowolnym momencie możesz zmienić tę opcję, modyfikując wykres Helm.

Debugowanie aplikacji w usłudze Azure Kubernetes Service

Po dodaniu obsługi platformy Kubernetes do nowego lub istniejącego projektu możesz z łatwością kompilować, uruchamiać i debugować aplikację w klastrze na żywo usługi Azure Kubernetes Service (AKS), używając funkcji o nazwie Azure Dev Spaces. Jest to przydatne do testowania projektu w kontekście rzeczywistego klastra Kubernetes lub debugowania usługi, która jest częścią znacznie większej aplikacji, bez konieczności replikowania całej aplikacji w środowisku lokalnym. Usługa Azure Dev Spaces obejmuje również funkcję umożliwiającą zespołowi deweloperów udostępnianie klastra AKS. Więcej informacji na temat usługi Azure Dev Spaces można znaleźć w dokumentacji usługi Azure Dev Spaces. Aby rozpocząć pracę, upewnij się, że usługa Azure Dev Spaces jest wybrana jako element docelowy uruchamiania debugowania w programie Visual Studio.

Selecting Azure Dev Spaces as debug launch target
Wybieranie usługi Azure Dev Spaces jako elementu docelowego uruchamiania debugowania

Zanim po raz pierwszy uruchomisz projekt w usłudze Dev Spaces, skonfiguruj subskrypcję platformy Azure i klaster AKS, których chcesz użyć. Wybierz także miejsce, w którym chcesz uruchomić projekt.

Configuring Azure Dev Spaces
Konfigurowanie usługi Azure Dev Spaces

Zazwyczaj Twój zespół uruchamia najnowszą stabilną wersję całej aplikacji w domyślnym miejscu. Następnie uruchamiasz swoją wersję usługi, nad którą pracujesz, w przestrzeni podrzędnej domyślnego miejsca. Obecnie nie ma potrzeby uruchamiania innych usług w przestrzeni podrzędnej. Usługa Dev Spaces automatycznie kieruje wywołania z usługi do stabilnych wersji usług działających w domyślnym miejscu. Aby uzyskać więcej informacji na temat sposobu konfigurowania tej funkcji, zobacz samouczki dotyczące tworzenia zespołów w dokumentacji usługi Azure Dev Spaces. Po wybraniu poprawnej subskrypcji, klastra i miejsca kliknij przycisk OK, aby kontynuować konfigurację usługi Dev Spaces. Jeśli wybierzesz klaster, z którym nie jest jeszcze skojarzony kontroler usługi Dev Spaces, kliknij przycisk OK w poniższym oknie dialogowym, aby automatycznie go utworzyć.

Enable Dev Spaces dialog
Okno dialogowe Włączanie usługi Dev Spaces

Utworzenie kontrolera zajmuje około 2 minut. Możesz kliknąć przycisk Zadania w tle w lewym dolnym rogu okna programu Visual Studio, aby wyświetlić stan.

Azure Dev Spaces controller creation status via Background Tasks
Stan tworzenia kontrolera usługi Azure Dev Spaces za pośrednictwem przycisku Zadania w tle

Gdy kontroler usługi Dev Spaces jest gotowy do użytku, naciśnij klawisz F5 lub kliknij przycisk debugowania w usłudze Azure Dev Spaces na pasku narzędzi, aby przeprowadzić debugowanie projektu w usłudze AKS.

Azure Dev Spaces debug button
Przycisk debugowania w usłudze Azure Dev Spaces

Usługa Dev Spaces zsynchronizuje kod z platformą Azure, skompiluje obraz kontenera zawierający Twój kod i wdroży go w klastrze usługi AKS, używając wykresu Helm zdefiniowanego w projekcie. Program Visual Studio otworzy zdalne połączenie debugowania z usługą uruchomioną w klastrze, aby umożliwić interakcję z nią w taki sam sposób jak podczas debugowania usługi uruchomionej w środowisku lokalnym.

Tworzenie aplikacji mobilnych w środowisku Xamarin

Ta wersja zawiera ulepszenia dotyczące rozmiaru obciążenia oraz wydajności i niezawodności kompilacji systemu Android, a także ulepszenia wydajności platform Xamarin.Android i Xamarin.Forms.

  • Obciążenie na platformie Xamarin wynosi teraz zaledwie 7,69 GB, co oznacza 2-krotną redukcję w porównaniu z programem Visual Studio 2017 w wersji 15.9 i 3-krotną względem wersji 15.7.
  • Rozszerzenie IntelliCode obsługuje teraz język XAML platformy Xamarin.Forms.
Plik > nowy projekt

Wprowadziliśmy ulepszenia wydajności mające na celu skrócenie czasu tworzenia nowego projektu platformy Xamarin, aby można było szybciej rozpoczynać kompilowanie aplikacji. Teraz dodaliśmy również pakiety NuGet używane przez szablony jako część instalacji obciążenia, aby skrócić czas przywracania pakietów, szczególnie w przypadku niskiej przepustowości lub pracy w trybie offline. Te ulepszenia w niektórych przypadkach skracają czas pełnego ładowania i przywracania nowego projektu platformy Xamarin prawie o 50%.

New Xamarin project comparison gif
Tworzenie nowego projektu platformy Xamarin w programie Visual Studio w wersji 15.9 (po lewej) i Visual Studio 2019 (po prawej)
Wskaźnik postępu kompilacji

Podczas kompilowania projektów możesz teraz wyświetlać bardziej szczegółowe informacje o postępie kompilacji. Kliknięcie ikony zadań w tle w lewym dolnym rogu podczas kompilacji spowoduje wyświetlenie bieżącej lokalizacji docelowej kompilacji, która jest uruchomiona. Może to być przydatne do określania, czy kompilacja jest wciąż uruchomiona, ale ukończenie obiektu docelowego trwa bardzo długo.

Xamarin build progress indicator
Wskaźnik postępu kompilacji platformy Xamarin
Tryb podglądu podstawowego programu podglądu zestawu narzędzi Xamarin.Forms

Nie trzeba już kompilować projektu, aby wyświetlić podgląd kodu w programie Xamarin.Forms XAML Previewer! Jeśli masz kontrolki niestandardowe w pliku XAML, konieczne może być skompilowane projektu, aby wyświetlić ich podgląd lub zdecydować się na renderowanie w czasie projektowania.

Lista rozwijana urządzenia podglądu zestawu narzędzi Xamarin.Forms

Możesz teraz przełączać się pomiędzy różnymi urządzeniami z systemami Android lub iOS, aby wyświetlać podgląd kodu XAML zestawu Xamarin.Forms, używając nowego menu rozwijanego urządzeń.

Xamarin.Forms Device Drop-Down
Menu rozwijane urządzeń zestawu narzędzi Xamarin.Forms
Panel właściwości zestawu narzędzi Xamarin.Forms

Teraz możesz edytować najczęściej używane atrybuty kontrolek, komórek i układów platformy Xamarin.Forms w panelu właściwości oraz natychmiast wyświetlać te zmiany w pliku XAML.

Xamarin.Forms Property Panel
Panel właściwości platformy Xamarin.Forms
Szablon powłoki platformy Xamarin.Forms

Zaktualizowaliśmy szablony zestawu narzędzi Xamarin.Forms, tak aby używały najnowszej wersji platformy Xamarin.Forms, a także dodaliśmy nową opcję szablonu aplikacji Xamarin.Forms Shell. Aplikacja Shell ma za zadanie zmniejszyć złożoność aplikacji przy jednoczesnym zwiększeniu produktywności deweloperów i skoncentrowaniu się na szybkości renderowania i zużyciu pamięci. Ten szablon zapewnia uruchomioną aplikację Shell dla systemów Android i iOS.

Wydajność i niezawodność kompilacji systemu Android

W programach Visual Studio 2017 w wersji 15.9 i Visual Studio dla komputerów Mac 7.7 wprowadziliśmy wstępne ulepszenia wydajności i poprawności kompilacji. W programach Visual Studio 2019 i Visual Studio dla komputerów Mac 7.8 kompilowanie i wdrażanie stało się jeszcze szybsze.

Android Build Performance
*Kompilacja systemu Android jest teraz szybsza niż chwytanie filiżanki kawy*
  • Teraz będziesz korzystać z narzędzi do tworzenia pakietów nowej generacji w systemie Android. Aby włączyć tę funkcję, dodaj flagę MSBuild w projekcie .csproj:
    • pakiet aapt2 dzieli pakiet systemu Android na dwa kroki: Kompilowanie i łączenie. Zwiększa to wydajność kompilacji przyrostowych i zapewnia wcześniejsze raportowanie błędów. Na przykład w przypadku zmian w jednym pliku wystarczy ponownie skompilować ten plik. <AndroidUseAapt2>True</AndroidUseAapt2>
  • Włączenie tego narzędzia w Twoich projektach powoduje zwiększenie wydajności w czasie kompilacji i w środowisku uruchomieniowym. Aby uzyskać szczegółowe informacje na temat tych właściwości, zobacz naszą dokumentację w artykule Proces kompilacji na platformie Xamarin.Android.
Ulepszenia emulatora systemu Android

W programie Visual Studio 2019 łatwiej tworzyć obrazy emulatora systemu Android. Wciąż współpracujemy także z zespołem Windows w ramach aktualizacji systemu Windows 10 z października 2018 r. (wersja 1809), aby zwiększyć wydajność emulatora systemu Android, gdy jest on uruchamiany w funkcji Hyper-V.

  • Nowi użytkownicy mogą utworzyć swój pierwszy obraz, naciskając po prostu ikonę uruchamiania.
  • Nasze środowisko uzyskiwania emulatora automatycznie określa najlepszą konfigurację ustawień oraz domyślnie wykorzystuje przyspieszanie sprzętowe (za pomocą aparatu Intel HAXM lub funkcji Hyper-V) i szybki rozruch.
  • Gdy chcesz utworzyć inny obraz, możesz z listy rozwijanej wybrać pozycję Utwórz emulator systemu Android, aby otworzyć Menedżera urządzeń systemu Android.
Skracanie czasów kompilacji dzięki ulepszeniom kompilacji na platformie Xamarin.Android

Opublikowaliśmy zestaw wstępnych ulepszeń wydajności kompilacji. Dostępna obecnie platforma Xamarin.Android 9.1.1+ zawiera istotne ulepszenia wydajności kompilacji w porównaniu z poprzednią wersją. Aby uzyskać więcej szczegółów, zapoznaj się z naszym porównaniem wydajności kompilacji platformy Xamarin.Android 15.9 i 16.0.

Ulepszone szybkie wdrażanie dla platformy Xamarin.Android

Szybkie wdrażanie zapewniało do tej pory krótsze czasy wdrażania przyrostowego dzięki pomijaniu przebudowywania lub ponownego wdrażania pakietu systemu Android (pliku apk) w scenariuszach, w których do jakichkolwiek aktywów, zasobów, udostępnionych bibliotek natywnych spakowanych z aplikacją czy klas zdefiniowanych przez użytkownika, dziedziczących z obiektu Java.Lang.Object nie zostały wprowadzone żadne zmiany. Ulepszone szybkie wdrażanie rozszerza obsługę szybkiego wdrażania na udostępnione biblioteki natywne i klasy dziedziczące z obiektu Java.Lang.Object. Kompilacje szybkiego wdrażania, które korzystają z tych nowych ulepszeń, muszą wygenerować nowy plik apk jedynie w ograniczonej liczbie scenariuszy, na przykład gdy plik AndroidManifest.xml ulega zmianie ze względu na dodanie nowej klasy podrzędnej Android.App.Application lub Activity. Te ulepszenia nie są jeszcze domyślnie włączone w bieżącej wersji zapoznawczej. Aby je włączyć, ustaw właściwość $(AndroidFastDeploymentType) programu MSBuild na Assemblies:Dexes w swoim pliku csproj:

<PropertyGroup> 
  <AndroidFastDeploymentType>Assemblies:Dexes</AndroidFastDeploymentType> 
</PropertyGroup>
Obsługa następnej generacji narzędzi Dex Compiler(d8) i Code Shrinker(r8) na platformie Xamarin.Android

Platforma Xamarin.Android obsługuje teraz najnowsze wersje kompilatora plików dex (d8) i narzędzia do zmniejszania objętości kodu (r8) dla systemu Android. Aby włączyć te funkcje, ustaw właściwości $(AndroidDexTool) i $(AndroidLinkTool) programu MSBuild odpowiednio na d8 i r8 w swoim pliku csproj

  • d8 to kompilator plików dex następnej generacji, który działa szybciej i generuje mniejsze pliki dex dzięki lepszej wydajności środowiska uruchomieniowego.
<PropertyGroup> 
  <AndroidDexTool>d8</AndroidDexTool>
</PropertyGroup>
  • r8 to nowe narzędzie do zmniejszania i minimalizowania, które konwertuje kod bajtowy Java na zoptymalizowany kod dex, co eliminuje potrzebę korzystania z narzędzia ProGuard.
<PropertyGroup> 
  <AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>

Aby uzyskać szczegółowe informacje na temat narzędzi d8 i r8, zapoznaj się z naszą dokumentacją.

Ulepszenia Projektant platformy Xamarin.Android

Wprowadziliśmy wiele udoskonaleń produktywności do interakcji w widoku podzielonym.

  • Przeciągaj i upuszczaj bezpośrednio z przybornika do edytora źródła, aby ułatwić sobie szybkie tworzenie szkieletu układów dla systemu Android.
Android Designer Toolbox to Source Editor
  • Wybieraj elementy bezpośrednio z poziomu ich zakresu definicji XML w edytorze źródła. Wprowadziliśmy to, synchronizując położenie daszka z odpowiednim widokiem systemu Android, co pozwala na szybki dostęp do właściwości elementu w panelu właściwości bezpośrednio z poziomu edytora.
Android Designer Source Editor to Property Editor
  • Używaj wbudowanego podglądu kolorów w kodzie XML, aby zobaczyć, jakie kolory są używane w Twoich kontrolkach.
Android Designer Color Preview
  • Używaj naszej funkcji szybkich informacji, umieszczając kursor nad wartością, aby dowiedzieć się o niej więcej, np. gdzie jest ona zdefiniowana lub jaka jest wartość szesnastkowa koloru.
Android Designer Quick Info
*Szybkie informacje w akcji*
Ulepszenia projektanta interfejsu Xamarin.Android z początkową obsługą układów ograniczeń

Rozpoczęliśmy starania o zwiększenie szybkości uruchamiania narzędzia Android Designer. W ramach tego procesu ulepszyliśmy także obsługę komunikatów wyświetlanych w projektancie podczas ładowania.

Android Designer Output

Oprócz tych ulepszeń narzędzie Android Designer natywnie obsługuje teraz usługę Android Pie (9.0) i zapewnia automatyczne uzupełnianie atrybutów ConstraintLayout.

Uzyskiwanie lepszej funkcji IntelliSense XML i optymalizacji komentowania za pomocą platformy Xamarin.Android Projektant

W przypadku dodawania widgetu do układu za pomocą funkcji IntelliSense udostępniane jest teraz pełne środowisko fragmentów kodu, które umożliwia dostarczanie wymaganych atrybutów od samego początku. Dodaliśmy inteligentne komentowanie i usuwanie komentarzy dla układów XML systemu Android.

Wydajniejsze korzystanie z funkcji Przejdź do definicji i używanie funkcji IntelliSense XML w plikach zasobów systemu Android i AndroidManifest.xml

Teraz możesz używać kombinacji Ctrl + kliknięcie na adresach URL zasobów, aby przechodzić do pliku lub wiersza, w których są one zdefiniowane.

Android Designer Go-To-Definition

Funkcja IntelliSense/automatyczne uzupełnianie są teraz obsługiwane w przypadku plików XML systemu Android innych niż układy (kolory, ciągi, obiekty rysowalne, menu, manifest systemu Android itp.).

Platforma uniwersalna systemu Windows

  • Rozszerzenie IntelliCode obsługuje teraz język XAML.
  • Aby zmniejszyć złożoność i rozmiar konfiguracji programu Visual Studio, emulatory systemu Windows Phone zostały usunięte z instalacji programu Visual Studio. Teraz musisz pobrać emulatory ręcznie.
  • Narzędzia czasu projektowania XAML dla aplikacji platformy UWP przeznaczonych dla zestawów SDK systemu Windows 10 sprzed jesiennej aktualizacji systemu Windows 10 dla twórców (kompilacja 16299) zostały usunięte. Przekieruj aplikacje do systemu Windows 10 w wersji 1709 lub nowszej, aby używać projektanta XAML, lub użyj edytora XAML.
  • Projekty testowe platformy uniwersalnej systemu Windows definiujące zależności NuGet przy użyciu pliku project.json nie są już obsługiwane. Musisz uaktualnić swój projekt, aby korzystać z nowego formatu PackageReference.
  • Aplikacje JavaScript platformy uniwersalnej systemu Windows nie są już obsługiwane w programie Visual Studio 2019. Nie możesz tworzyć ani otwierać projektów platformy uniwersalnej systemu Windows w języku JavaScript (pliki z rozszerzeniem jsproj). Więcej informacji możesz znaleźć w naszej dokumentacji dotyczącej tworzenia progresywnych aplikacji internetowych (PWA), które dobrze działają w systemie Windows.
  • Nadal możesz dołączać aplikację platformy UWP w języku JavaScript tak jak wcześniej, jednak narzędzia profilujące języka JavaScript (profilery sieci, procesora CPU i pamięci) nie są już dostępne w programie Visual Studio 2019.

Aktualizacje szablonów narzędzi pakietu Office

W programie Visual Studio 2019 wprowadziliśmy kilka zmian do szablonów pakietu Office, programu SharePoint i narzędzi VSTO.

  • Szablony programu SharePoint 2019, które zostały dodane w programie Visual Studio 2017 w wersji 15.9, są również dostępne w programie Visual Studio 2019.
  • Usunęliśmy obsługę sekwencyjnego przepływu pracy lub przepływów pracy komputera stanu w programie SharePoint. Chociaż nie będzie możliwe tworzenie i otwieranie tych przepływów pracy w programie Visual Studio 2019, w dalszym ciągu możesz edytować je w poprzednich wersjach programu Visual Studio.
  • Szablony pakietu Office 2010 nie będą już dostępne. Jednak nadal możesz otwierać istniejące projekty pakietu Office 2010 w programie Visual Studio 2019.
  • Nazwy szablonów pakietów Office 2013 i 2016 zostały zmienione, aby odzwierciedlały fakt, że obsługują one pakiet Office 2013 i nowsze.

Program Team Explorer i usługa Azure DevOps

Publikujemy nowe, zoptymalizowane środowisko skoncentrowane na deweloperach podczas nawiązywania połączenia programu Team Explorer z projektem usługi Azure DevOps.

  • Skup się na istotnych elementach roboczych, filtrując i przestawiając widok w oparciu o elementy robocze przypisane do Ciebie, wykonywane przez Ciebie, wzmiankujące Cię w dyskusji i oparte na Twoich działaniach.

    • W każdym widoku możesz utworzyć wbudowany element roboczy, przeprowadzić proste edycje w tekście, oznaczyć element roboczy jako ukończony i skojarzyć element roboczy z oczekującymi zmianami.
  • Utwórz lokalną gałąź z elementu roboczego, który będzie automatycznie wiązał element roboczy ze zmianami wprowadzonymi w tej gałęzi lokalnej. Jest to środowisko domyślne. Jeśli zechcesz przełączyć się na starsze środowisko, możesz to zrobić, ustawiając środowisko Elementy robocze w programie Visual Studio. Pamiętaj, że to nowe środowisko dotyczy tylko repozytoriów Git. Nowe środowisko repozytoriów TFVC będzie dostępne w następującej aktualizacji.

    Azure DevOps Work Item Hub
    *Centrum elementów roboczych usługi Azure DevOps*
  • Wyszukuj elementy robocze, robiąc #wzmiankę w komunikacie dotyczącym zatwierdzenia oczekujących zmian. Aby uzyskać więcej szczegółów, zobacz stronę Wyświetlanie i dodawanie elementów roboczych przy użyciu środowiska Elementy robocze.

    Azure DevOps #mentions
    *Azure DevOps #mentions*
  • Obsługa programu Microsoft Project została usunięta z wtyczki Team Foundation Server Office Integration 2019 dla programu Visual Studio 2019 ze względu na niski wskaźnik wdrażania w usłudze Azure DevOps. Teraz musisz wyeksportować elementy robocze do programu Excel i ręcznie wkleić je do projektu.

  • Obsługa programu PowerPoint została usunięta z wtyczki Team Foundation Server Office Integration 2019 dla programu Visual Studio 2019. Jednak użytkownicy w dalszym ciągu mogą tworzyć scenorysy w programie PowerPoint i łączyć je ręcznie z elementami roboczymi w usłudze Azure DevOps.

Usługa Application Insights i platforma HockeyApp

  • Okno narzędzia Trendy usługi Application Insights zostało usunięte z programu Visual Studio 2019 na rzecz rozwiązań alternatywnych, które zawierają bardziej rozbudowane funkcje. Zamiast tego możesz używać okna wyszukiwania usługi Application Insights w programie Visual Studio lub bogatego zestawu narzędzi diagnostycznych w usłudze Application Insights w witrynie Azure Portal.
  • Kreatorzy dodawania zestawu SDK usługi HockeyApp i tworzenia nowych dystrybucji wersji beta zostali usunięci. Zamiast tego zalecamy korzystanie z platformy Visual Studio App Center będącej następczynią usługi HockeyApp. W dalszym ciągu możesz normalnie korzystać z usługi HockeyApp, ale bez tych skrótów w programie Visual Studio.

Release Notes Icon Problemy rozwiązane w programie Visual Studio 2019 RC

ostatnia aktualizacja: 26 kwiecień 2019 r.


Znane problemy

Zobacz wszystkie istniejące znane problemy i dostępne obejścia w programie Visual Studio 2019 w wersji 16.0, wybierając poniższy link.

Visual Studio 2019 Known Issues

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 Feedback Icon 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.


Początek strony