Informacje o wersji 16.10 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.10
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.10
- 20 lipca 2021 r. — Visual Studio 2019 w wersji 16.10.4
- 29 czerwca 2021 r. — Visual Studio 2019 w wersji 16.10.3
- 15 czerwca 2021 r. — Visual Studio 2019 w wersji 16.10.2
- 8 czerwca 2021 r. — Visual Studio 2019 w wersji 16.10.1
- 25 maja 2021 r. — Visual Studio 2019 w wersji 16.10.0
Informacje o starszych wersjach programu Visual Studio 2019
- Informacje o wersji 16.9 programu Visual Studio 2019
- Informacje o wersji dla programu Visual Studio 2019 w wersji 16.8
- 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:
- Programy Visual Studio 2019 w wersji 16.10 i 16.11 (wersja zapoznawcza 1) są dostępne dzisiaj!
- Zwiększona produktywność za pomocą usługi Git w programie Visual Studio
- Dostępne dzisiaj! Visual Studio 2019 w wersji 16.9 i 16.10 (wersja zapoznawcza 1)
- 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ść.
Visual Studio 2019 w wersji 16.10.5
Podsumowanie nowości w tej wersji programu Visual Studio 2019 w wersji 16.10.5
Ta wersja programu Visual Studio 2019 jest dostępna tylko za pośrednictwem usługi Windows Software Update Service (WSUS).
Najważniejsze problemy rozwiązane w tej wersji
- Symulator zdalny systemu iOS będzie teraz działać prawidłowo z sparowanymi urządzeniami Mac z zainstalowanym programem Xcode 12.4 lub 12.5. Następujące funkcje symulatora Xcode nie są dostępne w przypadku sparowania z urządzeniami Mac z zainstalowanym programem Xcode 12.4 lub nowszym:
- Ostrzeżenie o symulowanej pamięci
- Symulowane lokalizacje
Zalecenia dotyczące zabezpieczeń
CVE-2021-26423 Luka w zabezpieczeniach dotycząca odmowy usługi platformy .NET Core
Istnieje luka w zabezpieczeniach umożliwiająca odmowę usługi, w której aplikacje serwera platformy .NET (Core) zapewniające punkty końcowe protokołu WebSocket mogą zostać wyłudzone w nieskończoność podczas próby odczytania pojedynczej ramki protokołu WebSocket.
CVE-2021-34485 Luka w zabezpieczeniach dotycząca ujawniania informacji na platformie .NET Core
Luka w zabezpieczeniach umożliwiająca ujawnienie informacji istnieje, gdy zrzuty utworzone przez narzędzie do zbierania zrzutów awaryjnych i zrzutów na żądanie są tworzone z globalnymi uprawnieniami do odczytu w systemach Linux i macOS.
CVE-2021-34532 ASP.NET luka w zabezpieczeniach dotycząca ujawniania informacji podstawowych
Istnieje luka w zabezpieczeniach umożliwiająca ujawnienie informacji, w której jest rejestrowany token JWT, jeśli nie można go przeanalizować.
Visual Studio 2019 w wersji 16.10.4
Podsumowanie nowości w tej wersji programu Visual Studio 2019 w wersji 16.10.4
Najważniejsze problemy rozwiązane w tej wersji
- Usuń użycie niedozwolonych rejestrów w zestawie memset.
- Usunięto usterkę generowania kodu obejmującą skomplikowane wyrażenia zagnieżdżone obejmujące operator bitowy nie.
- Naprawiono debugowanie cieniowania dla analizatora grafiki programu VS
- Naprawiono awarię funkcji IntelliSense, która wystąpiła podczas przetwarzania składowych danych statycznych w specjalizacjach szablonów klasy.
- Redist X64 VC nie usuwa już plików środowiska uruchomieniowego podczas uruchamiania z /installer /passive przełączników.
- Rozwiązano problem polegający na tym, że kolejność wyszukiwania dołączania może być niepoprawna, gdy jest poprzedzona ciągiem "Uwzględnij katalogi".
- Rozwiązaliśmy problem z wydajnością i fałszywie dodatnie spowodowane przez jedno z rozszerzeń sprawdzania, które wyszukuje błędy w niewłaściwym użyciu sieci VARIANT.
- Rozwiązaliśmy problem z wydajnością spowodowany przez jedno z rozszerzeń sprawdzania, które znajduje błędy w nieprawidłowym użyciu wartości wyliczenia jako indeksu.
- Wprowadzono poprawkę usług językowych Live Share, która przywraca główne funkcje edytowania kodu dla uczestników sesji współpracy (uzupełnianie kodu, wyróżnianie składni, błędy itp.)
- Analizator współbieżności nie powinien już tworzyć fałszywych ostrzeżeń C26110 (brak uzyskania blokady) z wzorcami automatycznego blokowania.
- Kompilatory języka C# i Visual Basic naprawiły awarię z udziałem InternalsVisibleTo starcia z innymi atrybutami na poziomie zestawu.
- Rozwiązaliśmy problem występujący przez klientów, którzy pakowali swoje projekty przy użyciu projektów pakietów aplikacji systemu Windows, takich jak aplikacje WPF NetCore i aplikacje Project Reunion:
Nie znaleziono pliku zasobów "...\obj\wappublish\win10-x86\project.assets.json". Uruchom przywracanie pakietu NuGet, aby wygenerować ten plik. App4 (pakiet) C:\Program Files\dotnet\sdk\5.0.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 242
Ten problem został spowodowany przez projekt tworzenia pakietów, który szuka pliku project.assets.json w niewłaściwym katalogu win10-$(konfiguracja), gdy powinien on znajdować się w konfiguracji win-$().
Zgłaszane na forum Developer Community
- Kompilacja erros dla nagłówków zewnętrznych
- Nieprawidłowe ostrzeżenia dotyczące blokady przez analizator C26110
- Wewnętrzny błąd kompilatora występuje po uaktualnieniu do programu Visual Studio w wersji 16.10, gdy zestaw jest zadeklarowany w atrybucie InternalsVisibleTo
- Vcredist_x64.exe (14.29.30038.0) dostarczany z programem Visual Studio 16.10.2 niepoprawnie usuwa msvcp140.dll po drugiej instalacji przy użyciu przełącznika /passive
- Problem z generowaniem kodu programu VS 16.10.1 (tylko x86)
- Rozwiązanie Sanitizer adresów powinno zezwalać na wyzwalanie zrzutów awaryjnych bez użycia zmiennej środowiskowej
- Analizator grafiki przestał działać po kliknięciu trójkąta po cieniowaniu wierzchołka, aby rozpocząć debugowanie cieniowania
- Vsftest: Testowanie NMI
- Problem z publikowaniem w programie Project Reunion
- Narzędzie w LKG12 WAVE2 wymaga aktualizacji przed jej wysyłką
- Nie można spakować aplikacji WinUI 3 do pliku MSIX
- Debuger grafiki — debugowanie cieniowania nie działa po aktualizacji do wersji 16.10.3?
- Nie można spakować aplikacji WinUI 3 z programem Project Reunion 0.8
Visual Studio 2019 w wersji 16.10.3
wydany 29 czerwca 2021 r.
Podsumowanie nowości w tej wersji programu Visual Studio 2019 w wersji 16.10.3
Najważniejsze problemy rozwiązane w tej wersji
- Rozwiązanie problemu polegającego na tym, że przechodzenie do definicji symboli importowanych z modułów czasami przechodzi do początku pliku modułu, a nie definicji symbolu.
- Rozwiązano problem polegający na tym, że niedowidzący deweloperzy napotykali trudności z identyfikacją fokusu na ekranie, ponieważ współczynnik jaskrawości koloru obramowania jest mniejszy niż 3:1 dla pola tekstowego.
- Naprawiony projekt bazy danych: przeciąganie pliku z Eksploratora rozwiązań do otwartego powoduje usunięcie pliku z systemu plików.
- Rozwiązano problem polegający na tym, że używanie instrukcji scalania w projektach bazy danych powodowało błędy kompilacji.
- Nie wysyłaj już ścieżek na dysku podczas raportowania, które rozszerzenia są zainstalowane.
- Rozwiązano problem polegający na tym, że próba zamknięcia okna szybkiego startu może spowodować awarię programu Visual Studio.
- Rozwiązano problem polegający na tym, że czasami wyświetlane okna narzędzi uległy awarii programu VS.
- Poprawka dotycząca edycji języka C++ i kontynuowania w kodzie użytkownika, gdy w aplikacji są ładowane niepowiązane symbole G++/GCC.
- Naprawia użycie selektorów prywatnych ze struktury iAd.
- Naprawiono awarię w programie VS, która wynika z błędów występujących w projektancie XAML
- Rozwiązano problem z projektami tworzenia pakietów aplikacji systemu Windows, które odwołują się do projektów .netcoreapp, generują plik msixbundle.
- Naprawianie niepowodzenia przeprowadzania szybkiego sprawdzania w projektach WAP, które powodowały utworzenie tych projektów (zamiast pomijania), nawet jeśli projekt jest aktualny i nie wymaga modyfikacji, co dodatkowo powoduje zwiększenie przyrostowych czasów kompilacji w środowisku IDE.
Zgłaszane na forum Developer Community
[C++, IntelliSense, 16.7.7]
Rozmiar wskaźnika funkcji składowej jest nieprawidłowy w etykietce narzędzia- 16.9.2 Zamrażanie podczas pracy nad projektem programu SQL Server
- Funkcja IntelliSense języka C++20 zapewnia nieprawidłowe błędy w wersji range-v3 w wersji 0.10.0
- Problem z funkcją IntelliSense dla modułów
- Xamarin Forms iOS SkiaSharp DirectoryNotFoundException
- Problem z edytorem wersji 16.10.0 — nie można już nawigować po kodzie przy użyciu pola kombi elementów
- Moduły języka C++ 20: po kliknięciu przycisku "Przejdź do deklaracji" pozycja skoku kursora jest niepoprawna
- Brak opcji "Włącz przepływ kodu urządzenia podczas dodawania konta" w wersji 16.10
- VS 2019 16.10.0 PackageInspectionFailed: Nie można załadować pliku Info.plist z pakietu, brak takiego pliku lub katalogu
- Pakiet sklepu App Store zawiera pliki 32-bitowe
- 16.10.2 nie łączy się z komputerem Mac
- vsftest: Testowanie NMI
Visual Studio 2019 w wersji 16.10.2
wydany 15 czerwca 2021 r.
Podsumowanie nowości w tej wersji programu Visual Studio 2019 w wersji 16.10.2
Najważniejsze problemy rozwiązane w tej wersji
- Testy współbieżności w analizie kodu są inteligentniejsze. Trudniej je oszukać za pomocą złożonego przepływu sterowania.
- Ta poprawka przywraca zachowanie nagłówków zewnętrznych, pomijając analizę nagłówków zewnętrznych i pomijając ostrzeżenia z nagłówków zewnętrznych.
- Naprawiono pliki .aspx/ascx, w których użytkownicy mogą widzieć niekompletną funkcję IntelliSense lub niska wydajność.
- Rozwiązano problemy ze skalowalnością dostawcy Aparatu Unity CodeLens podczas pracy nad dużymi projektami.
- Przywrócono przetłumaczone ciągi na stronie opcji uwierzytelniania usługi platformy Azure.
- Rozwiązano sporadyczne problemy z wyświetlaniem kodu wizualnego podczas korzystania z rozszerzenia Resharper.
- Rozwiązano problem polegający na tym, że niektóre okna narzędzi, edytory i projektanci byli renderowani zbyt mały, aby wyświetlić dowolną zawartość.
- Rozwiązuje problemy z brakującą ikoną aplikacji platformy Xamarin dla systemu iOS podczas uruchamiania aplikacji lub podczas próby opublikowania jej w sklepie App Store.
- Kompilowanie projektów z maszyną AOT+LLVM nie kończy się już niepowodzeniem z powodu błędu XA3001.
- Po uaktualnieniu do programu Visual Studio 2019 w wersji 16.10 publikowanie aplikacji platformy UWP może zakończyć się niepowodzeniem z komunikatem o błędzie "Nie można odnaleźć określonej nazwy zasobu w pliku obrazu". Jest to teraz naprawione.
- Rozwiązano problem powodujący, że program Visual Studio 2019 przestał odpowiadać po zmianie konfiguracji urządzenia.
- Rozwiązuje trzy problemy w programie MSBuild:
- Unika MSB4017 błędów podczas kompilowania w usłudze Azure DevOps.
- $(
[MSBuild]
::MakeRelative()) ponownie zachowuje końcowe ukośniki w danych wejściowych. - Wyklucz globy ze wzorcem końcowym ** ponownie wyklucza pliki bez . znaki
Zgłaszane na forum Developer Community
- Społeczność deweloperów ma pełną listę wszystkich elementów wysyłkowych w tej wersji.
- Technologia ClickOnce nie opublikuje projektu.
- Publikowanie clickOnce dla platformy .NET 5.0 kończy się niepowodzeniem, gdy SelfContained=true, a projekt odwołuje się do innego projektu.
- ClickOnce nie działa ponownie.
- Publikowanie ClickOnce: nie można odnaleźć pliku metadanych (nie można użyć nieprawidłowego katalogu), publikowanie działa w interfejsie wiersza polecenia
- ClickOnce próbuje zebrać biblioteki z nieprawidłowego folderu podczas publikowania! (.Net 5)
- Po zaktualizowaniu programu Visual Studio 2019 w wersji 16.10.0 kompilacja ClickOnce nie działa.
- Regresja kompilacji w wersji 16.10.0 z zestawem EWDK
- Podczas publikowania wystąpił błąd.
Visual Studio 2019 w wersji 16.10.1
wydany 8 czerwca 2021 r.
Podsumowanie nowości w tej wersji programu Visual Studio 2019 w wersji 16.10.1
Najważniejsze problemy rozwiązane w tej wersji
- Rozwiązano problem powodujący awarię kompilatora funkcji IntelliSense.
- Rozwiązano problem, który mógł spowodować zamknięcie wystąpień programu Visual Studio 2019 w przypadku otwarcia Eksploratora testów w rozwiązaniu.
- Rozwiązano problem polegający na tym, że deweloperzy tworzyli częściowe rozwiązania z wiersza polecenia.
- Naprawiono błąd publikowania technologii ClickOnce dla aplikacji .NET Core.
- Rozwiązano problem polegający na tym, że okno stosu wywołań może ulec awarii programu Visual Studio 2019.
- Naprawia błąd kompilacji "Nie można odnaleźć pliku metadanych "***\bin\Debug\NativeLibrary.dll" podczas kompilowania projektów powiązań systemu iOS.
Zalecenia dotyczące zabezpieczeń
CVE-2021-31957 ASP.NET odmowa usługi
Luka w zabezpieczeniach typu "odmowa usługi" istnieje, gdy ASP.NET Core nieprawidłowo obsługuje rozłączenie klienta.
Zgłaszane na forum Developer Community
- Społeczność deweloperów ma pełną listę wszystkich elementów wysyłkowych w tej wersji.
- Regresja kompilacji w wersji 16.10.0 z zestawem EWDK
Visual Studio 2019 w wersji 16.10.0
wydany 25 maja 2021 r.
Podsumowanie nowości w tej wersji programu Visual Studio 2019 w wersji 16.10.0
C++
- Wszystkie funkcje języka C++20 są teraz dostępne w przełączniku
/std:c++latest
. Chociaż implementacja standardów języka C++20 w języku MSVC (obecnie opublikowana przez standard ISO) jest kompletna, niektóre kluczowe funkcje biblioteki języka C++20 powinny zostać zmienione przez nadchodzące raporty o wadach (poprawki błędów ISO C++20), które mogą je zmienić w sposób niezgodny z interfejsem ABI. Aby uzyskać więcej informacji, zobacz Microsoft/STL Issue #1814 .- Dodano obsługę natychmiastowych funkcji i constinit języka C++20 w wersji 16.10
- Ostatnie elementy
<chrono>
: nowe zegary, sekundy przestępne, strefy czasowe i analizowanie - Implementacja
<format>
formatowania tekstu
/openmp:llvm
jest teraz dostępny na x86 i ARM64, oprócz x64- Katalogi dołączania można teraz wyznaczyć jako zewnętrzne z dostosowanymi poziomami ostrzeżeń kompilacji i ustawieniami analizy kodu.
/await:strict
Dodano przełącznik w celu włączenia współistnienia języka C++20 we wcześniejszych trybach językowych.- Wizualizacja debugera zawiera
std::coroutine_handle<T>
teraz oryginalną nazwę i sygnaturę funkcji coroutine oraz bieżący punkt wstrzymania. - Dodano obsługę CMakePresets.
- Teraz będzie konieczne zaakceptowanie lub zablokowanie odcisku palca klucza hosta przedstawionego przez serwer podczas dodawania nowego połączenia zdalnego w programie Visual Studio.
/external
Dodano przełącznik do MSVC na potrzeby określania nagłówków, które powinny być traktowane jako zewnętrzne w celach ostrzegawczych.
Ulepszenia narzędzi platformy Docker
- Możliwość utworzenia profilu uruchamiania, który konfiguruje usługi do uruchamiania w pliku Compose.
- Możliwość tagowania obrazu.
- Dodano kartę Woluminy dla kontenerów.
- Dodano kartę Etykiety dla kontenerów.
- Dodano kartę Etykiety dla obrazów.
- Kontenery są teraz grupowane według projektu Compose.
Edytor
- W przypadku osób, które chcą mniej zatłoczonego środowiska, odstępy między wierszami można modyfikować, wyszukując "odstępy między wierszami" w wyszukiwaniu programu Visual Studio (Ctrl+Q). Opcja znajduje się w obszarze Edytor tekstu\Ogólne.
- Znajdź w plikach i Znajdź wszystkie odwołania mają kontrolkę, aby zachować wyniki. Na podstawie opinii społeczności dodaliśmy opcję przełączania opcji "Zachowaj wyniki" domyślnie. Tę opcję można znaleźć, wyszukując frazę "zachowaj wyniki wyszukiwania domyślnie" w wyszukiwaniu programu Visual Studio (Ctrl+Q). Opcja jest dostępna w obszarze Środowisko\Znajdź i Zamień. Należy pamiętać, że użytkownicy są obecnie ograniczeni do 5 wyników funkcji Znajdź w plikach i 5 kolejnych wyników wyszukiwania wszystkich odwołań.
- Nowa opcja w obszarze Znajdź w plikach umożliwia użytkownikom uruchamianie dodatkowych wyszukiwań i dołączanie tych wyników do poprzedniego wyszukiwania.
Rozszerzalność edytora
- Zmieniono zachowanie kodu, który zarządza elementami IntraTextAdornmentTags . Dzięki tej zmianie, podobnie jak w przypadku innych elementów ITagger, po zmianie tagów należy zgłosić zdarzenie zmienione tagów. W przeciwnym razie tagi mogą nigdy nie zostać zaktualizowane.
- Analiza diagnostyczna zrzutów pamięci obejmuje teraz zarządzane zrzuty podstawowe systemu Linux.
- Przejdź do Internetu za pomocą linków bezpośrednich, aby utworzyć nowe żądanie ściągnięcia i wyświetlić żądania ściągnięcia w usłudze GitHub lub Azure DevOps z menu Git.
- Wyewidencjonuj lokalne i zdalne gałęzie z jednym wyborem z selektora gałęzi.
- Usuń elementy z selektora repozytorium za pomocą menu kontekstowego.
- Włącz automatyczne ładowanie rozwiązania podczas otwierania repozytorium Git za pomocą ustawień usługi Git > .
- Przełącz zachowanie dwukrotnego kliknięcia, aby wyewidencjonować gałęzie w oknie Repozytorium Git za pomocą ustawień usługi Git > .
- Synchronizuj (ściągaj i wypychaj) gałąź z wieloma zdalnymi elementami z menu przepełnienia okna Zmiany usługi Git.
- Dostosuj widoczne akcje paska narzędzi okna Zmiany usługi Git (pobieranie, ściąganie, wypychanie, synchronizacja) z menu przepełnienia.
- Otwórz repozytorium w przeglądarce z menu przepełnienia okna Zmiany usługi Git.
- Wyszukaj i wyewidencjonuj lokalne i zdalne gałęzie na pasku stanu.
- Wyszukiwanie i przełączanie się między lokalnymi repozytoriami Git na pasku stanu.
- Rozwiązano problem polegający na tym, że lista repozytoriów lokalnych w menu Git nie była ładowana podczas uruchamiania programu Visual Studio.
- Dodaj zagnieżdżone repozytoria projektów do listy repozytoriów lokalnych podczas otwierania repozytorium.
- Zachowaj otwarte rozwiązanie podczas przełączania repozytoriów za pomocą ustawień usługi Git > .
- Wyłącz otwieranie folderu podczas otwierania repozytoriów za pomocą ustawień usługi Git > .
- Zsynchronizuj gałąź ze zdalnym przyciskiem niezauszanych zatwierdzeń na pasku stanu i za pomocą polecenia Synchronizuj w menu Git.
- Pobieranie i ściąganie z okienka historii okna repozytorium Git nawet wtedy, gdy nie ma zatwierdzeń przychodzących.
- Wyświetl szczegóły zatwierdzenia i porównanie zmian plików osadzonych w oknie Repozytorium Git.
- Automatyczne ponowne nawiązywanie połączenia lub monit o nawiązanie początkowego połączenia usługi Azure DevOps podczas otwierania repozytorium Git usługi Azure DevOps.
- Scal i zmień bazę z widocznymi nazwami gałęzi, zastępując mylącą terminologię źródłową/docelową.
- Zwiększona wydajność i niezawodność glifów kontroli źródła w Eksplorator rozwiązań.
- Zachowaj sekcje przychodzące/wychodzące w oknie Repozytorium Git nawet wtedy, gdy jest puste.
- Skonsolidowane listy rozwijane Pobieranie/ściąganie/wypychanie dla wielu zdalnych w oknie Zmiany usługi Git w jednym menu Akcja.
- Uzupełnianie argumentów w wywołaniach metody
- EditorConfig UI
- Wizualne sprawdzanie i nawigowanie po łańcuchu dziedziczenia
- Uzupełnianie funkcji IntelliSense dla rzutów, indeksatorów i operatorów
- Obsługa debugera dla generatorów źródeł
- Obsługa oczyszczania kodu dla języka Visual Basic
- Edytowanie i kontynuowanie aktualizacji
- Usuń nieużywane odwołania
- Linia podziału inteligentnego
- Upraszczanie refaktoryzacji wyrażeń LINQ
- Uzupełnianie funkcji IntelliSense dla wartości wyliczenia
- Ustawienie trybu uzupełniania intelliSense
- Preferencje stylu kodu dla nowych wierszy
- Obsługa znajdowania wszystkich odwołań dla generatorów źródeł
Edytor wersji zapoznawczej Razor (ASP.NET Core)
- Aktualizacje uzupełniania funkcji IntelliSense
- Przejdź do sekcji Obsługa definicji składników ogólnych
- Nowa konfiguracja stylu kodu dla kart i spacji
- Edytor tekstów Razor w opcjach narzędzi jest teraz nazywany Razor (ASP.NET Core)
Ulepszenia ułatwień dostępu środowiska testowego
- Console.Writeline jest teraz wyświetlany w Eksploratorze testów
- Dane wyjściowe testu mogą teraz zachowywać tagi, dzięki czemu hiperlinki i linki stacktrace można nawigować nawet z plików dziennika.
- Pliki dziennika są tworzone dla pojedynczego wyniku testu, gdy dane wyjściowe zawierają ponad 300 znaków lub jeśli do wyniku testu jest dołączonych ponad 10 plików.
- Pliki dziennika mogą być teraz otwierane w wersji zapoznawczej, dzięki czemu łatwiej jest zarządzać kartami.
- Pliki dziennika i Eksplorator testów obsługują Ctrl PgUp/PgDn do nawigowania po kursorze i Shift+Ctrl PgUp/PgDn do wyboru.
- Edytor plików dziennika korzysta teraz z interfejsu IVsTextView, co oznacza, że teraz będzie mógł otwierać bardzo duże pliki tekstowe. Powinno to wyeliminować potrzebę obcinania
Copy All
dzienników przez użytkowników i otwierania ich w osobnym edytorze, takim jak Notatnik. W przypadku narzędzia MSTest dołączymy również pojedynczy plik dziennika, który agreguje wszystkie dane wyjściowe zamiast mieć tylko pojedyncze pliki dziennika dla każdego wiersza danych. - Teraz możesz uzyskać pokrycie kodu międzyplatformowego w wierszu polecenia w systemach Ubuntu i Alpine za pomocą interfejsu wiersza polecenia dotnet. W przypadku użytkowników zainteresowanych uzyskaniem pokrycia kodu na maszynach przeznaczonych dla tych platform można teraz dodać te same polecenia kolekcji pokrycia kodu, które zwykle są używane w systemie Windows. Zobacz więcej dokumentacji dotyczącej testu dotnet.
- Teraz istnieje przycisk rozwiń wszystkie obok przycisku zwiń wszystkie w Eksploratorze testów. To polecenie było dostępne za pomocą skrótów klawiaturowych (Ctrl+A, Ctrl+ strzałka w prawo), ale więcej opinii wskazuje, że dodanie przycisku było warte dodatkowego interfejsu użytkownika. Jak zawsze, dziękujemy za poinformowanie nas o tym, co myślisz za pośrednictwem .https://developercommunity.visualstudio.com/
- Istnieją również niewielkie zmiany sposobu, w jaki Eksplorator testów pokazuje "nieaktualność". "Nieaktualność" to wyszarane lub "wyblakłe" wyniki testów, które wskazują, że wynik nie pochodzi z najnowszego przebiegu testu. Jeśli wynik nie jest częścią ostatniego przebiegu testu, będzie on wyświetlany jako nieaktualny. Wcześniej nowe odkrycia testów (a nawet stare wyniki testów, które zostały odnalezione ponownie) były również wyświetlane z ikonami solidnymi. Spowodowało to pewne zamieszanie, dlaczego niektóre testy "Nie uruchamiaj" zostały wyblakłe i dlaczego inne nie były. Ta zmiana zmniejszy złożoność nieaktualności.
- Funkcja utrwalonego wyniku testu (dodana w wersji 16.2) umożliwia wyświetlenie wyników testu z ostatniego przebiegu testu, nawet jeśli program Visual Studio został zamknięty i ponownie otwarty. Dzięki temu użytkownicy mogą pamiętać, gdzie odeszli i zapewnić więcej kontekstu bez konieczności przeprowadzania innego testu. Zmodyfikowaliśmy również zachowanie utrwalonego wyniku, aby zawsze były nieaktualne. Lepiej wskazuje to, że nie pochodzą one z przebiegu testowego wykonanego podczas bieżącej sesji programu Visual Studio.
Narzędzia sieci Web:
- Przełączanie do wersji 2 interfejsu API na potrzeby aprowizacji usługi Azure AD
- konfiguracja aplikacja systemu Azure jako usługa połączona obsługuje teraz konfigurację dynamiczną
Drzewo zależności projektu pakietów aplikacji systemu Windows
- Dodano drzewo zależności do projektu WAP
- Ulepszona funkcja IntelliSense języka XAML i Przeładowywanie na gorąco XAML dla klientów platformy Xamarin.Forms
- Wprowadzono przykładowe dane XAML do wybierania kontrolek elementów w WPF
- Dodano nową żarówkę w celu szybkiego dostępu do często edytowanych właściwości
- Dodano nową żarówkę w edytorze XAML, aby ułatwić tworzenie modelu widoku
Narzędzia usługi Service Fabric
- Wprowadzenie do StartupServices.xml w aplikacjach usługi Service Fabric
Szczegóły nowości w programie Visual Studio 2019 w wersji 16.10
Narzędzia platformy Docker
Okno narzędzia Kontenery
W tej wersji wprowadziliśmy dodatki do okna narzędzi Kontenery, aby ułatwić wyświetlanie kontenerów i obrazów oraz interakcję z nimi. Po prostu przejdź do pozycji Wyświetl > inne kontenery systemu Windows>, aby wypróbować nowe funkcje.
- Kontenery są teraz grupowane według projektu Compose. Ułatwia to określenie kontenerów reprezentujących aplikację. Ponadto dodaliśmy kartę Etykiety w obszarze Kontenery , aby można było łatwo zobaczyć, które etykiety są używane podczas programowania.
- Dodaliśmy również kartę Etykiety dla obrazów.
- Nowa karta Woluminy umożliwia wyświetlanie woluminów uruchomionego kontenera, a nawet otwieranie plików w programie Visual Studio.
- Teraz obsługujemy możliwość tagowania obrazu z okna narzędzia Kontenery. W obszarze Obrazy kliknij prawym przyciskiem myszy obraz i wybierz pozycję Tag.
Redaguj
- Narzędzia docker Compose w programie Visual Studio umożliwiają teraz uruchamianie dowolnej kombinacji usług zdefiniowanych w plikach redagowania. Otwórz listę rozwijaną Debuguj lub kliknij prawym przyciskiem myszy projekt docker-compose i wybierz polecenie Zarządzaj ustawieniami uruchamiania narzędzia Docker Compose, aby rozpocząć pracę.
Wydajność usługi Git
- Aby rozpocząć tworzenie żądań ściągnięcia podczas pracy w programie Visual Studio, dodaliśmy elementy menu, które są skrótami linków do stron internetowych, które umożliwiają utworzenie żądania ściągnięcia lub wyświetlenie listy żądań ściągnięcia dla repozytorium. Menu jest dynamiczne na podstawie tego, czy repozytorium znajduje się w usłudze GitHub, czy w usłudze Azure DevOps.
- Selektor gałęzi na pasku stanu i oknie Zmiany usługi Git sprawdza teraz lokalną lub zdalną gałąź po wybraniu gałęzi. Dodatkowe akcje można znaleźć w menu kontekstowym.
- Nowy selektor repozytorium na pasku stanu zawiera menu kontekstowe po kliknięciu prawym przyciskiem myszy, które umożliwia usunięcie elementów z listy.
W przypadku korzystania z selektora repozytorium lub listy repozytoriów lokalnych menu Git otwarcie repozytorium nie spowoduje już automatycznego załadowania rozwiązania. Zamiast tego zobaczysz widok folderu i rozwiązanie dostępne na liście, z której możesz wybrać. To zachowanie można zmienić za pomocą ustawień usługi Git > , przełączając pole wyboru.
Możesz wyewidencjonować gałąź w oknie Repozytorium Git, klikając dwukrotnie nazwę gałęzi. Jeśli chcesz zmienić to zachowanie, przełącz pole wyboru w obszarze Ustawienia usługi Git > .
- Teraz możesz wykonać jeszcze więcej akcji w oknie Zmiany usługi Git. Ikony paska narzędzi można dostosowywać i wybrać akcje do wyświetlenia. Z menu przepełnienia można przeprowadzić synchronizację z wieloma zdalnymi. Możesz też otworzyć zdalną stronę internetową repozytorium w przeglądarce.
- Wyszukaj lokalne i zdalne gałęzie i wykonaj typowe akcje gałęzi z selektora gałęzi paska stanu.
- Wyszukiwanie i przełączanie się między lokalnymi repozytoriami Git z selektora repozytorium paska stanu.
- Rozwiązano problem polegający na tym, że lista repozytoriów lokalnych w menu Git nie była ładowana podczas uruchamiania programu Visual Studio.
- Dodaliśmy dwie nowe opcje w ustawieniach usługi Git > , aby zarządzać sposobem otwierania i przełączania repozytoriów. Teraz możesz zachować bieżące rozwiązanie otwarte podczas przełączania się do innego repozytorium
- Podczas otwierania repozytorium można również nie załadować folderu głównego repozytorium.
- Synchronizuj (ściągaj i wypychaj) gałąź ze zdalnym przyciskiem niezauszanych zatwierdzeń na pasku stanu i z polecenia Synchronizuj w menu Git.
- Pobieranie i ściąganie z okienka historii okna repozytorium Git nawet wtedy, gdy nie ma zatwierdzeń przychodzących. Uzyskaj dostęp do tych sekcji z paska stanu lub skrótu klawiaturowego Ctrl+0+Y.
- Wybierz zatwierdzenie w oknie Repozytorium Git, aby wyświetlić jego szczegóły i porównanie zmian plików bez konieczności przechodzenia do innych okien. Wybierz dwa zatwierdzenia i kliknij prawym przyciskiem myszy, aby je porównać w tym samym oknie. Pokaż szczegóły we własnym oknie, aby uzyskać wgląd w pełny ekran, aby szczegółowo poznać zmiany.
- Wyświetl liczbę operacji usuwania i wstawiania w pliku oraz zmień układ porównania.
- Automatyczne ponowne nawiązywanie połączenia lub monit o nawiązanie początkowego połączenia usługi Azure DevOps podczas otwierania repozytorium Git usługi Azure DevOps. Umożliwia to dostęp do elementów roboczych i kompilacji dla otwartego repozytorium.
">
- Podczas rozwiązywania konfliktów bazy lub scalania edytor scalania i menu kontekstowe będą wyświetlać nazwy gałęzi dla gałęzi Bieżący i Przychodzący. To naprawia mylącą terminologię źródłową i docelową.
Produktywność platformy .NET
- Dodaliśmy polecenie Usuń nieużywane odwołania, które umożliwia czyszczenie odwołań projektu i pakietów NuGet, które nie mają użycia. Ta opcja jest domyślnie wyłączona, dlatego należy ją włączyć w obszarze Narzędzia>Opcje>Edytor>tekstów C#>Zaawansowane i wybrać polecenie Pokaż "usuń nieużywane odwołania" w Eksplorator rozwiązań (eksperymentalne). Po włączeniu opcji usuń nieużywane odwołania polecenie pojawi się w menu prawym przyciskiem myszy węzła nazwy projektu lub zależności w Eksplorator rozwiązań:
Wybranie pozycji Usuń nieużywane odwołania spowoduje otwarcie okna dialogowego, w którym można wyświetlić wszystkie odwołania, które zostaną usunięte z opcją zachowania tych, które chcesz zachować:
- Dodaliśmy nowe polecenie o nazwie Smart Break Line, które automatycznie wstawia zestaw nawiasów klamrowych i umieszcza daszek w tych nawiasach klamrowych podczas używania Shift+Enter jako znaku zatwierdzenia. Linia podziału inteligentnego działa dla wszystkich deklaracji typów, które wymagają nawiasów klamrowych, a także właściwości, zdarzeń, pól i wyrażeń tworzenia obiektów. W poniższym przykładzie przedstawiono linię podziału inteligentnego używaną w klasie i polu. Jeśli pole nie ma średnika na końcu, wpisywanie Shift+Enter spowoduje przekonwertowanie pola na właściwość przez dodanie zestawu nawiasów klamrowych. Możesz ponownie nacisnąć Shift+Enter, aby cofnąć zatwierdzenie, co spowoduje również automatyczne dodanie średnika na końcu pola:
- Teraz istnieje refaktoryzacja, która upraszcza wyrażenia LINQ, co spowoduje usunięcie niepotrzebnego wywołania funkcji Enumerable dla elementu . Where() metoda pomagająca zwiększyć wydajność i czytelność. Umieść kursor na wyrażeniu LINQ. Naciśnij klawisze (Ctrl+.), aby wywołać menu Szybkie akcje i operacje refaktoryzacji. Wybierz pozycję Uprość wyrażenie LINQ.
- Istnieje teraz uzupełnianie funkcji IntelliSense dla wartości wyliczenia, gdy typ jest znany, nawet jeśli nazwa wyliczenia nie została wprowadzona.
- Dodaliśmy nowe ustawienie trybu uzupełniania IntelliSense, które umożliwia ustawienie domyślnych opcji uzupełniania. To nowe ustawienie jest dostępne w menu Narzędzia>Opcje>Edytor>tekstu Zaawansowane>domyślne tryb uzupełniania IntelliSense, w którym można wybrać spośród następujących opcji: Ostatnio używane, co spowoduje zachowanie ostatniego ustawienia używanego za pomocą Ctrl++Spacja alt, tylko Tab, który zostanie ukończony tylko na karcie i Automatycznie które jest obecnie zachowaniem domyślnym, które zostanie ukończone w znakach interpunkcyjnych i specjalnych.
- Dodaliśmy nowe preferencje stylu kodu dla nowych wierszy. Te preferencje można skonfigurować za pomocą pliku EditorConfig lub w obszarze Narzędzia>Opcje>Edytor>tekstów C#>Styl>kodu Nowe preferencje wiersza (eksperymentalne).
Możesz na przykład ustawić preferencję stylu kodu, aby zgłosić diagnostykę i zaoferować poprawkę kodu, aby usunąć dodatkowe puste wiersze:
Istnieje teraz obsługa funkcji Znajdź wszystkie odwołania dla generatorów źródeł, która umożliwia znajdowanie odwołań w wygenerowanym źródle dokumentu.
Obecnie istnieje opcja uzupełniania, która automatycznie wstawia argumenty podczas pisania wywołania metody. Ta funkcja jest domyślnie wyłączona, dlatego należy ją włączyć w obszarze Narzędzia > Opcje > Edytor > tekstów C# > IntelliSense i wybrać kartę dwukrotnie, aby wstawić argumenty (eksperymentalne). Zacznij pisać wywołanie metody i dwukrotnie naciskać Tab (tab+tab). Zwróć uwagę, że wywołanie metody zawiera argumenty oparte na wartościach domyślnych metody. Następnie możesz użyć informacji o parametrach, aby przejść przez listę argumentów, które chcesz wstawić, naciskając strzałek w górę i w dół. Możesz również rozpocząć wpisywanie argumentu, aby wyświetlić listę uzupełniania funkcji IntelliSense i wpisać średnik, który zatwierdzi argument i doda średnik na końcu wywołania metody.
- Utworzyliśmy interfejs użytkownika dla polecenia EditorConfig. Otwórz dowolny plik C# lub Visual Basic EditorConfig z rozwiązania. Zwróć uwagę, że nowy interfejs użytkownika otworzy wyświetlanie opcji konfiguracji stylu kodu i jakości kodu dla języka C# i Visual Basic.
- Istnieje teraz wizualna reprezentacja na potrzeby nawigowania i inspekcji łańcucha dziedziczenia. Ta opcja jest domyślnie wyłączona, dlatego należy ją włączyć w obszarze Narzędzia > Opcje > Edytor > tekstów C# > Zaawansowane i wybrać pozycję Pokaż margines dziedziczenia. Włączenie marginesu dziedziczenia spowoduje dodanie nowych ikon do marginesów reprezentujących implementacje i przesłonięcia kodu. Kliknięcie ikony marginesu dziedziczenia spowoduje wyświetlenie opcji dziedziczenia, do których można przejść.
- Teraz jest uzupełnianie funkcji IntelliSense dla rzutów, indeksatorów i operatorów.
- Obecnie dostępna jest obsługa debugera dla generatorów źródeł. Najpierw należy zainstalować składnik zestawu SDK platformy kompilatora .NET z Instalator programu Visual Studio. Następnie musisz dodać
<IsRoslynComponent>
właściwość true</IsRoslynComponent>
do pliku projektu. Następnie włącz opcję debugera "Składnik Roslyn" na stronie Debugowanie właściwości projektu i wybierz odpowiedni projekt docelowy. Następnie naciśnij F5 w projekcie generatora, który uruchomi CSC.exe/VBC.exe, który kompiluje projekt docelowy umożliwiający debugowanie kodu generatora.
W tej wersji dodaliśmy również następujące ulepszenia w środowisku debugowania Edytuj i kontynuuj (EnC) w programie Visual Studio:
- Teraz można zastosować zmiany w kodzie należącym do klasy częściowej.
- Teraz możesz zastosować zmiany w pliku wygenerowanym przez źródło.
- Teraz można dodać i/lub zmienić dyrektywę using.
- Ulepszenia niezawodności i mniejsze zużycie pamięci.
Wszystkie trzy zmiany są dostępne w dowolnym miejscu, w którym usługa EnC jest obecnie obsługiwana i współpracuje z plikami źródłowymi języka C# i Visual Basic.
Debuger i diagnostyka
- Opracowaliśmy kilka analizatorów, aby ułatwić przechwytywanie typowych problemów z zrzutami pamięci zarządzanej. Tę analizę można teraz przeprowadzić na zarządzanych zrzutach podstawowych systemu Linux.
Dziękujemy
Ostatni, ale z pewnością nie tylko, duże podziękowania dla następujących osób, które przyczyniły się w tym miesiącu do produktywności platformy .NET (np. Roslyn):
- Valery (@m08pvv): Niezmienny warunek pętli wciągnięcia nr 52168
- Martin Strecker (@MaStr11): Obsługa tworzenia inlining innych ciągów interpolowanych żądanie ściągnięcia #49229, intelliSense dla rzutowania, indeksatorów i operatorów ŻĄDANIE ściągnięcia #47511
- Bernd Baumanns (@bernd5): Poprawka "Utrata informacji" spowodowana użyciem wartości domyślnej w metodach SyntaxNode-Update żądanie ściągnięcia nr 52036, poprawka Interpolacji ciągów NormalizeWhitespace za pomocą żądań ściągnięcia inicjatora #51213
- C-xC-c (@C-xC-c): Zmień nazwę parametrów równości rekordów na "left" i "right" ŻĄDANIE ściągnięcia #51973
- Kai Jellinghaus (@HurricanKai): Change Compilation.CommonSyntaxTrees do używania żądania ściągnięcia ImmutableArray #51905
- Huo Yaoyuan (@huoyaoyuan): Ignoruj metody extern w stylu nazewnictwa żądanie ściągnięcia #51728, rozwiązywanie problemów z nr NRT znalezionych przez określanie wartości docelowej net5.0 ŻĄDANIE ściągnięcia #50895
- Alireza Habibi (@alrz): Naprawianie nawiasu wzorca analizowania żądań ściągnięcia #49621
- Paul M Cohen (@paul1956) Dodawanie obsługi oczyszczania kodu dla żądania ściągnięcia języka Visual Basic #48092
- Petr Onderka (@svick): Make DocumentationCommentCompiler work after NormalizeWhitespace PR #47360
- Youssef Victor (@Youssef1313): Aktualizowanie środowiska IDEDiagnosticIDConfigurationTests jako wyłącznego, a nie inkluzywnego żądania ściągnięcia nr 52078, Przestarzałe zachowanie ImportingConstructor PR #52073, Spójne zawieraSyntaxTree zachowanie między vb i C# ŻĄDANIE 52050, Upewnij się, że uzyskać nazwę argumentu nameof argumentu ŻĄDANIE nr 52016, napraw adnotację null SkładniFactory.UsingStatement PR #51984, Uprość CSharpRequiredLanguageVersion ŻĄDANIE #51881, Wyświetl obowiązującą wersję języka dla żądania ściągnięcia w wersji #error #51880, Aktualizacja SymbolEqualityComparer.IncludeNullability docs ŻĄDANIE ściągnięcia #51724, Uwzględnij generatory źródeł w ściągnięcia TryGetMethodDescriptorAsync PR #51686, utwórz zmienne wzorce powiązane żądanie ściągnięcia nr 51620, użyj pól w parametrze SyntaxToken.Value PR #51546, Fix Function Pointer RefKind Display PR #51223, Obsługa wzorców w wyrażeniach przełącznika ŻĄDANIE #50984, Dodawanie atrybutów ImplementationAttributes do IMethodSymbol ŻĄDANIE #50560
- Benjamin Schäublin (@bschaeublin):
- Naprawiono nadmiarowy tekst w uwagach dla przeciążenia metadataReference żądanie ściągnięcia #51242
- Martin Strecker (@MaStr11):
- Nadmiarowe rzutowanie fałszywie dodatnie dla intPtr, nint i int ŻĄDANIE ściągnięcia #51230 i ŻĄDANIE ściągnięcia #51209
- Naprawiono znaczki ciągłej integracji w funkcji README PR #51085
- piotrstenke (@piotrstenke):
- Zaktualizowane właściwości wskazujące się na
<see>
tag w GeneratorContexts.cs żądanie ściągnięcia #50896
- Zaktualizowane właściwości wskazujące się na
- Huo Yaoyuan (@huoyaoyuan):
- Zaktualizowano moduł rekomendacji słów kluczowych, aby wiedzieć o strukturach readonly członków żądania ściągnięcia #50820
- Yair Halberstadt (@YairHalberstadt):
- Obsługa deklaracji mieszanej i przypisania w dekonstrukcji żądania ściągnięcia #44476
- Youssef Victor (@Youssef1313):
- Dodano #nullable włączenia do interfejsu PublicAPI. (Un)shipped.txt ŻĄDANIE ściągnięcia #50793
- Obsługa rekordów w CSharpGenerateDefaultConstructorsService PR #50524
- Dodano nową opcję formatowania wiersza dla rekordów ŻĄDANIE ściągnięcia #50274
Edytor wersji zapoznawczej Razor (ASP.NET Core)
Nowy edytor Razor w wersji zapoznawczej obsługuje teraz następujące funkcje edycji Razor:
- Uzupełnianie funkcji IntelliSense teraz filtruje składniki HTML, elementy TagHelper i atrybuty języka C#:
- Uzupełnianie funkcji IntelliSense dla przesłonięć języka C#.
- Przejdź do pozycji Obsługa definicji dla ogólnych componenets.
- Nowe opcje konfiguracji stylu kodu dla kart a spacji. Te style kodu będą przestrzegane podczas wpisywania, formatowania i tworzenia nowego pliku Razor. Karty i spacje można skonfigurować na kartach Narzędzia > Opcje > Edytor > tekstu Razor (ASP.NET Core). >
- Nazwa edytora tekstów Razor w obszarze Opcje narzędzi została zmieniona z ASP.NET Core Razor Language Services na Razor (ASP.NET Core).
Aby włączyć nowy edytor Razor w wersji zapoznawczej, przejdź do pozycji Narzędzia > Opcje > Funkcje w wersji zapoznawczej środowiska > , wybierz pozycję Włącz eksperymentalny edytor Razor, a następnie uruchom ponownie program Visual Studio.
Ulepszenia ułatwień dostępu środowiska testowego
- Console.Writeline jest teraz wyświetlany w Eksploratorze testów! Długie dane wyjściowe są wyświetlane jako zwijana sekcja w okienku podsumowania szczegółów testu. Dane wyjściowe o określonej długości wyświetlają pierwsze kilka wierszy, a następnie są obcięte z opcją otwarcia dziennika testów w osobnym oknie. Obcinanie stosu, jeśli istnieje ponad 20 ramek, a następnie pokaże tylko pierwsze i ostatnie 10 ramek. Ważną częścią projektu obcinania był również skoncentrowany na zmniejszeniu liczby zamrozień programu VS, gdy przebiegi testów mają duże dane wyjściowe. Testy, które mają duże dane wyjściowe, nie blokują już wątku interfejsu użytkownika.
- Dane wyjściowe testu mogą teraz zachowywać tagi, dzięki czemu hiperlinki i linki stacktrace można nawigować nawet z plików dziennika. Te linki są teraz przyjazne dla klawiatury, jak również.
- Pliki dziennika są tworzone dla pojedynczego wyniku testu, gdy dane wyjściowe zawierają ponad 300 znaków lub jeśli do wyniku testu jest dołączonych ponad 10 plików. Pliki dziennika mogą być teraz otwierane w wersji zapoznawczej, dzięki czemu łatwiej jest zarządzać kartami. Pliki dziennika i Eksplorator testów obsługują Ctrl PgUp/PgDn do nawigowania po kursorze i Shift+Ctrl PgUp/PgDn do wyboru.
- Edytor plików dziennika korzysta teraz z interfejsu IVsTextView, co oznacza, że teraz będzie mógł otwierać bardzo duże pliki tekstowe. Powinno to wyeliminować potrzebę obcinania
Copy All
dzienników przez użytkowników i otwierania ich w osobnym edytorze, takim jak Notatnik. W przypadku narzędzia MSTest dołączymy również pojedynczy plik dziennika, który agreguje wszystkie dane wyjściowe zamiast mieć tylko pojedyncze pliki dziennika dla każdego wiersza danych.
Narzędzia do testowania
- Teraz możesz uzyskać pokrycie kodu międzyplatformowego w wierszu polecenia w systemach Ubuntu i Alpine za pomocą interfejsu wiersza polecenia dotnet. W przypadku użytkowników zainteresowanych uzyskaniem pokrycia kodu na maszynach przeznaczonych dla tych platform można teraz dodać te same polecenia kolekcji pokrycia kodu, które zwykle są używane w systemie Windows. Zobacz więcej dokumentacji dotyczącej testu dotnet.
- Teraz istnieje przycisk rozwiń wszystkie obok przycisku zwiń wszystkie w Eksploratorze testów. To polecenie było dostępne za pomocą skrótów klawiaturowych (Ctrl+A, Ctrl+ strzałka w prawo), ale więcej opinii wskazuje, że dodanie przycisku było warte dodatkowego interfejsu użytkownika. Jak zawsze, dziękujemy za poinformowanie nas o tym, co myślisz za pośrednictwem .https://developercommunity.visualstudio.com/
- Istnieją również niewielkie zmiany sposobu, w jaki Eksplorator testów pokazuje "nieaktualność". "Nieaktualność" to wyszarane lub "wyblakłe" wyniki testów, które wskazują, że wynik nie pochodzi z najnowszego przebiegu testu. Jeśli wynik nie jest częścią ostatniego przebiegu testu, będzie on wyświetlany jako nieaktualny. Wcześniej nowe odkrycia testów (a nawet stare wyniki testów, które zostały odnalezione ponownie) były również wyświetlane z ikonami solidnymi. Spowodowało to pewne zamieszanie, dlaczego niektóre testy "Nie uruchamiaj" zostały wyblakłe i dlaczego inne nie były. Ta zmiana zmniejszy złożoność nieaktualności.
- Funkcja utrwalonego wyniku testu (dodana w wersji 16.2) umożliwia wyświetlenie wyników testu z ostatniego przebiegu testu, nawet jeśli program Visual Studio został zamknięty i ponownie otwarty. Dzięki temu użytkownicy mogą pamiętać, gdzie odeszli i zapewnić więcej kontekstu bez konieczności przeprowadzania innego testu. Zmodyfikowaliśmy również zachowanie utrwalonego wyniku, aby zawsze były nieaktualne. Lepiej wskazuje to, że nie pochodzą one z przebiegu testowego wykonanego podczas bieżącej sesji programu Visual Studio.
Narzędzia sieci Web
Konfiguracja dynamiczna umożliwia automatyczne odświeżanie zasobów konfiguracji przy użyciu oprogramowania pośredniczącego. Usługa App Configuration jako połączona usługa może teraz automatycznie integrować konfigurację dynamiczną z aplikacją. Aby użyć tej połączonej usługi, kliknij pozycję Usługi połączone i dodaj aplikacja systemu Azure Konfiguracja jako zależność usługi.
Projekt tworzenia pakietów aplikacji systemu Windows "Drzewo zależności"
- Po zeszłorocznej pracy w celu włączenia odwołań pakietów NuGet w projekcie pakietów aplikacji systemu Windows (WAP) włączyliśmy nowy interfejs użytkownika w środowisku Eksplorator rozwiązań WAP. Stare środowisko nie wyświetlało tych odwołań do pakietów ani nie umożliwiało dodawania pakietów NuGet za pośrednictwem interfejsu użytkownika.
- W nowym środowisku, z pomocą CPS i .NET Project System, włączyliśmy "Drzewo zależności", które nadal wyświetla odwołania do projektu za pośrednictwem poddrzewa "Aplikacje", ale także funkcje poddrzewa "Pakiety", które umożliwią zarządzanie pakietami NuGet.
Ulepszenia narzędzi XAML (WPF i Xamarin.Forms)
Xamarin.Forms
W tej wersji wprowadziliśmy dwie małe ulepszenia funkcji IntelliSense XAML i XAML Przeładowywanie na gorąco dla klientów platformy Xamarin.Forms. Przeładowywanie na gorąco "tylko zmiana" nie będzie już zgłaszać błędów false dla:
- Zestawery w visualStateManager odwołujące się do właściwości bez określania typu, np.
<Setter Property="BackgroundColor" Value="Red">
. - Scalone elementy ResourceDictionaries nie są opakowane w <element ResourceDictionary.MergedDictionaries>
Przykład:
<Application>
<Application.Resources>
<ResourceDictionary Source='Colors.xaml'/>
<Style TargetType='Label'> ... <Style>
</Application.Resources>
</Application>
Przykładowe dane XAML
W tej wersji ulepszyliśmy możliwości danych w czasie projektowania projektanta XAML, wprowadzając nowy sposób dodawania ogólnych przykładowych danych do kontrolek ItemsControls. Ta funkcja działa tylko dla listBox, ListView i DataGrid w WPF.
- Przykładowe dane można włączyć, ustawiając element
d:ItemSource='{d:SampleData}'
ListBox, ListView lub DataGrid - Spowoduje to wypełnienie kontrolki w projektancie tylko zestawem 5 elementów pasujących do elementów DataTemplates i Ścieżek powiązań
- Liczbę wygenerowanych elementów można zmienić przy użyciu
ItemCount
właściwości , na przykład:d:ItemSource='{d:SampleData ItemCount=3}'
Szybkie akcje projektanta XAML
Nowy żarówka w pobliżu rogu wybranej kontrolki w projektancie XAML może służyć do szybkiego dostępu do często edytowanych właściwości tej kontrolki.
Obsługiwane kontrolki obejmują:
- UWP: Obramowanie, Przycisk, Kanwa, CheckBox, ComboBox, Grid, HyperlinkButton, Image, ListBox, ListView, NavigationView, RadioButton, Slider, StackPanel, TextBlock, TextBox
- WPF: Obramowanie, Przycisk, Kanwa, CheckBox, ComboBox, Grid, Image, Label, ListBox, ListView, StackPanel, TextBlock, TextBox
Ta funkcja jest dostępna dla platform UWP, WPF .NET Core i WPF .NET Framework (z funkcją "New WPF XAML Designer for .NET Framework" w wersji zapoznawczej włączoną w oknie dialogowym opcji).
Funkcja Szybkich akcji projektanta XAML ma również model rozszerzalności. Aby uzyskać więcej informacji na temat tworzenia własnych akcji, zobacz Rozszerzenie projektanta XAML w usłudze GitHub
Narzędzia MVVM dla języka XAML
W tej wersji wprowadziliśmy żarówkę w edytorze XAML w celu utworzenia modelu widoku. Ta żarówka jest udostępniana na głównym elemenie dokumentu XAML, gdy wykryjemy, że struktura MVVM jest używana w projekcie. Okno dialogowe umożliwia dostosowanie wygenerowanej przestrzeni nazw modelu widoku, folderu i dziedziczonego modelu widoku podstawowego.
Żarówka ustawia również wygenerowany model widoku jako x:DataType(Xamarin.Forms) lub d:DataContext(wszystkie inne platformy) dla dokumentu XAML, umożliwiając użytkownikowi dalsze wykorzystanie żarówki edytora XAML do generowania powiązanych właściwości i poleceń w modelach widoków.
Narzędzia usługi Service Fabric
Ta funkcja wprowadza plik StartupServices.xml w projekcie aplikacji usługi Service Fabric. Ten plik hostuje sekcję DefaultServices ApplicationManifest.xml. W tej implementacji parametry związane z definicją usługi DefaultServices i Service są przenoszone z istniejących ApplicationManifest.xml do tego nowego pliku o nazwie StartupServices.xml. Ten plik jest używany w poszczególnych funkcjach (Build/Rebuild/F5/Ctrl+F5/Publish) w programie Visual Studio.
Najważniejsze problemy rozwiązane w tej wersji
- Rozwiązano problem polegający na tym, że deweloperzy języka C# wywołujący polecenie Edit.SmartBreakline usuwali całą zawartość w metodzie dostępu właściwości.
- Rozwiązano problem polegający na tym, że deweloperzy aktualizujący ustawienie stylu kodu mieli zastosowanie zmiany we wszystkich wystąpieniach programu Visual Studio, a nie tylko w żądanym folderze.
- Ikona "Zastosuj zmiany kodu" była wyświetlana za każdym razem, gdy zostanie otwarty projekt natvie lub scalony. Zostanie ona włączona tylko po rozpoczęciu debugowania przez dewelopera.
- Poprawki powodujące niezgodność zmiany w typie AudioUnitPropertyIDType
- Rozwiązano problem polegający na tym, że deweloperzy korzystający z platformy testów jednostkowych platformy UWP nie mogli uruchamiać testów na urządzeniach zdalnych.
Zgłaszane na forum Developer Community
Społeczność deweloperów ma pełną listę wszystkich elementów wysyłkowych w tej wersji.
Oto niektóre z najważniejszych kwestii, które zostały opublikowane w wersji 16.10:
- Plik sqlproj nie jest aktualizowany przy użyciu zmian
- Dostęp do tablicy w inicjatorach literałów złożonych daje nieprawidłowe przesunięcia
- Problemy/komentarze dotyczące modułów biblioteki c++ w programie Visual Studio 2019 (wersja zapoznawcza 2) w wersji zapoznawczej 2
- Program Visual Studio 2019 nadal czyści katalog CMakeBuild za każdym razem, gdy dotykam CMakeFiles.txt lub CMakeSettings.json
- MSVC nie szanuje constexpr, jeśli w lambdach
- Konstruktor domyślny Noexcept
- #Pragma ostrzeżenie (wypychanie, )) nie wyłącza wszystkich ostrzeżeń dotyczących zakresu, jeśli /Wall jest ustawiona
- Constexpr-if i nieużywany parametr
- Nie można zadeklarować initializer_list constexpr
- Najnowsza wersja języka C++wprowadza w błąd konwencję wywoływania w parametrze szablonu
- Nie można sprawdzić aktualizacji programu Visual Studio 2019
- Okno porównywania usługi Git pokazuje, że wszystkie elementy zostały zmienione w pliku, gdy pole "Ignoruj przycinanie białych znaków" jest niezaznaczone.
- Spacje są wstawiane zamiast kart.
- Visual Studio Debugger Visualizers and BinaryFormatter in ASP.NET Core 5 (Visual Studio Debugger Visualizers and BinaryFormatter in ASP.NET Core 5)
- VS Dla systemu Linux: pliki wyjściowe na maszynie zdalnej są KOMPILOWANE W NIEWŁAŚCIWYM MIEJSCU po aktualizacji 16.9.
- Niektóre otwarte, przypięte karty są odpięte podczas ponownego uruchamiania programu Visual Studio.
- Uaktualnienie programu Visual Studio 2019 do wersji 16.9.4 powoduje błąd kompilacji/łącza
- Funkcja GC zbiera podczas wywołania metody w klasie ref języka c++/cli
- EncodePointer/DecodePointer logiczna usterka w Trace.cpp CRT.
- Element ma nieprawidłową wartość "EnableAllWarnings".
- Raport E0144 dla prawidłowego kodu. (Błąd funkcji IntelliSense).
- "Nieprawidłowy argument szablonu, oczekiwane wyrażenie stałe czasu kompilacji" po uaktualnieniu do programu Visual Studio w wersji 16.9.0
- Program Visual Studio 2019 nadal czyści katalog CMakeBuild za każdym razem, gdy dotykam CMakeFiles.txt lub CMakeSettings.json. (https://developercommunity.visualstudio.com/t/sizeof-array-to-pointer-VC-weirdness/1396250)* [Sizeof array-to-pointer VC dziwność]
- Wyjątek niedozwolonego znaku w aktualizacji Xamarin.Android do wersji 16.9.0 programu Visual Studio Community 2019
- Microsoft.VisualStudio.TestStorage.TestStoreIndexingException: Nie można dodać wyniku testu
- VS Dla systemu Linux: pliki wyjściowe na maszynie zdalnej są KOMPILOWANE W NIEWŁAŚCIWYM MIEJSCU po aktualizacji 16.9
- Niektóre otwarte, przypięte karty są odpięte podczas ponownego uruchamiania programu VS
- Regresja 16.9.0: F7 aka "Wyświetl kod" nie działa z pliku Xaml platformy Xamarin
- cl.exe przejmuje 5 Gb pamięci RAM, aby skompilować dość mały fragment kodu.
- Wartości wyliczenia nie są wyświetlane w sugerowanych akcjach, gdy atrybut TypeConverter jest stosowany do niestandardowego typu wyliczenia
- Eksplorator testów nie może wykonać żadnych testów w obszarze netcore3.1 i net5.0, ale działa z net461
- Nieprawidłowy kod wygenerowany za pomocą /O2
- Wyświetlanie kodu w menu kontekstowym nie działa
- Błąd krytyczny C1001: Wewnętrzny błąd kompilatora (plik kompilatora "D:\a01_work\4\src\vctools\Compiler\Utc\src\p2\main.c", wiersz 213)
- Próba usunięcia udziału na żywo z okna dialogowego rozszerzenia programu VS kończy się niepowodzeniem w instalatorze
- Msvc akceptuje nieprawidłowe porównanie wskaźnika i liczby całkowitej w funkcji szablonu
- Program Visual Studio przestaje odpowiadać podczas przeglądania funkcji IntelliSense.
- Funkcja IntelliSense została przerwana z powodu awarii vcpkgsrv
- Lista procesów vcpkgsrv.exe stale rośnie.
- Scalanie gałęzi programu Visual Studio z nieprawidłową nazwą gałęzi.
- Program Visual Studio 2019 — częsty błąd: "Aplikacja nazwała interfejs, który został uchwalony dla innego wątku".
- Uruchamianie testów z pliku kodu (e.ge., przy użyciu Ctrl+R, T) próbuje załadować składniki LiveShare, nawet jeśli nie są zainstalowane.
- Publikowanie technologii ClickOnce dla platform .NET Core 3.1 i .NET 5.0 może zakończyć się niepowodzeniem, gdy projekt odwołuje się do projektu biblioteki klas z innym środowiskiem docelowym.
- Naprawiono błąd E1504: Błąd wewnętrzny podczas korzystania z modułów C++20.
- Funkcja IntelliSense języka C++ nie rozpoznaje "przy użyciu wyliczenia".
- Visual Studio 2019 Enterprise RTM — projekty oparte na zestawie SDK platformy .NET (TargetFrameworkMoniker .NET 4.7.2).
- Naprawiono błąd podczas analizowania danych wyjściowych konfiguracji.
- Komunikat "VslsFileSystemProviderVSCorePackage" nie został załadowany poprawnie" jest wyświetlany, gdy element LiveShare nie jest zainstalowany.
- Kompilowanie projektu powiązania platformy Xamarin iOS nie działa już w programie Visual Studio w wersji 16.9.
- Zestaw narzędzi 16.9 regresji vcxproj generuje biblioteki statyczne: plik pdb nie jest już kopiowany do danych wyjściowych.
- Połączenie z zdalną maszyną z systemem Linux używa nieprawidłowej ścieżki docelowej.
- Rozwiązano problem z inicjowaniem kopiowania: problem z rozwiązaniem przeciążenia.
- Niepoprawny przełącznik IntelliSense z biblioteką range-v3.
- Pasek gold po wyjątku w DiagnosticDataSerializer.ReadDiagnosticDataArray.
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.