Informacje o wersji 16.8 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.8
Ramy czasowe pomocy technicznej
Ta wersja nie jest już obsługiwana. Aby uzyskać więcej informacji na temat obsługi 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.8
- 9 marca 2021 r. — Visual Studio 2019 w wersji 16.8.7
- 22 lutego 2021 r. — Visual Studio 2019 w wersji 16.8.6
- 9 lutego 2021 r. — Visual Studio 2019 w wersji 16.8.5
- 12 stycznia 2021 r. — Visual Studio 2019 w wersji 16.8.4
- 8 grudnia 2020 r. — Visual Studio 2019 w wersji 16.8.3
- 19 listopada 2020 r. — Visual Studio 2019 w wersji 16.8.2
- 12 listopada 2020 r. — Visual Studio 2019 w wersji 16.8.1
- 10 listopada 2020 r. — Visual Studio 2019 w wersji 16.8.0
Informacje o starszych wersjach programu Visual Studio 2019
- Informacje o wersji dla programu Visual Studio 2019 w wersji 16.7
- Informacje o wersji dla programu Visual Studio 2019 w wersji 16.6
- Informacje o wersji dla programu Visual Studio 2019 w wersji 16.5
- Informacje o wersji programu Visual Studio 2019 w wersji 16.4
- Informacje o wersji programu Visual Studio 2019 w wersji 16.3
- Informacje o wersji programu Visual Studio 2019 w wersji 16.2
- Informacje o wersji 16.1 programu Visual Studio 2019
- Informacje o wersji 16.0 programu Visual Studio 2019
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. Szczegółowe informacje na temat wersji programu Visual Studio 2019 można znaleźć w następujących wpisach:
- Program Visual Studio 2019 w wersji 16.9 (wersja zapoznawcza 3) jest dostępny dzisiaj!
- Program Visual Studio 2019 16.9 wersja zapoznawcza 2 i życzenia noworoczne już do Ciebie zmierzają
- Program Visual Studio 2019 w wersjach 16.8 i 16.9 (wersja zapoznawcza) jest dostępny od dzisiaj
- Nowe funkcje w programie Visual Studio 2019 w wersji 16.8 (wersja zapoznawcza 3.1)
- Program Visual Studio 2019 w wersji 16.8 (wersja zapoznawcza 2) udostępnia dzisiaj nowe funkcje.
- Program Visual Studio 2019 w wersji 16.7 i 16.8 (wersja zapoznawcza 1) zostanie wydany dzisiaj
- Program Visual Studio 2019 w wersji 16.7 (wersja zapoznawcza 2) jest dostępny od dzisiaj
- Atrakcyjne nowe aktualizacje środowiska usługi Git w programie Visual Studio
- Wydanie dzisiaj! Visual Studio 2019 16.6 i 16.7 (wersja zapoznawcza 1)
- Program Visual Studio 2019 w wersji 16.6 (wersja zapoznawcza 2) udostępnia nowe funkcje
- Program Visual Studio 2019 w wersji 16.5 jest już dostępny!
- Nadeszła pora na wydanie programu Visual Studio 2019 w wersji 16.4
- Visual Studio 2019 16.4 (wersja zapoznawcza 2), sporty jesienne i przyprawa z dyni
- .NET Core Support and More in Visual Studio 2019 version 16.3 - Update Now! (Obsługa platformy .NET Core i innych w programie Visual Studio 2019 w wersji 16.3 — zaktualizuj teraz)
- Wydano program Visual Studio 2019 16.3 (wersja zapoznawcza 2) i program Visual Studio 2019 8.3 dla komputerów Mac (wersja zapoznawcza 2)!
- Program Visual Studio 2019 w wersjach 16.2 i 16.3 (wersja zapoznawcza 1) jest teraz dostępny
- Visual Studio 2019 16.2 (wersja zapoznawcza 2)
- Program Visual Studio 2019 w wersjach 16.1 (wersja zapoznawcza) i 16.2 (wersja zapoznawcza)
- Visual Studio 2019: Szybsze tworzenie kodu. Pracuj mądrzej. Kreuj przyszłość.
Zobacz pełną listę wszystkich elementów społeczności deweloperów wykonanych w programie Visual Studio 2019 w wersji 16.8
Visual Studio 2019 w wersji 16.8.7
wydany 9 marca 2021 r.
Problemy rozwiązane w tej wersji programu Visual Studio 2019 w wersji 16.8.7
Zalecenia dotyczące zabezpieczeń
CVE-2021-21300 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w usłudze Git dla programu Visual Studio
Istnieje luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu, gdy program Visual Studio klonuje złośliwe repozytorium.
CVE-2021-26701 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu na platformie .NET Core
Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje w programach .NET 5 i .NET Core ze względu na sposób wykonywania kodowania tekstu.
Visual Studio 2019 w wersji 16.8.6
wydany 22 lutego 2021 r.
Problemy rozwiązane w tej wersji programu Visual Studio 2019 w wersji 16.8.6
- Naprawiono usterkę o wysokim priorytcie blokującą deweloperom wypychanie kodu do usługi Azure Functions lub innych zasobów platformy Azure z programu Visual Studio 2019.
- VS 16.8.5 Tworzenie repozytorium Git — tworzenie nowego repozytorium GitHub — PUBLICZNE (niezaznaczonej opcji prywatnej) — NIEPOWODZENIE
Visual Studio 2019 w wersji 16.8.5
wydany 9 lutego 2021 r.
Zalecenia dotyczące zabezpieczeń
CVE-2021-1639 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w usłudze językowej TypeScript
Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje, gdy program Visual Studio ładuje złośliwe repozytorium zawierające pliki kodu JavaScript lub TypeScript.
CVE-2021-1721 Luka w zabezpieczeniach dotycząca odmowy usługi platformy .NET Core
Luka w zabezpieczeniach typu "odmowa usługi" istnieje podczas tworzenia żądania internetowego HTTPS podczas tworzenia łańcucha certyfikatów X509.
CVE-2021-24112 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu na platformie .NET 5 i .NET Core
Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje w przypadku dysponowania metaplików, gdy interfejs graficzny nadal ma do niego odwołanie. Ta luka w zabezpieczeniach istnieje tylko w systemach uruchomionych w systemie MacOS lub Linux.
Problemy rozwiązane w tej wersji programu Visual Studio 2019 w wersji 16.8.5
- Rozwiązano problem polegający na tym, że aplikacja Appx x86 Microsoft.VCLibs została zainstalowana w obszarze ExtensionSDKs zaktualizowano o prawidłowy podpis.
- Naprawiono przeciek pamięci podczas korzystania z funkcji C++ DesignTime.
- Rozwiązano problem polegający na tym, że wystąpił wyjątek, jeśli hasło nie zostało zapamiętane podczas importowania istniejącej bazy danych do projektu SSDT.
- Rozwiązano problem polegający na tym, że przycisk publikowania był wyłączany po raz pierwszy, gdy klienci publikują projekty platformy .NET Core w folderze lub w innych miejscach docelowych hostingu.
- Naprawiono zawieszenie, które od czasu do czasu wystąpiło, gdy deweloperzy otworzyli stronę widoku profilów publikowania.
- Dodaje obsługę środowiska Xcode 12.4.
Elementy ze społeczności deweloperów
- Rozwiązano problem polegający na tym, że plik sqlproj nie był aktualizowany przy użyciu zmian.
- Program Visual Studio 2019 ulega awariom systemu OOM w rozwiązaniach Chromium.
- Usterka kompilatora optymalizacji programu Visual Studio 2019 w wersji 16.7.6
- Program Visual Studio ulega awarii podczas dodawania nowego elementu —> tabela w projekcie Baza danych.
- VsDIIUnregisterServer spowalnia program Visual Studio 2019 w dół.
- Nieoczekiwana awaria programu Visual Studio 2019 podczas dokowania lub dzielenia okien.
Visual Studio 2019 w wersji 16.8.4
data wydania: 12 stycznia 2021 r.
Zalecenia dotyczące zabezpieczeń
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.
CVE-2021-1723 ASP.NET Core i Luka w zabezpieczeniach dotycząca odmowy usługi programu Visual Studio
Luka w zabezpieczeniach umożliwiająca atak typu „odmowa usługi” dotyczy sposobu analizowania żądań HTTP/2 przez protokół Kestrel.
Problemy rozwiązane w tej wersji programu Visual Studio 2019 w wersji 16.8.4
- Rozwiązano problem polegający na tym, że składniki rozszerzenia IntelliCode specyficzne dla języka C# mogą nie być instalowane, jeśli rozszerzenie zostało już zainstalowane z witryny Visual Studio Marketplace w starszych wersjach programu Visual Studio
- Przechodnie odwołania do projektów są teraz stosowane, gdy projekty PackageReference odwołują się do projektów packages.config z zależnościami PackageReference.
- Obsługa programu Xcode 12.3.
- Poprawki systemu watchOS 7.0 x86_64 oraz obsługa symulatora
- Usunęliśmy fałszywie dodatnie (C33001 ~ C33005) do użycia VARIANTów zwracanych z funkcji.
- Poprawka dotycząca sporadycznych awarii programu VS w projektancie platformy .NET Core programu WinForms podczas zamykania projektu lub rozwiązania.
- Naprawiono projekt bazy danych: Przeciągnięcie pliku z Eksploratora rozwiązań do otwartego powoduje usunięcie pliku z systemu plików.
- Rozwiązano problem polegający na tym, że kliknięcie aktualizacji w porównaniu schematu SQL nie powoduje zapisania zmian w pliku sqlproj
- Usunięto usterkę polegającą na tym, że kompilacje zakończyły się niepowodzeniem z błędami "Nie znaleziono tabeli/kolumny".
- Poprawiono pole wyboru "commit after merge" (Zatwierdzanie po scaleniu) z programu Team Explorer —> Gałęzie.
- Naprawiono błąd polegający na tym, że program Visual Studio mógł nie odpowiadać przez kilka sekund podczas sprawdzania dostępności aktualizacji.
- narzędzie DeploymentAppRecipe.exe obsługuje teraz uruchamianie z dowolnego bieżącego katalogu. Teraz zwraca również wartość zwracaną niezerową za każdym razem, gdy wdrożenie zakończy się niepowodzeniem i wyświetli komunikaty o błędach do standardowego strumienia błędów.
Zgłaszane na forum Developer Community
- Po aktualizacji wersji 16.8 pojawiło się wiele błędów analizy kodu pomimo ustawienia niektórych reguł na ostrzeżenie
- Aplikacja platformy .NET Core 3.1 lub .NET 5.0 zainstalowana przy użyciu technologii ClickOnce może się nie uruchomić po instalacji.
- Wynik fałszywie dodatni C33005 z wartością _variant_t
- Usterka dotycząca scalania i zatwierdzania operacji git
- Nie można wyświetlić informacji o zadaniu lub stosach równoległych przy użyciu monikera platformy docelowej net5.0-windows*
- Kliknięcie przycisku Aktualizuj w porównaniu schematów SQL nie powoduje zapisania zmian w pliku sqlproj
- Projekt bazy danych: przeciągnięcie pliku z Eksploratora rozwiązań do otwartego powoduje usunięcie pliku z systemu plików.
- Trenowanie modelu rozszerzenia Intellicode kończy się niepowodzeniem w programie Visual Studio 2019
- Otwieranie sesji współpracy LiveShare kończy się niepowodzeniem
Visual Studio 2019 w wersji 16.8.3
wydany 8 grudnia 2020 r.
Zalecenia dotyczące zabezpieczeń
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.
Problemy rozwiązane w tej wersji programu Visual Studio 2019 w wersji 16.8.3
- Naprawiono wewnętrzny błąd kompilatora występujący, gdy zagnieżdżony szablon funkcji jest definiowany poza klasą nadrzędną.
- Naprawiono nieprawidłowy błąd C2355 występujący, gdy element „this” jest używany w inicjatorze niestatycznej składowej danych.
- Naprawiono błąd ładowania zestawu reguł dla niestandardowego zestawu reguł używającego opcji /analyze:ruleset z opcją /analyze:rulesetdirectory i/lub /analyze:projectdirectory.
- Poprawka dla sporadycznej awarii w programie Visual Studio podczas korzystania z programu .NET Core Designer.
- Wstawienie platformy .NET 5.0.1 w programie Visual Studio w wersji 16.8.3
- Rozwiązano problem polegający na tym, że niektóre okna narzędzi aktywowane za pomocą kontekstu interfejsu użytkownika mogły powodować awarię programu Visual Studio.
- Naprawiono wypychanie ze strony Zarządzanie gałęziami, gdy nie ma żadnej gałęzi śledzenia zdalnego usługi Git.
- Dodano obsługę programu Xcode 12.2.
Zgłaszane na forum Developer Community
- Nazwa zdarzenia powinna zawierać co najmniej trzy części oddzielone ukośnikiem
- Dostosowanie paska narzędzi nie jest zachowywane
Visual Studio 2019 w wersji 16.8.2
wydany 19 listopada 2020 r.
Problemy rozwiązane w tym wydaniu programu Visual Studio 2019 w wersji 16.8.2
- Naprawiono usterkę optymalizacji w pętlach.
- Usunięto wewnętrzny błąd kompilatora w implementacji gwarantowanego pominięcia kopii (funkcja języka C++ 17).
- Naprawiono regresję wydajności kompilacji dla dużych zastosowań typów anonimowych.
- Rozwiązano problem polegający na tym, że złoty pasek z komunikatem „Określony argument znajdował się poza zakresem prawidłowych wartości” pojawiał się podczas edycji kodu w języku C#.
- Rozwiązano problem, który mógł powodować wyjątek MissingMethodException podczas kompilowania projektu z szablonami T4.
- Rozwiązano problem polegający na tym, że wyszukiwanie w oknie dialogowym nowego projektu mogło zwracać zero wyników.
Zgłaszane na forum Developer Community
- Wyjątek KeyNotFoundException zgłoszony przez element SolutionAssetStorage.GetAssetAsync powoduje wyświetlenie złotego paska
- Działanie funkcji IntelliSense kończy się niepowodzeniem, ponieważ kompilacja designtime nie może znaleźć elementu docelowego „GetClCommandLineForReference”
- Wyjątek IOException (potok został przerwany) zgłoszony przez element GetAssetAsync
- Wyszukiwanie nie działa
- Optymalizator niepoprawnie usuwał informacje EH, co powodowało awarie niektórych wyjątków
Visual Studio 2019 w wersji 16.8.1
wydany 12 listopada 2020 r.
Problemy rozwiązane w tym wydaniu programu Visual Studio 2019 w wersji 16.8.1
- Rozwiązano znaczący problem polegający na wyświetlaniu ostrzeżenia „Pakiet »SourceExplorerPackage« nie został załadowany poprawnie” podczas klonowania repozytorium we wtyczce Team Explorer. Gdy użytkownicy napotykali ten problem, produkt przestawał odpowiadać.
Visual Studio 2019 w wersji 16.8.0
wydany 10 listopada 2020 r.
Podsumowanie nowości w tym wydaniu programu Visual Studio 2019 w wersji 16.8
F#:
- Język F# 5 jest teraz wydawany wraz z platformą .NET 5
- Usprawnienia wydajności i poprawki dla narzędzi programu Visual Studio za pośrednictwem pakietu F# Tools w wersji 11.0.0
- Pełne informacje o wersji są dostępne w witrynie GitHub
C++:
- Koprocedury języka C++20 są teraz obsługiwane dla opcji /std:c++latest i nagłówka <coroutine>.
- Funkcja IntelliSense oferuje teraz obsługę elementu <concepts> języka C++20 i nagłówków <ranges> oraz zmienianie nazw i przeglądanie definicji koncepcji.
- Nasza biblioteka STL obsługuje teraz większość zakresów języka C++20.
- Program MSVC obsługuje teraz warunkowo trywialne specjalne funkcje składowe.
- Wersje C11 i C17 są teraz obsługiwane dla przełączników /std:C11 i /std:C17.
- Dodatkowe ulepszenia biblioteki STL obejmują pełną obsługę dla std::atomic_ref, std::midpoint i std::lerp oraz std::execution::unseq, optymalizacje dla std::reverse_copy i nie tylko.
- Uaktualniono wersję programu CMake dostarczanego z programem Visual Studio do wersji CMake 3.18.
- Nasze narzędzia do analizy kodu obsługują teraz standard SARIF 2.1: standardowy w branży format statycznego dziennika analizy.
- W przypadku braku narzędzi do kompilacji w projektach systemu Linux na pasku narzędzi będzie teraz wyświetlane ostrzeżenie, a lista błędów będzie zawierać jasny opis brakujących narzędzi.
- Teraz można debugować zrzuty pamięci systemu Linux w zdalnym systemie Linux lub podsystemie WSL bezpośrednio z poziomu programu Visual Studio.
- W przypadku generowania komentarzy C++ Doxygen dodaliśmy dodatkowe opcje stylu komentarzy (/*! i //!).
- Dodatkowe powiadomienia vcpkg
- Obsługa kompilatora dla wyrażeń lambda w nieocenionych kontekstach
- Ulepszona wydajność linku /debug:full dzięki wielowątkowości tworzenia pliku pdb. W kilku dużych aplikacjach i grach AAA można zauważyć od 2 do 4 razy szybsze łączenie.
- Debuger programu Visual Studio obsługuje teraz typ char8_t.
- Obsługa projektów ARM64 przy użyciu clang-cl.
- Obsługa funkcji wewnętrznych Intel AMX.
- Dodano nową opcję łącza,
legacy_stdio_float_rounding.obj
aby umożliwić starsze zachowanie drukowania wartości zmiennoprzecinkowych, które zostały zmienione w dev16.2, aby prawidłowo zaokrąglić dokładnie reprezentowane liczby zmiennoprzecinkowe. Aby uzyskać więcej informacji, zobacz printf, _printf_l, wprintf, _wprintf_l.
- Obsługa debugowania zrzutu pamięci systemu Linux na platformie .NET Core
- Automatyczna analiza na platformach .NET i .NET Core
- Automatyczna analiza aktywnej ścieżki pamięci na platformach .NET i .NET Core
Eksperymentalne aktualizacje edytora Razor:
- Żarówki Blazor
- Żarówki C#
- Udoskonalone formatowanie Razor
- Zmienianie nazwy składników Razor w znacznikach w plikach razor
- Przechodzenie do definicji w przestrzeni nazw tagów składnika Blazor
- Kolorowanie wskaźnika C#
- Kolorowanie etykietek narzędzia uzupełniania C#
- Przechodzenie do definicji/implementacji dla składni Razor z uwzględnieniem plików zamkniętych
- Znajdowanie wszystkich odwołań w zamkniętych plikach Razor
- Ulepszona stabilność i wydajność edytowania składni Razor w przypadku dużych projektów i rozwiązań
Platforma Fakes z projektami w stylu zestawu SDK:
- W przypadku korzystania z nowej obsługi platformy Fakes dla projektów w stylu zestawu SDK niektórzy użytkownicy napotykali następujący błąd podczas generowania podkładek
- Dowiedz się więcej na temat używania wszystkich funkcji usługi Git z naszej nowej dokumentacji online
- W dowolnym momencie otwórz okno repozytorium usługi Git za pośrednictwem okna zmian usługi Git, menu Widok i paska stanu
- Pobieranie, ściąganie i wypychanie z wielu lokalizacji zdalnych w oknie zmian usługi Git
- Wyświetlanie komunikatów o powodzeniu i błędach dla poleceń Git w górnej części okna repozytorium usługi Git
- Tworzenie nowej gałęzi na podstawie elementu roboczego usługi Azure DevOps
- Otwórz repozytorium Git z listy repozytoriów lokalnych w menu usługi Git
- Domyślnym dostawcą kontroli źródła jest teraz Git zamiast TFVC
- Przełączanie jednym kliknięciem między historiami rozgałęzień w oknie Repozytorium Git
- Wyświetlanie i wybieranie z listy rozwiązań w Eksploratorze rozwiązań po otwarciu repozytorium
- Modyfikowanie widoku historii i wyszukiwanie zatwierdzeń za pomocą paska narzędzi w oknie Repozytorium Git
- Pobieranie, ściąganie oraz wypychanie z sekcji zatwierdzeń przychodzących i wychodzących na grafie historii gałęzi
- Monity o utworzenie żądania ściągnięcia po wypchnięciu gałęzi do repozytorium zdalnego
- Wyświetlanie nazw gałęzi w poleceniach merge i rebase w menu kontekstowym listy gałęzi
- Dostęp do poleceń systemu Git za pomocą menu kontekstowego w Eksploratorze rozwiązań i edytorze
- Obserwowanie postępu klonowania za pomocą nowego modalnego okna dialogowego z opcją wykonywania procesu w tle
IntelliCode:
- Spersonalizowane uzupełnienia funkcji IntelliCode można uzyskać w dokumentacji programu Visual Studio
- Aktualizuj uzupełnienia funkcji IntelliCode za pomocą bazy kodu i udostępniaj w ramach dokumentacji przepływu pracy CI zespołu
- Analizatory Roslyn są teraz dołączone do zestawu .NET 5.0 SDK
- Refaktoryzacja, która wprowadza w języku C# 9 nową składnię dopasowywania wzorców
not
, gdy jest obecny operator pomijania - Refaktoryzacja metody wbudowanej w celu ułatwienia zastąpienia użycia metody statycznej, wystąpienia i rozszerzenia w ramach treści jednej instrukcji
- Poprawka kodu do konwertowania wystąpień funkcji
typeof
na funkcjęnameof
w języku C# i funkcjiGetType
na funkcjęNameOf
w języku Visual Basic - Obsługa języków C# i Visual Basic w zakresie wskazówek dotyczących nazw parametrów wbudowanych, które wstawiają zakończenia literałów, literałów rzutowanych i tworzonych wystąpień obiektów przed każdym argumentem w wywołaniach funkcji
- Refaktoryzacja wyodrębniająca elementy członkowskie z wybranej klasy do nowej klasy bazowej w językach C# i Visual Basic
- Funkcja Oczyszczanie kodu ma nowe opcje konfiguracji, które umożliwiają zastosowanie formatowania i preferencji nagłówka pliku ustawionych w pliku EditorConfig w pojedynczym pliku lub w całym rozwiązaniu
- Poprawka kodu umożliwiająca usunięcie słowa kluczowego
in
z miejsc, w których argument nie powinien być przekazywany przez referencję - Refaktoryzacja, która wprowadza nowe kombinatory wzorców C#9 i sugestie dopasowania wzorców, takie jak konwersja
==
w celu użyciais
, jeśli jest to możliwe - Poprawka kodu zmieniającą klasę w klasę abstrakcyjną, gdy próbujesz napisać metodę abstrakcyjną w klasie, która nie jest abstrakcyjna
- Uzupełnienie funkcji IntelliSense w literałach ciągów DateTime i TimeSpan jest wyświetlane automatycznie po wpisaniu pierwszego cudzysłowu
- Poprawka kodu usuwająca zbędne
pragma suppressions
i zbędne obiektySuppressMessageAttributes
- Funkcje
Rename
iFind All References
obsługują teraz odwołania do symboli w ciągu docelowym globalnych obiektówSuppressMessageAttributes
- Wycofanie słowa kluczowego ByVal, aby uznać je za niepotrzebne, i udostępnienie poprawki kodu służącej do usuwania zbędnych słów kluczowych ByVal w języku Visual Basic
- Obsługa okna Interactive dla wielu środowisk uruchomieniowych, takich jak .NET Framework i .NET Core.
- Dodano nowy interfejs API RegisterAdditionalFileAction, który umożliwia autorom analizatorów utworzenie analizatora dla dodatkowych plików.
Środowisko IDE programu Visual Studio 2019:
- Dodaj swoje konto usługi GitHub przy użyciu środowiska zarządzania kontami
- W tej wersji starsze środowisko Znajdź w plikach stało się przestarzałe i wszyscy użytkownicy zostali przeniesieni do nowego środowiska. Zespół edytora pracuje z osobami, które przesłały opinię na forum Developer Community i które napotykają problemy z nowoczesnym środowiskiem Znajdź w plikach.
- Dostawca publikacji technologii ClickOnce jest teraz dostępny dla aplikacji klasycznych systemu Windows na platformach .NET Core 3.1 i .NET 5.0.
Okienko szczegółów testu zawijania w eksploratorze testów:
- Teraz można zawijać tekst w okienku szczegółów testu w eksploratorze testów.
Narzędzia XAML (WPF, UWP i Xamarin.Forms):
- Ulepszenia diagnostyki błędów powiązań XAML
- Ustawienia Przeładowywanie na gorąco XAML zostały przeniesione do pozycji "Debugowanie > Przeładowywanie na gorąco"
- Wypełnianie zestawu narzędzi z nieużywanych pakietów NuGet
JavaScript/TypeScript:
- Debuger języka JavaScript/TypeScript obsługuje teraz debugowanie procesów roboczych usługi, internetowych procesów roboczych, elementów iFrame i kodu JavaScript strony w tym samym czasie. Ponadto nowe środowisko debugowania dodaje obsługę jednoczesnego debugowania aplikacji serwera węzła zaplecza i kodu JavaScript po stronie klienta w przeglądarce. Ta funkcja jest nadal eksperymentalna. Nowe środowisko debugowania można włączyć w menu Opcje debugowania.
- Teraz można wyzwalać refaktoryzacje wszędzie tam, gdzie mogą być dostępne, za pomocą skrótu akcji kodu (ctrl + .). Nie trzeba nawet zaznaczać żadnego tekstu — język TypeScript jest teraz wystarczająco inteligentny, aby wyszukiwać najlepsze dostępne refaktoryzacje wokół lokalizacji kursora!
- Teraz w języku TypeScript można dostrajać wyszukiwanie pakietów w celu automatycznego ukończenia importu. Może to prowadzić do usprawnienia wydajności niektórych projektów z wieloma zależnościami. Aby uzyskać więcej informacji, zapoznaj się z (informacjami o wersji) języka TypeScript 4.0 [https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-0.html]
- W okienku danych wyjściowych dodaliśmy komunikat z informacjami o typach zainstalowanych w celu obsługi funkcji IntelliSense. Zalecamy dodanie do projektu pliku tsconfig w celu dostosowania używanych typów.
- Należy pamiętać, że dołączamy kompilator i usługę języka TypeScript 4.0
Zalecenia dotyczące zabezpieczeń
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.
Problemy rozwiązane w tym wydaniu
- Rozwiązano problem, który powodował wystąpienie błędów kompilatora podczas kompilowania w programie Visual Studio 2019 16.7 za pomocą kompilatora Intel C++ Compiler z 80-bitowymi liczbami podwójnej precyzji, co uniemożliwiało kompilację projektu.
- Rozwiązano problem polegający na tym, że Live Unit Testing odmawiał uruchomienia w niektórych scenariuszach.
- Platforma .NET 5.0. RC2 dodana do programu Visual Studio 2019 16.8 w wersji zapoznawczej 4
- Rozwiązano problem polegający na tym, że rozpoczęta operacja usługi Git nigdy się nie kończyła.
- Dodaliśmy dodatkowe funkcje związane z tworzeniem środowisk Visual Studio Codespaces i łączeniem się z nimi.
- Usunięto usterkę powodującą awarię lub brak odpowiedzi programu Visual Studio 2019 podczas zamykania lub opuszczania rozwiązań ASP.NET Core.
- Rozwiązano problem polegający na tym, że ładowanie systemu projektu C++ nie powiodło się po odinstalowaniu i ponownym zainstalowaniu programu Visual Studio 2019.
Szczegóły nowości w programie Visual Studio 2019 w wersji 16.8.0
C++
- Koprocedury języka C++20 są teraz obsługiwane dla opcji /std:c++latest i nagłówka <coroutine>. Wsparcie dla naszego starszego zachowania jest dostępne w trybie <eksperymentalnym/coroutine> i przełączniku /await.
- Funkcja IntelliSense oferuje teraz obsługę elementu <concepts> języka C++20 i nagłówków <ranges> oraz zmienianie nazw i przeglądanie definicji koncepcji. Istnieje znany problem, którego rozwiązanie planujemy w wersji zapoznawczej 4.
- Nasza biblioteka STL obsługuje teraz większość zakresów języka C++20. Możesz śledzić postęp naszego problemu w usłudze GitHub dotyczącego zakresów.
- Program MSVC obsługuje teraz warunkowo trywialne specjalne funkcje składowe.
- Wersje C11 i C17 są teraz obsługiwane dla przełączników /std:C11 i /std:C17.
- Dodatkowe ulepszenia biblioteki STL obejmują pełną obsługę dla std::atomic_ref, std::midpoint i std::lerp oraz std::execution::unseq, optymalizacje dla std::reverse_copy i nie tylko. Wszystkie aktualizacje można znaleźć w dzienniku zmian.
- Uaktualniliśmy program CMake dostarczany z programem Visual Studio do wersji CMake 3.18.
- Nasze narzędzia do analizy kodu obsługują teraz standard SARIF 2.1: standardowy w branży format statycznego dziennika analizy. Więcej informacji na temat formatu SARIF można znaleźć w oficjalnej specyfikacji.
- W przypadku braku narzędzi do kompilacji w projektach systemu Linux na pasku narzędzi będzie teraz wyświetlane ostrzeżenie, a lista błędów będzie zawierać jasny opis brakujących narzędzi.
- Teraz można debugować zrzuty pamięci systemu Linux w zdalnym systemie Linux lub podsystemie WSL bezpośrednio z poziomu programu Visual Studio.
- W przypadku generowania komentarzy C++ Doxygen dodaliśmy dodatkowe opcje stylu komentarzy (/*! i //!).
- Dodatkowe powiadomienia vcpkg
- Dodaliśmy obsługę kompilatora dla wyrażeń lambda w nieocenionych kontekstach, co umożliwia używanie wyrażeń lambda w specyfikatorach decltype.
- W programie Visual Studio jest teraz dostępny linter w trakcie pisania oraz poprawki. Skonfiguruj przy użyciu narzędzi-options-text>> Editor-C>/C++-CodeStyle-Linter>> + Fixups.
Debuger
Obsługa debugowania zrzutu pamięci systemu Linux na platformie .NET Core
Debugowanie zarządzanych zrzutów pamięci systemu Linux w systemie Windows było do tej pory trudne do wykonania i zazwyczaj oznaczało konieczność skonfigurowania innego środowiska systemu Linux, które dokładnie odzwierciedlało środowisko produkcyjne, a następnie zainstalowanie zestawu narzędzi do analizy. Na szczęście w programie Visual Studio 2019 16.8 (wersja zapoznawcza 3) możesz po prostu przeciągnąć i upuścić zarządzany zrzut pamięci systemu Linux bezpośrednio do środowiska IDE i natychmiast rozpocząć debugowanie.
Automatyczna analiza na platformie .NET
Programowanie asynchroniczne już od kilku lat jest obecne na platformie .NET, jednak zawsze było je trudno wykonać dobrze. Wprowadziliśmy zarządzany analizator zrzutów pamięci, który pomaga identyfikować następujące scenariusze i antywzorce:
- Sync-over-Async
- Wyczerpanie puli wątków
Automatyczna analiza aktywnej ścieżki pamięci na platformach .NET i .NET Core
Dzięki temu klienci mogą intuicyjnie wyświetlać dominujące typy obiektów w stercie pamięci przy użyciu adnotacji płomieniowej w oknie narzędzi diagnostyki pamięci.
Platforma Fakes z projektami w stylu zestawu SDK generuje problem z podkładką
W przypadku korzystania z nowej obsługi platformy Fakes dla projektów w stylu zestawu SDK niektórzy użytkownicy napotykali następujący błąd podczas generowania podkładek.
Cannot generate shim for System.DateTime: type is not supported because of internal limitations
Odpowiednią poprawkę wprowadzono w wersji 16.8 (wersja zapoznawcza 3). Jeśli używasz wersji 16.7.*, możesz zastosować następujące obejście:
- Dodaj <FakesUseV2Generation>False</FakesUseV2Generation> do grupy właściwości w pliku csproj.
- <Dodaj Fakes Include="Fakes\*.fakes" /> do elementu ItemGroup w pliku csproj.
- Dodaj odwołanie do wygenerowanych zestawów platformy Fakes w elemencie ProjectDir/FakesAssemblies.
Możesz także śledzić opinie społeczności deweloperów, aby uzyskać dodatkowe aktualizacje.
Eksperymentalne aktualizacje edytora Razor
Nowy eksperymentalny edytor Razor obsługuje teraz następujące funkcje edytowania Razor:
- Żarówki Blazor:
- Wyodrębnij do kodu w tle*:
- Utwórz składnik z tagu*
- Dodaj dyrektywę
@using
dla składnika - W pełni kwalifikowana nazwa tagu składnika
- Żarówki języka C#
- Dodaj dyrektywę
@using
- W pełni kwalifikowana nazwa typu
- Dodaj dyrektywę
- Udoskonalone formatowanie Razor
- Zmienianie nazwy składników Razor w znacznikach w plikach razor
- Przechodzenie do definicji w nazwach tagów składnika Blazor
- Kolorowanie wskaźnika C#
- Kolorowanie etykietek narzędzia uzupełniania C#
- Znajdowanie wszystkich odwołań w zamkniętych plikach Razor
- Ulepszona stabilność i wydajność edytowania składni Razor w przypadku dużych projektów i rozwiązań
* Działa tylko w lokalnych scenariuszach Razor, które nie są jeszcze obsługiwane w programie Visual Studio Codespaces lub Live Share.
Aby włączyć eksperymentalny edytor Razor, wybierz kolejno opcje Narzędzia>Opcje>Środowisko>Funkcje w wersji zapoznawczej, wybierz pozycję Włącz eksperymentalny edytor Razor, a następnie ponownie uruchom program Visual Studio.
Visual Studio 2019 IDE
- Dodaj swoje konto usługi GitHub przy użyciu znajomego środowiska zarządzania kontami programu Visual Studio. Dzięki temu kontrola wersji, zintegrowany terminal i inne funkcje będą mogły korzystać z poświadczeń tego konta w celu spełnienia wymagań związanych z uwierzytelnianiem w usłudze GitHub.
- Dostawca publikacji technologii ClickOnce jest teraz dostępny dla aplikacji klasycznych systemu Windows na platformach .NET Core 3.1 i .NET 5.0. Aby rozpocząć, kliknij prawym przyciskiem myszy projekt w Eksplorator rozwiązań i wybierz polecenie Publikuj lub wybierz menu Build Publish AppName> (Kompiluj nazwę aplikacji).> < Technologię ClickOnce można znaleźć w kategorii folderów.
Wydajność usługi Git
- Tworzenie nowej gałęzi na podstawie elementu roboczego usługi Azure DevOps
- Otwórz repozytorium Git z listy repozytoriów lokalnych w menu usługi Git
Domyślnym dostawcą kontroli źródła jest teraz usługa Git zamiast programu TFVC, co można zmienić w obszarze Narzędzia — Opcje — Kontrola źródła
Przełączanie jednym kliknięciem między historiami rozgałęzień w oknie Repozytorium Git
Wyświetlanie i wybieranie z listy rozwiązań w repozytorium w Eksplorator rozwiązań po otwarciu repozytorium
Produktywność platformy .NET
- Analizatory platformy kompilatora .NET (Roslyn) sprawdzają kod C# lub Visual Basic pod kątem bezpieczeństwa, wydajności, projektu i innych problemów. Począwszy od wersji .NET 5.0 te analizatory są uwzględnione w zestawie .NET SDK. Analizatory są domyślnie włączona dla projektów przeznaczonych dla platformy .NET 5.0 lub nowszej. Możesz włączyć analizę kodu dla projektów przeznaczonych dla wcześniejszych wersji platformy .NET, ustawiając dla właściwości EnableNETAnalyzers wartość true. Możesz wyłączyć analizę kodu dla projektu, ustawiając dla właściwości EnableNETAnalyzers wartość false. Aby włączyć/wyłączyć analizatory platformy .NET, można również użyć okna Właściwości projektu. Aby uzyskać dostęp do okna Właściwości projektu, kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań i wybierz pozycję Właściwości. Następnie wybierz kartę Analiza kodu, gdzie możesz zaznaczyć lub wyczyścić pole wyboru Włącz analizatory platformy .NET.
- Dostępna jest już refaktoryzacja, która wprowadza w języku C+ 9 nową składnię dopasowywania wzorców
not
, gdy jest obecny operator pomijania. Umieść kursor na operatorze pomijania. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Użyj dopasowywania wzorców.
- Dostępna jest teraz refaktoryzacja metody wbudowanej, która ułatwia zastępowanie użycia metody static, instance i extension w ramach treści jednej instrukcji z opcją usunięcia oryginalnej deklaracji metody. Umieść kursor na użyciu metody. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz jedną z następujących opcji:
Wybierz pozycję <QualifiedMethodName>
Wbudowane, aby usunąć deklarację metody wbudowanej:
Wybierz pozycję Wbudowane i zachowaj <QualifiedMethodName>
oryginalną deklarację metody:
Podczas tworzenia nowego pliku języka C# lub Visual Basic z szablonu respektowane są ustawienia stylu kodu EditorConfig. Następujące style kodu zostaną automatycznie zastosowane podczas tworzenia nowych plików: nagłówki plików, sortowanie za pomocą dyrektyw i umieszczanie przy użyciu dyrektyw wewnątrz przestrzeni nazw lub poza nimi.
Dodano obsługę języków C# i Visual Basic w zakresie wskazówek dotyczących nazw parametrów wbudowanych, które wstawiają zakończenia literałów, literałów rzutowanych i tworzonych wystąpień obiektów przed każdym argumentem w wywołaniach funkcji. Najpierw należy włączyć tę opcję w obszarze Narzędzia>Opcje>Edytor tekstów>C# lub Basic>Zaawansowane i wybrać pozycję Wyświetlaj wskazówki dotyczące nazw parametrów wbudowanych (eksperymentalnie). Wskazówki dotyczące nazwy parametrów wbudowanych pojawią się w plikach języków C# i Visual Basic.
- Można teraz wyodrębnić elementy członkowskie z wybranej klasy do nowej klasy bazowej przy użyciu nowej refaktoryzacji Wyodrębnij klasę bazową. Umieść kursor na nazwie klasy lub wyróżnionym elemencie członkowskim. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz opcję Ściągnij elementy członkowskie do nowej klasy bazowej. Zostanie otwarte okno dialogowe Wyodrębnij klasę bazową, w którym można określić nazwę klasy bazowej i lokalizację, w której należy ją umieścić. Można wybrać elementy członkowskie, które mają zostać przeniesione do nowej klasy bazowej, i opcję ich wyabstrahowania, zaznaczając pole wyboru w kolumnie Wyabstrahuj.
Po wybraniu OK zostanie wyświetlona nowa klasa bazowa z elementami członkowskimi.
- Dodano poprawkę kodu do konwertowania wystąpień funkcji typeof (
<QualifiedType>
).Name do postaci nameof(<QualifiedType>
) w języku C# i wystąpień funkcji GetType(<QualifiedType>
).Name do postaci NameOf(<QualifiedType>
) w języku Visual Basic. Użycie funkcji nameof zamiast nazwy typu pozwala uniknąć odbicia podczas pobierania obiektu. Umieść kursor wewnątrz funkcji typeof(<QualifiedType>
).Name. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz jedną z następujących opcji:
Dla języka C# wybierz opcję Konwertuj typeof
na nameof
:
Dla języka Visual Basic wybierz opcję Konwertuj GetType
na NameOf
:
- Funkcja Oczyszczanie kodu ma nowe opcje konfiguracji, które umożliwiają zastosowanie formatowania i preferencji nagłówka pliku ustawionych w pliku EditorConfig w pojedynczym pliku lub w całym rozwiązaniu.
- Udostępniono poprawkę kodu umożliwiającą usunięcie słowa kluczowego
in
z miejsc, w których argument nie powinien być przekazywany przez referencję. Umieść kursor na błędzie. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Usuń słowo kluczowe „in”.
- Udostępniono refaktoryzację wprowadzającą nowe kombinatory wzorców C#9. Oprócz sugestii dopasowywania wzorców, takich jak konwertowanie znaków
==
na słowo kluczoweis
, gdy ma to zastosowanie, ta poprawka kodu sugeruje również kombinatory wzorcówand
,or
inot
w przypadku dopasowywania wielu różnych wzorców i negacji. Umieść kursor wewnątrz instrukcji. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Użyj dopasowywania wzorców.
- Udostępniono poprawkę kodu zmieniającą klasę w klasę abstrakcyjną, gdy próbujesz napisać metodę abstrakcyjną w klasie, która nie jest abstrakcyjna. Umieść kursor na błędzie metody. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Zmień na klasę „abstract”.
- W wersji 16.7 (wersja zapoznawcza 1) dodaliśmy uzupełnianie funkcji IntelliSense w literałach ciągu DateTime i TimeSpan. W tej wersji ta lista uzupełniania jest automatycznie wyświetlana po wpisaniu pierwszego cudzysłowu. W przeszłości konieczne było naciśnięcie kombinacji klawiszy Ctrl+spacja, aby wyświetlić tę listę uzupełniania. Umieść kursor wewnątrz literału ciągu DateTime lub TimeSpan i wpisz pierwszy cudzysłów. Zobaczysz opcje uzupełniania oraz objaśnienie znaczenia poszczególnych znaków. Zostanie podany format daty i godziny, a także przykład.
- Udostępniono poprawkę kodu usuwającą zbędne pominięcia instrukcji pragma i zbędne obiekty
SuppressMessageAttributes
. Umieść kursor na ostrzeżeniu pragma lub obiekcieSuppressMessageAttribute
. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Usuń zbędne pominięcie.
- Funkcje Zmień nazwę i Znajdź wszystkie odwołania obsługują teraz odwołania do symboli w ciągu docelowym globalnych pominięć
SuppressMessageAttribute
.
- Program Visual Basic obsługiwał wiele sposobów przekazywania parametrów, ByVal i ByRef, a przez długi czas metoda ByVal była opcjonalna. Teraz wycofujemy słowo kluczowe ByVal, aby uznać je za niepotrzebne, i udostępniamy poprawkę kodu służącą do usuwania zbędnych słów kluczowych ByVal. Umieść kursor na słowie kluczowym ByVal. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Słowo kluczowe „ByVal” jest zbędne i można je usunąć.
- Udostępniono obsługę okna Interactive dla wielu środowisk uruchomieniowych, takich jak .NET Framework i .NET Core.
- Udostępniono nowy interfejs API RegisterAdditionalFileAction, który umożliwia autorom analizatorów utworzenie analizatora dla dodatkowych plików.
Okienko szczegółów testu zawijania w eksploratorze testów
Ta często żądana funkcja umożliwia użytkownikowi wybranie zawijania tekstu lub pozostawienie domyślnego wyrównania wierszy tekstu. Gdy wyrównanie tekstu nie jest potrzebne, zawijanie może sprawiać, że informacje zwrotne z przebiegu testu są znacznie łatwiejsze do wyświetlenia, i eliminuje potrzebę użycia poziomego paska przewijania. Możesz to włączyć z poziomu menu ustawienia eksploratora testów lub menu kontekstowego okienka podsumowania.
Narzędzia XAML (WPF, UWP i Xamarin.Forms)
Ulepszenia diagnostyki błędów powiązań XAML
Deweloperzy pracujący nad projektami WPF, UWP, WinUI i Xamarin.Forms muszą często wykrywać i rozwiązywać błędy powiązań danych języka XAML w aplikacjach. Aby ulepszyć narzędzia diagnostyczne w tym scenariuszu dodaliśmy dwa nowe środowiska do programu Visual Studio 2019 w wersji 16.8 lub nowszej:
- Ikona wskaźnika błędu powiązania języka XAML: nowa ikona wskaźnika błędu powiązania języka XAML jest teraz dostępna na pasku narzędzi w aplikacji dla projektów WPF i UWP oraz w dynamicznym drzewie wizualnym dla wszystkich projektów XAML zawierających zestaw narzędzi Xamarin.Forms. Ta ikona będzie pokazywać czerwony wskaźnik w przypadku wykrycia co najmniej jednego błędu powiązania. Kliknięcie ikony spowoduje przejście do nowego okna błędów powiązań języka XAML.
- Okno błędów powiązań języka XAML: nowe okno błędów powiązań języka XAML jest teraz dostępne dla projektów WPF, UWP, WinUI i Xamarin.Forms. To nowe dedykowane środowisko zapewnia rozbudowany interfejs użytkownika dotyczący informacji o błędzie powiązania, które były wcześniej dostępne tylko w oknie danych wyjściowych. Ulepszenia obejmują możliwość wyświetlania błędów jako zestawu kolumn, które można sortować i dostosowywać, i które są w pełni przeszukiwalne. Ponadto pogrupowaliśmy razem podobne błędy, aby ograniczyć szumy, które mogą wystąpić w przypadku pewnej kombinacji błędów szablonów powiązań danych, udostępniając jednocześnie wszystkie oryginalne, nieprzetworzone informacje o błędach, które można łatwo skopiować za pomocą opcji menu dostępnego po kliknięciu prawym przyciskiem myszy. (uwaga: wymaga platformy Xamarin w wersji 4.5.0.266-pre3 lub nowszej)
- Przejdź do pozycji Źródło pod kątem błędów powiązań: we współpracy z zespołem WPF włączyliśmy możliwość przechodzenia do źródła błędów powiązań dla tych klientów, którzy korzystają z platformy WPF na platformie .NET 5 (RC2 lub nowszych).
Gorące ponowne ładowanie XAML
- Funkcja „tylko zmiany” funkcji przeładowywania na gorąco kodu XAML w interfejsie Xamarin.Forms obsługuje teraz platformę UWP: w tej wersji rozpoczynamy wprowadzanie obsługi bardzo oczekiwanej funkcji umożliwiającej włączenie obsługi wyłącznie nowych zmian funkcji przeładowywania na gorąco kodu XAML w projektach interfejsu Xamarin.Forms podczas kierowania do platformy UWP. Należy pamiętać, że ta funkcja jest nadal w trakcie tworzenia i podczas edycji kodu XAML wyzwala teraz aktualizacje w działającej aplikacji, a inne funkcje, takie jak pasek narzędzi w aplikacji (wybieranie elementów itp.), nie są jeszcze w pełni zaimplementowane, ale będą w przyszłym wydaniu.
- Ustawienia Przeładowywanie na gorąco XAML zostały przeniesione do pozycji "Debugowanie > Przeładowywanie na gorąco": W tej wersji skonsolidowaliśmy ustawienia Przeładowywanie na gorąco XAML w środowiskach WPF, UWP i Xamarin.Forms w ujednoliconym ekranie ustawień w obszarze "Debugowanie > Przeładowywanie na gorąco". Po raz pierwszy umożliwiliśmy też wyłączanie i włączanie przeładowywania kodu XAML na gorąco dla każdej platformy osobno w celu zapewnienia pełnej kontroli nad tym, kiedy ta funkcja jest dostępna. (Uwaga: podczas tej migracji nie zostaną zmienione żadne ustawienia, więc wszystkie istniejące opcje będą nadal obowiązywać tuż pod tą nową lokalizacją)
Edytor kodu XAML:
- Obsługa funkcji IntelliSense WinUI 3.0: w tej wersji włączyliśmy lepszą obsługę funkcji IntelliSense dla deweloperów tworzących aplikacje przy użyciu nowego interfejsu WinUI 3.0 w wersji zapoznawczej 3 lub nowszej. Aby dowiedzieć się więcej o interfejsie WinUI 3.0, zapoznaj się z dokumentacją, a w celu przekazania opinii odwiedź repozytorium GitHub języka XAML interfejsu użytkownika systemu Windows. Uwaga: najnowsza wersja zapoznawcza winUI 3.0 jest zalecana w wersji 16.9 (wersja zapoznawcza 1) dla zaktualizowanego środowiska narzędzi.
- Ulepszenie obsługi mvVM: podczas tworzenia dokumentu XAML można ustawić d:DataContext, aby uzyskać dokładne powiązanie IntelliSense dla dokumentu XAML. W przeszłości ręczne określanie typu kontekstu danych było uciążliwe. Trzeba było wyjść z dokumentu XAML, znaleźć żądany typ widoku modelu, a następnie skopiować i wkleić jego przestrzeń nazw oraz nazwę do deklaracji d:DataContext. W tej wersji wprowadzamy nową funkcję, która pozwala szybko zadeklarować kontekst d:DataContext za pośrednictwem żarówki, która sugeruje możliwe opcje wyświetlania modelu.
Możliwości rozszerzania
- Populacja przybornika z nieużywanych pakietów NuGet: w tej wersji dodaliśmy obsługę plików VisualStudioToolsManifest.xml specyficznych dla elementu TargetFrameworkMoniker podczas wypełniania przybornika za pomocą kontrolek z nieużywanych pakietów NuGet. Dzięki temu pakiet może na przykład uwidaczniać różne zestawy kontrolek dla projektów platformy .NET Core 3.1 i .NET 5.0.
Zgłaszane na forum Developer Community
- Nie można skompilować aplikacji WPF przeznaczonych dla platformy .NET 5
- Używanie polecenia msbuild.exe z poziomu wiersza polecenia dla platformy Xamarin.iOS zawiesza się przy ukończeniu
- Wyłączenie rozszerzenia IntelliCode 2.2.733.31896 powoduje przerwanie języka TypeScript 3.x z wyjątkiem CompositionFailedException podczas edytowania pliku ts
- Funkcja IntelliSense dla języka TypeScript zatrzymuje się
- VS2019 C++ — nieprawidłowy kod wygenerowany przy optymalizacji
- Niekończące się raporty zadań w tle „Operacja IntelliSense języka C/C++ w toku”
- Błąd projektanta WPF: Ścieżka węzła obliczeniowego jest nieprawidłowa — null-Window>:Grid
- Niewidoczny proces programu Visual Studio 16.8.0 (wersja zapoznawcza 4)
- Przewijanie okna Ustawienia wyjątków powoduje awarię programu VS
- Makro USE_ATL_THUNK2 z atlstdthunk.h nie może być niezdefiniowane
- Częste awarie programu Visual Studio Community 2019 16.7. x
- Przechodzenie do Menedżera pakietów NuGet powoduje awarię programu Visual Studio
- Narzędzie asan z avx2 zgłasza przepełnienie buforu stosu
- Nie można zamknąć programu Visual Studio — błąd „Nie można uzyskać dostępu do usuniętego obiektu”
- Napotkano wyjątek typu NullReferenceException.
- Problemy związane z szablonem Visual Basic Analyzer
- VS ulega awarii podczas pisania w pliku .cs
- Nowe testy wariantów w C++ Code Analysis (VS 2019 Update 8, wersja zapoznawcza 3) nie występują/nie działają
- Otwarcie rozwiązania C++ z plikami zależności zewnętrznych powoduje, że na kartach tych plików jest wyświetlany komunikat „Wystąpił błąd w...”
- Kompilacje C++ z zestawem Windows SDK 8.1 kończą się niepowodzeniem po uaktualnieniu do programu Visual Studio 16.7
- ARM64 C++: 16.4 —> regresja 16.5+.
- csproj na dysku uległ zmianie. Zamknij edytor i otwórz go ponownie
- Program ServiceHub.Host.CLR.x64 przestał działać
- Wygląda na to, że narzędzie ASAN x64-CMake nie jest obsługiwane
- Kompilacja VS2019 WSL C++ sporadycznie kończy się niepowodzeniem, gdy maksymalna liczba zadań kompilacji równoległych jest równa liczbie dostępnych procesorów
- Odtworzenie projektu powoduje usunięcie całego folderu wyjściowego (kompilacja zdalna)
- VS2019 nadal czyści katalog CMakeBuild po każdym dotknięciu pliku CMakeFiles.txt lub CMakeSettings.json
- Nie można załadować pakietu IntelliCodeCppPackage
- Błąd kompilacji w konfiguracji WSL projektu CMake spowodowany prefiksem „/mnt/”
- CMake: zmienne środowiskowe utworzone w CMakeSettings.json nie są już rozwinięte od czasu uaktualnienia do programu VS 16.7
- Porównanie schematów nie oblicza zmiennych SQLCMD podczas porównywania DACPAC z kodem źródłowym projektu
- Separacja kompilacji i debugowania nie powinna wdrażać plików. o
- Nie można skompilować modułu z partycją
- Get the message "Working on it" when switching to a tab (Komunikat „Pracujemy nad tym” podczas przełączania się na kartę)
- Visual Studio S2019 Debugger Confused by multiple variables with same name (Pomyłki debugera programu Visual Studio S2019 spowodowane wieloma zmiennymi o tej samej azwie)
- String literal delimiter highlights after bracket (Ogranicznik literału ciągu jest wyróżniany poza nawiasm)
- Unable to define a coroutine with a promise_type that is not default constructible (Nie można zdefiniować korpcedury z typem promise_type, który nie jest konstruowany domyślnie)
- C/C++ IntelliSense: po wpisaniu var nie jest wyświetlana żadna lista elementów członkowskich. po operatorie arytmetycznym w plikach C
- Codelens references not updating when making code changes in another file (Odwołania do CodeLens nie są aktualizowane podczas wprowadzania zmian w kodzie w innym pliku)
- Go To Definition goes to std::function constructor instead of lambda arg's class (Opcja Przejdź do definicji powoduje przejście do konstruktora std::function zamiast do klasy argumentu lambda)
- HLSL Shader Compiler fails to create output directory for header files (Kompilator HLSL Shader Compiler nie tworzy katalogu danych wyjściowych dla plików nagłówków)
- Unexpected error C2027: use of undefined type when using templates with /permissive- (Nieoczekiwany błąd C2027: użycie niezdefiniowanego typu podczas używania szablonów z parametrem /permissive)
- D9025: overriding '/sdl-' with '/GS-' (D9025: zastępowanie /sdl- za pomocą /GS-)
- constexpr appears to dislike reference-to-pointer (narzędzie constexpr „nie lubi” odwołania do wskaźnika)
- Dokument jest już otwarty jako projekt lub rozwiązanie i nie można go otworzyć w edytorze w tej chwili.
- Coverage on switch expression dropped in 16.7 (Pokrycie wyrażenia przełącznika porzucone w wersji 16.7)
- C5045 warning firing even though I have it disabled (Ostrzeżenie C5045 jest wyświetlane, mimo że zostało wyłączone)
- Platforma Xamarin.Forms nie może utworzyć archiwum dla systemu iOS.
- CImage::Draw() has ambiguous call to DrawImage() in 16.7.0 Preview1 [Metoda CImage::Draw() zawiera niejednoznaczne wywołanie metody DrawImage() w wersji 16.7.0, wersja zapoznawcza 1]
- Brak widoków podczas ładowania projektu „otwarty folder” z przypiętą ikoną paska zadań
- Kompilator języka C++ wybiera błędny obiekt kandydujący przeciążenia
- Nie można utworzyć nowego projektu VSIX VB przy użyciu poprawki kodu
- Funkcja znajdowania wyników VS2019 korzysta z ustawień czcionki/koloru
- Edytowanie pliku. editorconfig w dużym rozwiązaniu bardzo spowalnia edytor, powoduje duże użycie procesora CPU i pamięci RAM, a czasami awarie
- Wyniki wyszukiwania Ctrl + F są wyświetlane jako tekst, ale chcę zobaczyć wyniki w nowym oknie z uporządkowanymi wynikami wyszukiwania
- Przycisk Publikuj nie jest widoczny
- Save doesn't save (Zapis nie powoduje zapisania)
- Solution/Project name longer than 60 characters is not allowed (Nazwa rozwiązania/projektu dłuższa niż 60 znaków jest niedozwolona)
- You have a new license for Visual Studio Enterprise 2019 available message (Komunikat „Masz nową licencję programu Visual Studio Enterprise 2019”)
- Git view with dark mode is not looking correct (Widok Git w trybie ciemnym nie wygląda poprawnie)
- Visual Studio 2019 crashes while doing code analysis in the background and does not recover files (Program Visual Studio 2019 ulega awarii podczas przeprowadzania analizy kodu w tle i nie odzyskuje plików)
- Failed to add Apple Developer account with two step authentication (Nie można dodać konta programu Apple Developer z uwierzytelnianiem dwuskładnikowym)
- Fold expression in noexcept generates a syntax error (Wyrażenie zwijania w elemencie noexcept generuje błąd składniowy)
- Złoty pasek po wyjątku RPC w elemecie StreamPipeReader.AdvanceTo: Brak operacji odczytu do ukończenia.
- SQL Server Project crashing when editing columns using design panel (Projekt programu SQL Server ulega awarii podczas edytowania kolumn za pomocą panelu projektowania)
- Visual Studio 2019 Preview: ssh+git:// repository does not ask for credentials, but reports error instead (Wersja zapoznawcza programu Visual Studio 2019: repozytorium ssh+git:// nie pyta o poświadczenia tylko zgłasza błąd)
- Std::enable_if does not remove conversion operator from overload set (Funkcja std::enable_if nie usuwa operatora konwersji z zestawu przeciążenia)
- Pull request page is broken (Strona żądania ściągnięcia jest uszkodzona)
- Enable_if_t SFINAE problem (Problem dotyczący funkcji enable_if_t i reguły SFINAE)
- Std::condition_variable::wait_for(0) does not unlock the lock [Funkcja std::condition_variable::wait_for(0) nie usuwa blokady]
- Taking address of a temporary is not caught by the compiler (Pobieranie adresu elementu tymczasowego nie jest przechwytywane przez kompilator)
- NullPointerException is thrown when renaming a class together with symbol's file (Wyjątek NullPointerException jest zgłaszany w przypadku zmiany nazwy klasy wraz z plikiem symbolu)
Znane problemy
Zobacz wszystkie otwarte problemy i dostępne obejścia w programie Visual Studio 2019, wybierając poniższy link.
Opinie i sugestie
Chcemy poznać Twoje zdanie! Problemy możesz zgłaszać za pomocą opcji Zgłoś problem w prawym górnym rogu instalatora lub bezpośrednio w środowisku IDE programu Visual Studio. Ikona znajduje się w prawym górnym rogu. Zgłaszanie sugestii dotyczących produktów i śledzenie problemów jest możliwe w społeczności deweloperów programu Visual Studio, gdzie można też zadawać pytania, znajdować odpowiedzi i proponować nowe funkcje. Możesz też uzyskać bezpłatną pomoc dotyczącą instalacji za pośrednictwem naszej pomocy technicznej przez czat na żywo.
Blogi
Skorzystaj ze szczegółowych informacji i zaleceń dostępnych w witrynie blogów dotyczących narzędzi programistycznych, aby być na bieżąco ze wszystkimi nowymi wersjami i zyskać dostęp do szczegółowych wpisów dotyczących szerokiego zakresu funkcji.
Historia informacji o wersji programu Visual Studio 2019
Więcej informacji na temat poprzednich wersji programu Visual Studio 2019 można znaleźć na stronie Historia informacji o wersji programu Visual Studio 2019.