Informacje o wersji 17.1 programu Visual Studio 2022
Napiwek
Obejrzyj nagrania z premiery programu Visual Studio 2022, aby dowiedzieć się więcej o nowościach, usłyszeć porady i wskazówki oraz pobrać bezpłatny cyfrowy prezent.
Developer Community | Przewodnik po programie Visual Studio 2022 | Wymagania systemowe | Zgodność | Kod dystrybucyjny | Historia wersji | Postanowienia licencyjne | Blogi | Najnowsze znane problemy | Whats New w dokumentacji programu Visual Studio
Visual Studio 2022 w wersji 17.1
Ramy czasowe pomocy technicznej
Ta wersja nie jest już obsługiwana. Aby uzyskać więcej informacji na temat obsługiwanych punktów odniesienia programu Visual Studio, zapoznaj się z zasadami pomocy technicznej dla programu Visual Studio 2022.
Zapoznaj się z najnowszą wersją informacji o wersji lub odwiedź witrynę programu Visual Studio , aby pobrać najnowszą wersję programu Visual Studio 2022.
Wydania programu Visual Studio 2022 w wersji 17.1
- 10 maja 2022 r. — Visual Studio 2022 w wersji 17.1.7
- 26 kwietnia 2022 r. — Visual Studio 2022 w wersji 17.1.6
- 19 kwietnia 2022 r. — Visual Studio 2022 w wersji 17.1.5
- 12 kwietnia 2022 r. — Visual Studio 2022 w wersji 17.1.4
- 31 marca 2022 r. — Visual Studio 2022 w wersji 17.1.3
- 22 marca 2022 r. — Visual Studio 2022 w wersji 17.1.2
- 8 marca 2022 r. — Visual Studio 2022 w wersji 17.1.1
- 15 lutego 2022 r. — Visual Studio 2022 w wersji 17.1.0
Visual Studio 2022 Blog
Blog programu Visual Studio 2022 to oficjalne źródło szczegółowych informacji o produkcie od zespołu inżynierów programu Visual Studio. Szczegółowe informacje na temat wydań programu Visual Studio 2022 można znaleźć w następujących wpisach:
- Program Visual Studio 2022 w wersji 17.1 jest dostępny dzisiaj!
- Program Visual Studio 2022 w wersji 17.0 jest dostępny dzisiaj!
Informacje o wersji zarchiwizowanej programu Visual Studio 2022
Visual Studio 2022 w wersji 17.1.7
wydany 10 maja 2022 r.
Problemy rozwiązane w tej wersji 17.1.7
- Zaktualizowano punkt odniesienia webview2 w daytona.
Zgłaszane na forum Developer Community
Zalecenia dotyczące zabezpieczeń
CVE-2022-29117 Luka w zabezpieczeniach typu "odmowa usługi" na platformie .NET Luka w zabezpieczeniach istnieje w programach .NET 6.0, .NET 5.0 i .NET Core 3.1, gdzie złośliwy klient może manipulować plikami cookie i powodować odmowę usługi.
CVE-2022-23267 Luka w zabezpieczeniach typu "odmowa usługi" platformy .NET Core Luka w zabezpieczeniach istnieje w programach .NET 6.0, .NET 5.0 i .NET Core 3.1, gdzie złośliwy klient może spowodować odmowę usługi za pośrednictwem nadmiaru alokacji pamięci za pośrednictwem klienta HttpClient.
CVE-2022-29145 Luka w zabezpieczeniach typu odmowa usługi platformy .NET Luka w zabezpieczeniach istnieje w programach .NET 6.0, .NET 5.0 i .NET Core 3.1, gdzie złośliwy klient może spowodować odmowę usługi, gdy formularze HTML są analizowane.
CVE-2022-24513 Luka w zabezpieczeniach dotycząca podniesienia uprawnień Potencjalna luka w zabezpieczeniach dotycząca podniesienia uprawnień występuje, gdy usługa aktualizatora programu Microsoft Visual Studio nieprawidłowo analizuje lokalne dane konfiguracji.
Visual Studio 2022 w wersji 17.1.6
wydany 26 kwietnia 2022 r.
Problemy rozwiązane w tej wersji 17.1.6
- Naprawiono awarię kompilatora języka C++ (CL.exe) podczas uruchamiania testów wyliczenia bitowego analizy kodu.
- Naprawiono symulator telefonu iPhone — błąd krytyczny: nie można załadować pliku "System.Memory"
- Naprawiono regresję vctip.exe w programie VisualCPP SxS z wersji 17.0.8
- Usunięto usterkę w programie VisualCPP SxS, która uniemożliwiła niektórym aplikacjom skompilowane za pomocą narzędzia Do oczyszczania adresów (ASAN) do załadowania w systemie Windows 11.
- Rozwiązano inny problem z usługą ASAN w programie VisualCPP SxS, który polegał na tym, że w aplikacjach wielowątowych z rywalizacją o stertę mogły występować zakleszczenia, fałszywe raporty "wild pointer freed" lub impas podczas zamykania procesu.
Zgłaszane na forum Developer Community
Społeczność deweloperów zawiera pełną listę poprawek dostępnych w wersji 17.1.
Visual Studio 2022 w wersji 17.1.5
wydany 19 kwietnia 2022 r.
Problemy rozwiązane w tej wersji 17.1.5
- Naprawiono regresję vctip.exe z wersji 17.1.4
- Rozwiązano problem "Nie można zainstalować dowolnego rozszerzenia (vsix) dla programu Visual Studio na maszynie w trybie offline".
Zgłaszane na forum Developer Community
Społeczność deweloperów zawiera pełną listę poprawek dostępnych w wersji 17.1.
- Uruchamianie programu VsDevShell nie działa już w trybie ścisłym
- Połączenie protokołu WebSocket z usługą "wss://..." Nie powiodło się. Aplikacja internetowa platformy ASP .Net Core. Po aktualizacji 17.1
Visual Studio 2022 w wersji 17.1.4
wydany 12 kwietnia 2022 r.
Uwaga
W wyniku aktualizacji do wersji narzędzia Git w programie Visual Studio w celu rozwiązania problemu luki w zabezpieczeniach CVE-2022-24765 niektórzy użytkownicy usługi Git mogą napotkać błąd uniemożliwiający wyświetlanie repozytoriów Git w programie Visual Studio.
Ten problem może mieć wpływ na użytkowników, którzy sklonowali lub utworzyli repozytorium jako administrator, a następnie próbowali go wyświetlić lub użyć jako administrator. Jeśli występuje ten problem i ufasz repozytorium, które próbujesz otworzyć, możesz dodać go do listy bezpiecznych katalogów, uruchamiając następujące polecenie z poziomu wiersza polecenia, programu PowerShell lub terminalu z dostępem do usługi Git dla systemu Windows:
git config --global --add safe.directory <path-to-repository>
Możesz znaleźć pełne szczegóły i śledzić problem dotyczący aktualizacji w społeczności deweloperów.
Problemy rozwiązane w tej wersji 17.1.4
- Rozwiązano problem polegający na tym, że wywołania polecenia "new" w szablonach nie zawierały poprawnej funkcji "operator new" za pomocą wyszukiwania zależnego od argumentów.
- Rozwiązano problem z rozpoznawaniem typu czasu projektowania dla projektanta .NET Framework windows Forms, który w przeciwnym razie powodowałby niepowodzenie ładowania projektanta.
- Poprawki zadania "HotRestart.Tasks.DetectSigningIdentity" nie powiodły się nieoczekiwanie.
- Dodano wiersz polecenia instalatora w celu usunięcia nieużywanego kanału.
Znane problemy
- Synchronizowanie certyfikatów konta dewelopera firmy Apple i profilów aprowizacji nie jest obsługiwane z wyjątkiem kont, które mają być używane do wdrożeń w firmie. Aby obejść ten problem, pobierz certyfikaty i profile aprowizacji bezpośrednio z witryny internetowej konta dewelopera firmy Apple.
Zgłaszane na forum Developer Community
Zalecenia dotyczące zabezpieczeń
CVE-2021-43877 ASP.NET Core i podniesienie uprawnień programu Visual Studio Luka w zabezpieczeniach dotycząca podniesienia uprawnień Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień istnieje w module ASP.NET Core Module (ANCM), który może umożliwić podniesienie uprawnień, gdy aplikacje platformy .NET Core, .NET 5 i .NET 6 są hostowane w usługach IIS.
CVE-2022-24765 Luka w zabezpieczeniach dotycząca podniesienia uprawnień Istnieje potencjalna luka w zabezpieczeniach podniesienia uprawnień w usłudze Git dla systemu Windows, w której operacje git mogą być uruchamiane poza repozytorium podczas seraching dla katalogu Git. Usługa Git dla systemu Windows została zaktualizowana do wersji 2.35.2.1.
CVE-2022-24767 Luka w zabezpieczeniach dotycząca przejęcia biblioteki DLL potencjalna luka w zabezpieczeniach dotycząca porwania biblioteki DLL istnieje w instalatorze Git dla systemu Windows podczas uruchamiania narzędzia dezinstalatora na koncie użytkownika SYSTEM. Usługa Git dla systemu Windows została zaktualizowana do wersji 2.35.2.1.
CVE-2022-24513 Luka w zabezpieczeniach dotycząca podniesienia uprawnień Potencjalna luka w zabezpieczeniach dotycząca podniesienia uprawnień występuje, gdy usługa aktualizatora programu Microsoft Visual Studio nieprawidłowo analizuje lokalne dane konfiguracji.
Visual Studio 2022 w wersji 17.1.3
wydany 31 marca 2022 r.
Problemy rozwiązane w tej wersji 17.1.3
- Wprowadzono obsługę programu Apple Xcode 13.3.
- Naprawia błąd generatora IPA systemu iOS (ERROR ITMS-90207) przy użyciu programu Xcode 13.3.
- Nie można zsynchronizować <konta e-mail> z portalem deweloperów firmy Apple
- Rozwiązano problem polegający na tym, że program Visual Studio zawieszał się/zawieszał się podczas korzystania z wersji TFVC przez dłuższy czas (ponad godzinę).
- Naprawiono komunikat o błędzie "Wykryto niezgodną wersję programu SQL Server". Podczas nawiązywania połączenia z usługą Azure SQL Managed Instance z narzędzi Visual Studio SQL Server Data Tools.
Znane problemy
- Wdrożenie aplikacji systemu iOS przy użyciu programu Visual Studion 2022 i programu Apple Xcode 13.3 powoduje wyświetlenie okna symulatora zdalnego systemu iOS z pustym/czarnym ekranem. Obejście: Wyłącz pole wyboru "Symulator zdalny do systemu Windows" w ustawieniach systemu iOS w menu Narzędzia — opcje. Aplikacja systemu iOS powinna zostać wdrożona poprawnie na hoście systemu macOS.
Zgłaszane na forum Developer Community
Społeczność deweloperów zawiera pełną listę poprawek dostępnych w wersji 17.1.
Visual Studio 2022 w wersji 17.1.2
wydany 22 marca 2022 r.
Problemy rozwiązane w tej wersji 17.1.2
- Rozwiązano problem, który powodował, że niektóre animacje wykonywania testów były uruchamiane w tle nawet wtedy, gdy skojarzone wykonania testu zostały ukończone. Powoduje to spowolnienie, które były szczególnie zauważalne na monitorach o wysokiej szybkości odświeżania. Poprawka powinna poprawić środowisko korzystania z programu VS na monitorach o wysokiej szybkości odświeżania.
- Wyłącz automatyczne otwieranie okna Eksploratora śledzenia stosu podczas otwierania programu Visual Studio. Można to nadal włączyć w opcjach.
- Naprawiono regresję polegającą na tym, że karty dokumentów dokowania przeciągania działały tylko z modułem dokowania, a nie innymi kartami dokumentów.
- Rozwiązano problem z sporadyczne zawieszeniem konsolidatora.
Zgłaszane na forum Developer Community
Społeczność deweloperów zawiera pełną listę poprawek dostępnych w wersji 17.1.
- Podgląd projektanta windows Forms 5 jest niedostępny dla czytników zawartości ekranu
- Nie mogę zminimalizować programu Visual Studio
- Błąd TFS: TF30063 Nie masz autoryzacji
- Nie można już przeciągać i upuszczać kart dokumentów w określonej pozycji na karcie dokumentu
Visual Studio 2022 w wersji 17.1.1
wydany 8 marca 2022 r.
Problemy rozwiązane w tej wersji 17.1.1
Zgłaszane na forum Developer Community
Społeczność deweloperów zawiera pełną listę poprawek dostępnych w wersji 17.1.
- Regresja CMake-vcxproj> w wersji 17.1.0 w przypadku używania polecenia CONFIG w poleceniu niestandardowym
- VSSDK: program VS 17.1.0 (wersja zapoznawcza 5.0) zawiesza się po tym, jak IVsObjectManager.UnregisterLibMgr()
Zalecenia dotyczące zabezpieczeń
CVE-2020-8927 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje w programach .NET 5.0 i .NET Core 3.1, gdzie w wersjach biblioteki Brotli istnieje przepełnienie buforu przed wersją 1.0.8.
CVE-2022-24464 Luka w zabezpieczeniach Odmowa usługi istnieje w programach .NET 6.0, .NET 5.0 i .NET CORE 3.1 podczas analizowania niektórych typów żądań formularzy HTTP.
CVE-2022-24512 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje na platformie .NET 6.0, .NET 5.0 i .NET Core 3.1, w której występuje przepełnianie buforu stosu w procedurze analizy podwójnej platformy .NET.
CVE-2021-3711 Luka w zabezpieczeniach dotycząca przepełnienia buforu OpenSSL Luka w zabezpieczeniach potencjalnego przepełnienia buforu istnieje w programie OpenSSL, który jest używany przez usługę Git dla systemu Windows. Usługa Git dla systemu Windows została zaktualizowana do wersji 2.35.1.2, która rozwiązuje ten problem.
Visual Studio 2022 w wersji 17.1.0
wydany 15 lutego 2022 r.
Podsumowanie nowości w tej wersji programu Visual Studio 2022 w wersji 17.1.0
C++
- Dodano nowy szablon Konfigurowanie ustawień wstępnych do konfigurowania i kompilowania projektów CMake w zdalnym systemie macOS przy użyciu CMakePresets.json. Można również uruchomić obiekty docelowe narzędzia CMake w zdalnym systemie macOS i debugować przy użyciu frontonu debugera programu Visual Studio wspieranego przez usługę GDB lub LLDB.
- Teraz można debugować podstawowe zrzuty w zdalnym systemie macOS z poziomu programu Visual Studio przy użyciu usługi LLDB lub GDB.
- Wersje oprogramowania Clang i LLVM dostarczane z programem Visual Studio zostały uaktualnione do wersji 13.
- Integracja narzędzia CMake programu Visual Studio zostanie aktywowana tylko po zidentyfikowaniu CMakeLists.txt w katalogu głównym otwartego obszaru roboczego. Jeśli CMakeLists.txt zostanie zidentyfikowany na innym poziomie obszaru roboczego, zostanie wyświetlony monit o aktywowanie integracji narzędzia CMake programu Visual Studio z powiadomieniem.
- Dodano nowe okno wizualizacji rejestru dla osadzonych obiektów docelowych, dostępne za pośrednictwem debugowania > rejestrów systemu Windows > Embedded.
- Dodano nowy widok wątków dla projektów RTOS, dostępny za pośrednictwem debugowania > obiektów systemu Windows > RTOS.
Debugowanie i diagnostyka
- Dodano nową funkcję o nazwie StickyDataTips, tj. można teraz zachować rozwinięte etykietki danych, dopóki nie klikniesz. Daje to bardzo łatwy sposób oceny obiektów whithin datatips. Aby włączyć tę funkcję, zaznacz pole wyboru "Zachowaj rozwinięte porady dotyczące danych otwierane do momentu kliknięcia" w obszarze Narzędzia >Opcje > Debugowanie > ogólne.
- Dodano obsługę dołączania usług Microsoft aplikacja systemu Azure Services do procesu.
Edytor
- Funkcję Oczyszczania kodu można teraz skonfigurować do uruchamiania za każdym razem, gdy plik zostanie jawnie zapisany. W obszarze Narzędzia > Opcje w obszarze Oczyszczanie kodu edytora > tekstu nowa opcja umożliwia użytkownikom włączenie oczyszczania kodu podczas jawnego zapisywania, a także wybranie profilu do uruchomienia. Należy pamiętać, że ta opcja nie spowoduje uruchomienia oczyszczania kodu podczas automatycznego zapisywanie.
Narzędzia git
- Dodano możliwość porównywania gałęzi w programie Visual Studio.
- Wprowadzono ulepszenia stanu głównego odłączonego, w tym możliwość wyewidencjonowania zatwierdzeń.
- Ulepszenia rozgałęziania wielu repozytoriów, w tym możliwość tworzenia gałęzi w różnych repozytoriach w tym samym czasie (funkcja w wersji zapoznawczej).
- Dodano możliwość dołączania pliku README podczas tworzenia nowych repozytoriów Git w programie Visual Studio.
- Ulepszono możliwość przypinania często używanych gałęzi przy użyciu przycisków aktywowania.
- Skompiluj bardziej wykrywalny interfejs użytkownika umożliwiający powiązanie elementów roboczych z nowymi zatwierdzeniami.
IDE
- Dodano możliwość przełączania schematu kolorów w celu kolorowania kart według rozszerzenia pliku lub projektu.
- Dodano możliwość dostosowywania kolorów tabulacji po włączeniu kart kolorów. Kliknij prawym przyciskiem myszy kartę kolor i wybierz polecenie Ustaw kolor karty.
Instalacja i aktualizacje
- Po zakończeniu instalacji zmniejszyliśmy liczbę ponownych uruchomień wymaganych.
- Wymagane ponowne rozruchy były często spowodowane aktualizowaniem plików środowiska uruchomieniowego Visual C++ w katalogu systemowym podczas ich używania. Te pliki są zwykle poprawnie aktualizowane; Ponowne uruchomienie jest potrzebne tylko do wyczyszczenia zastąpionych plików. W takich przypadkach Instalator programu VS wyświetli teraz zalecane okno dialogowe ponownego uruchamiania.
- Po wyświetleniu zalecanego okna dialogowego ponownego rozruchu klient może natychmiast uruchomić środowisko IDE programu Visual Studio (bez ponownego uruchamiania).
- Dodano informacje o datach wygaśnięcia kanału LTSC do okna dialogowego Ustawienia aktualizacji.
- Dodano możliwość programowego zmieniania lokalizacji źródłowej aktualizacji niezależnie od rzeczywistego przeprowadzania aktualizacji. Dzięki temu administratorzy IT mogą programowo zmieniać kanał aktualizacji.
Dołączanie do procesu usług Microsoft aplikacja systemu Azure Services
- Teraz możesz dołączyć do platformy .NET (Framework). Core lub 5+) dla usługi App Service dla systemu Windows bez otwartego rozwiązania lub projektu. Otwórz okno dialogowe > Dołączanie do procesu Zmień typ połączenia na Microsoft aplikacja systemu Azure Services > Wybierz pozycję Znajdź > subskrypcję, a następnie znajdź usługę App Service w grupie zasobów i wybierz pozycję Ok. Znajdź proces, z którym chcesz nawiązać połączenie, i wybierz pozycję Dołącz.
Narzędzia deweloperskie usługi Microsoft Teams
- Teams Toolkit to rozszerzenie programu Visual Studio, które ułatwia deweloperom tworzenie środowisk dla usługi Microsoft Teams i jest częścią programu Microsoft Teams Framework (TeamsFx). Dowiedz się więcej o zestawie narzędzi Teams Toolkit i TeamsFx w witrynie GitHub oraz w dokumentacji usługi Microsoft Teams.
- Teraz możesz wybrać składnik narzędzi programistycznych usługi Microsoft Teams w obciążeniu tworzenia aplikacji internetowych ASP.NET w Instalator programu Visual Studio.
- Zainstalowanie tego składnika powoduje dodanie rozszerzenia Teams Toolkit. Użyj nowego szablonu projektu aplikacji Microsoft Teams, aby rozpocząć tworzenie nowej aplikacji karty Teams.
Produktywność platformy .NET
Funkcja IntelliSense jest teraz uzupełniania
await
w oczekiwanym wyrażeniu. Zacznij wpisywać oczekiwane wyrażenie i zwróć uwagę, jakawait
będzie teraz wyświetlane na liście uzupełniania.Istnieje teraz refaktoryzacja przenoszenia statycznych elementów członkowskich do nowego typu. Umieść kursor na statycznym elemencie członkowskim. Naciśnij (Ctrl+.), aby wyzwolić menu Szybkie akcje i refaktoryzacje . Wybierz pozycję Przenieś statyczne elementy członkowskie do innego typu.... Spowoduje to otwarcie okna dialogowego, w którym można wybrać członków, które chcesz przenieść.
Teraz istnieje refaktoryzacja, która upraszcza kod w celu korzystania z nowych wzorców właściwości rozszerzonych języka C# 10.0. Użycie rozszerzonych wzorców właściwości zmniejsza szum umożliwiający odwoływanie się do zagnieżdżonych elementów członkowskich zamiast zagnieżdżania innego wzorca cyklicznego. Umieść kursor na zagnieżdżonym odwołaniu do elementu członkowskiego. Naciśnij (Ctrl+.), aby wyzwolić menu Szybkie akcje i refaktoryzacje . Wybierz pozycję Uprość wzorzec właściwości.
Istnieje teraz refaktoryzacja, która wykrywa zamiany zmiennych i sugeruje użycie krotki do zamiany wartości, więc zamiast używać zmiennej tymczasowej w celu zamiany argumentów, można użyć krotki. Umieść kursor na tymczasowym przypisaniu zmiennej, w którym zamieniasz wartości. Naciśnij (Ctrl+.), aby wyzwolić menu Szybkie akcje i refaktoryzacje . Wybierz pozycję Użyj krotki, aby zamienić wartości.
Okno definicji kodu obsługuje teraz języki C# i Visual Basic. Aby użyć okna Definicji kodu, naciśnij (Ctrl+W,D) lub wybierz pozycję Wyświetl > okno definicji kodu. Następnie umieść kursor na identyfikatorze, aby nawigować i eksplorować kod.
Teraz istnieje refaktoryzacja umożliwiająca włączanie typów odwołań dopuszczających wartość null w projekcie. Można włączyć typy referencyjne dopuszczane do wartości null, dodając
<Nullable>
element enable</Nullable>
do pliku projektu lub dodając #nullable włączyć pragma do każdego pliku źródłowego w projekcie. Aby usprawnić ten proces, teraz automatycznie uwzględniamy<Nullable>
włączenie</Nullable>
dla nowych projektów platformy .NET. W przypadku istniejących projektów platformy .NET można włączyć typy referencyjne dopuszczane do wartości null, umieszczając kursor na #nullable włączyć pragma. Naciśnij (Ctrl+.), aby wyzwolić menu Szybkie akcje i refaktoryzacje . Wybierz pozycję Włącz typy referencyjne dopuszczane do wartości null w projekcie.Pomoc podpisu poprawiła jego wyświetlanie, gdy krotka pojawia się wiele razy w podpisie. Uproszczony widok zawiera klucz Typ strukturalny, aby pokazać, co znajduje się w krotku.
Teraz możesz natychmiast zrozumieć błędy i ostrzeżenia bez konieczności umieszczania kursora na wierszu kodu za pomocą diagnostyki wbudowanej. Funkcja diagnostyki wbudowanej jest domyślnie wyłączona, dlatego należy ją włączyć w obszarze Narzędzia Opcje Edytor tekstu C# lub Podstawowy > zaawansowany i wybrać pozycję Wyświetl diagnostykę w tekście (eksperymentalna).> > >
Teraz udostępniamy osadzone źródło i link źródłowy w ramach funkcji Przejdź do definicji, jeśli zestaw, do których odwołuje się odwołanie, ma osadzone źródło lub łącze źródłowe. Dzięki temu można przejść do oryginalnych plików źródłowych, które deklarują symbol docelowy. Umieść kursor na symbolu i naciśnij F12, aby przejść do oryginalnego pliku źródłowego.
Istnieje teraz okno Eksploratora śledzenia stosu, które wyświetla ślady stosu ze schowka, co umożliwia kliknięcie i przejście bezpośrednio do powiązanego kodu. Domyślnie jeśli skopiujesz ślad stosu z rozwiązania, a następnie przełączysz fokus do okna Eksplorator śledzenia stosu, ślad stosu zostanie automatycznie wyświetlony. Aby otworzyć okno Eksplorator śledzenia stosu, przejdź do pozycji Wyświetl > inne okna i wybierz pozycję Eksplorator śledzenia stosu.
W programie Visual Studio 2019 wprowadziliśmy nowy interfejs użytkownika dla pliku EditorConfig. Pliki EditorConfig pomagają zachować spójność kodu, definiując style i formaty kodu. Te pliki mogą być przechowywane z kodem w repozytorium i korzystać z tej samej kontroli źródła. W ten sposób wskazówki dotyczące stylu są takie same dla wszystkich użytkowników zespołu, którzy klonuje się z tego repozytorium. W tej wersji dodaliśmy style nazewnictwa do interfejsu użytkownika EditorConfig. Aby dodać plik EditorConfig do projektu lub rozwiązania, kliknij prawym przyciskiem myszy nazwę projektu lub rozwiązania w Eksplorator rozwiązań. Wybierz pozycję Dodaj nowy element. W oknie dialogowym Dodawanie nowego elementu wyszukaj ciąg EditorConfig. Wybierz szablon .NET EditorConfig, aby dodać plik EditorConfig wstępnie wypełniony opcjami domyślnymi. Zwróć uwagę na nowy interfejs użytkownika EditorConfig i nową opcję Style nazewnictwa.
Inne ulepszenia
- Przejdź do definicji z informacji źródłowych w plikach PDB.
- Uzupełnianie funkcji IntelliSense w
await
oczekiwanym wyrażeniu. - Przenieś statyczne elementy członkowskie do nowej refaktoryzacji typu.
- Uprość kod, aby użyć nowej refaktoryzacji rozszerzonych wzorców właściwości języka C# 10.0.
- Wykrywanie zamian zmiennych i sugerowanie użycia krotki do refaktoryzacji wartości wymiany.
- Obsługa okna definicji kodu dla języka C# i Visual Basic.
- Włącz typy odwołań dopuszczające wartość null w refaktoryzacji projektu.
- Pomoc dotycząca uproszczonego wyświetlania sygnatur, gdy krotka pojawia się wiele razy w podpisie.
- Omówienie błędów i ostrzeżeń przy użyciu wbudowanej diagnostyki.
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 .NET Productivity (np. Roslyn):
- Youssef Victor (@Youssef1313):
- Próba oznaczenia metody dostępu właściwości EqualityContract jako nie implementowana automatycznie żądanie ściągnięcia #57917
- Niewielka refaktoryzacja w obszarze UstawieniaAktualizacjęPomoc żądania ściągnięcia #55123
- Naprawiono odstępy podczas generowania opcji editorconfig z żądania ściągnięcia interfejsu użytkownika #54601
- Petr Onderka (@svick):
- Nie sugeruj uproszczenia wzorców pozycyjnych ściągnięcia #57676
- Saleh Ahmed Panna (@panna-ahmed)
- Zlokalizowany brak komunikatu ostrzegawczego żądanie ściągnięcia nr 57502
- Pavel Krymets (@pakrym)
- Nie normalizuj wiodącego odstępu w komentarzach kodu żądanie ściągnięcia nr 57414
- Kev Ritchie (@KevRitchie)
- Aktualizacja dokumentacji w celu wyjaśnienia zachowania w pełniqualifiedFormat żądanie ściągnięcia nr 57397
- Marcio A Braga (@MarcioAB)
- Aktualizacja żądania ściągnięcia TextSpan.cs nr 57300
- Bernd Baumanns (@bernd5)
- Poprawka dotycząca wywołania wskaźnika funkcji ma żądanie ściągnięcia "Brak" żądania ściągnięcia #57191
- Martin Strecker (@MaStr11):
- Poprawki kodu dla CS1591: Dodaj żądanie ściągnięcia dziedziczonego #57004
- Paul M Cohen (@paul1956):
- Początkowa poprawka problemu "Formatowanie VB elementu LineContinuation źle po _ " Komentarz" żądanie ściągnięcia #54559
Przeładowywanie na gorąco .NET
- Wiele ulepszeń platformy .NET Przeładowywanie na gorąco dla deweloperów tworzących aplikacje Blazor, w tym rozwiązania następujących problemów:
- Deweloperzy platformy Blazor tworzący aplikacje WebAssembly (Wasm) czasami widzą niegrzeczne okno dialogowe edycji, gdy zmiany zostały rzeczywiście zastosowane lub pojawią się wielokrotnie niegrzeczne okno dialogowe edycji.
- Deweloperzy platformy Blazor tworzący aplikacje WebAssembly (Wasm) będą mogli uzyskać stały niegrzeczny stan edycji, jeśli użyli funkcji ponownej kompilacji niegrzecznego okna dialogowego edycji, a następnie próbowali wprowadzić zmiany w plikach Razor.
- Deweloperzy platformy Blazor czasami widzą zakończenie sesji Przeładowywanie na gorąco podczas uruchamiania aplikacji za pośrednictwem debugera programu Visual Studio (F5).
- Deweloperzy platformy Blazor zobaczą przerwę debugera programu Visual Studio z komunikatem "Nie można zatrzymać debugowania..." komunikat, jeśli próbowano edytować plik error.cshtml i zastosować do niego zmiany przy użyciu platformy .NET Przeładowywanie na gorąco. W przyszłych wersjach programu Visual Studio zostaną wprowadzone kolejne poprawki błędów, ponieważ staramy się poprawić możliwości i stabilność tej funkcji. Jeśli wystąpią jakiekolwiek problemy, zgłoś je przy użyciu funkcji Zgłoś problem w programie Visual Studio.
Wydajność
- Szybsze rozwiązanie zamyka wydajność, optymalizując operacje oczyszczania podczas zamykania rozwiązania.
- Program Visual Studio indeksuje teraz pliki w bazie kodu, aby zapewnić znacznie szybsze wyszukiwanie w plikach. Wyłącz indeksowane wyszukiwanie w obszarze Narzędzia > Opcje > Środowiska > w wersji zapoznawczej funkcji i przełącz przełącznik Włącz indeksowanie w celu szybszego znajdowania.
Edytor Razor (ASP.NET Core)
- Funkcja Razor doda teraz brakujące dyrektywy using, jeśli wymagana jest szybka akcja.
Filtry rozwiązań
- Dodano opcję ładowania lub ponownego ładowania całego drzewa zależności dla projektów w filtrze rozwiązania. Gdy nowe projekty są dodawane do drzewa zależności, ale nie zostały ręcznie dodane do filtru rozwiązania, można łatwo dodać wszystkie zależności jednocześnie.
- Ta opcja (Zaktualizuj zależności projektu) znajduje się w menu kontekstowym węzła rozwiązania (kliknij prawym przyciskiem myszy rozwiązanie w Eksploratorze rozwiązań).
Narzędzia do testowania
- Animacja testowa jest teraz wyświetlana w dolnej części powłoki programu Visual Studio, gdy trwa operacja testowa. Jest ona podobna do animacji kompilacji i informuje o tym, nad czym pracuje program Visual Studio, i daje wskaźnik, że proces nie uległ awarii.
- Narzędzia pokrycia kodu mogą teraz tworzyć format pokrycia kodu cobertura. Można to włączyć w obszarze runsettings, dodając element
<Format>Cobertura</Format>
w sekcji Konfiguracja modułu DataCollector w pliku runsettings. Ten format można wyświetlić w oknie wyników pokrycia kodu w programie Visual Studio Enterprise. - Można również zbierać przy użyciu formatu cobertura z interfejsu wiersza polecenia, określając go w pliku runsettings lub określając go w parametrze. W przypadku interfejsu wiersza polecenia dotnet użyj polecenia
dotnet test --collect:"Code Coverage;Format=Cobertura"
. W przypadku programu vstest użyj poleceniavstest.console.exe /collect:"Code Coverage;Format=Cobertura"
. Parametr collect zastąpi format określony w parametrze runsettings.
Narzędzia sieci Web
- Podczas aprowizacji i wybierania zasobów platformy Azure program Visual Studio zapamiętuje wybrane wcześniej opcje dla pól "Grupa zasobów" i "Lokalizacja", a nie zawsze domyślnie do pierwszego wpisu na liście. Nawet jeśli poprzedni wybór nie jest dostępny w programie Visual Studio, oblicza teraz najbliższą lokalizację geograficzną i wybiera to domyślnie.
- Profile publikowania są teraz zawsze wyświetlane alfabetycznie na liście rozwijanej znajdującej się w górnej części strony podsumowania Publikowania, a także na liście rozwijanej na pasku narzędzi programu Visual Studio o nazwie Web One Click Publish (Publikuj w sieci Web Jednym kliknięciem).
- Obsługa narzędzi dla usługi Azure Container Apps pozostaje w kanale programu Visual Studio w wersji zapoznawczej. Aby kontynuować pracę z aplikacjami kontenera platformy Azure, zainstaluj wersję 17.2 (wersja zapoznawcza 1).
Gorące ponowne ładowanie XAML
- Przeładowywanie na gorąco XAML obsługuje teraz bardziej kompleksowe scenariusze używane razem z platformą .NET Przeładowywanie na gorąco. Włączyliśmy następujące scenariusze: w przypadku aplikacji WPF i WinUI 3:
- Edytor kodu XAML będzie teraz poprawnie wyświetlać nowo utworzone typy kontrolek i właściwości utworzone przez operację platformy .NET Przeładowywanie na gorąco w funkcji IntelliSense.
- Powiązanie z nowo utworzoną właściwością przy użyciu platformy .NET Przeładowywanie na gorąco będzie teraz działać zgodnie z oczekiwaniami. W przypadku interfejsu WinUI możesz również użyć elementu x:Bind, aby powiązać z nową właściwością. W przypadku aplikacji WPF:
- Dodanie nowo utworzonej metody obsługi zdarzeń utworzonej przy użyciu platformy .NET Przeładowywanie na gorąco będzie teraz działać. Uwaga: Chociaż powyższe scenariusze działają, jeśli typy są najpierw stosowane przy użyciu platformy .NET Przeładowywanie na gorąco, a następnie jest używany Przeładowywanie na gorąco XAML, istnieje znane ograniczenie. Jeśli na przykład dodasz nową właściwość przy użyciu języka XAML Przeładowywanie na gorąco do właściwości, która nie została jeszcze utworzona, a dopiero potem użyjesz Przeładowywanie na gorąco platformy .NET, aby ją utworzyć, zmiana XAML nie będzie widoczna dla nowej właściwości. Zdajemy sobie sprawę z tego problemu i mamy nadzieję go poprawić w przyszłości.
Wersja zapoznawcza XAML na żywo
- Wprowadziliśmy kilka ulepszeń dotyczących linijek, powiększania i wybierania elementów.
- Wersja zapoznawcza XAML na żywo obsługuje teraz aplikacje .NET MAUI (WinUI i Android), ale nadal ograniczone do tego, gdzie jest dostępna platforma .NET MAUI.
W tej wersji wprowadziliśmy kilka ulepszeń w wersji zapoznawczej XAML Na żywo, zmiany obejmują:
Obsługa interfejsu MAUI platformy .NET (WinUI i Emulator systemu Android): aplikacje .NET MAUI działające jako aplikacja WinUI 3 lub wykonywane w emulatorze systemu Android są teraz obsługiwane.
(Uwaga: interfejs MAUI platformy .NET nie jest jeszcze obsługiwany w każdej wersji programu Visual Studio, dlatego ta funkcja, począwszy od wersji 17.1, będzie dostępna tylko w tych wersjach, w których jest dostępny program .NET MAUI)
Zmiany linijki: Linijki teraz prawidłowo wyświetlają wskaźnik pikseli od prawej do lewej lub od lewej do prawej na podstawie konfiguracji aplikacji. Zmiany wyboru elementów: użycie funkcji "select element" w wersji zapoznawczej XAML na żywo będzie teraz zawsze przechodzić do źródła. Wcześniej była to opcja możliwa do skonfigurowania, ale została usunięta w tej wersji i zachowanie ustandaryzowane, aby uniknąć nieporozumień. Ulepszenia powiększenia: Lista rozwijana powiększania obsługuje teraz automatyczne "dopasuj wszystko", "dopasuj szerokość" lub "dopasuj wysokość", aby ułatwić powiększanie tych scenariuszy. Możesz również nadal używać regularnego powiększenia procentowego lub przewijania kółka obok tej nowej funkcji.
Problemy rozwiązane w wersji 17.1
- Rozwiązano problem polegający na tym, że program DataSet Custom Debugger Visualizer nie działał w scenariuszach debugowania zdalnego i aplikacja systemu Azure Service.
- Dodano obsługę anulowania oczekującej operacji "Przeładowywanie na gorąco".
- Rozwiązano problemy z wdrażaniem przyrostowym podczas ponownego uruchamiania platformy Xamarin na gorąco.
- Naprawiono i włączono obsługę obiektywów kodu dla serwera TFS.
- Usunięto usterkę powodującą nieprawidłowe kolorowanie kodu w scenariuszach Razor i LiveShare.
- Funkcja IntelliSense języka C++ w programie Visual Studio jest ulepszona podczas określania docelowych projektów CMake w systemach macOS. Program Visual Studio przetwarza teraz zmienną CMAKE_OSX_SYSROOT CMake podczas wyszukiwania nagłówków języka C++.
- Rozwiązano kilka problemów polegających na tym, że użycie zadania omp podczas łączenia /openmp:llvm i /ZI powodowało awarię kompilatora lub dyskretne generowanie nieprawidłowego kodu.
- Rozwiązano problem polegający na tym, że debugowanie aplikacji systemu Android po wyłączeniu szybkiego wdrażania.
- Rozwiązano problem powodujący użycie polecenia /experimental:deterministic, /pathmap i /clr.
- Naprawa awarii w systemie ARM64X thunks z flag /RTC.
- Nie dekoruj już ARM64EC symboli podczas łączenia.
- Rozwiązaliśmy problem z generowaniem przepływu pracy usługi Azure Container Apps, w którym generowanie jednostki usługi kończy się niepowodzeniem, jeśli jednostka usługi o tej samej nazwie jest już obecna.
- Dodano <operatory => i == do CString ATL.
- Zaktualizowano tabelę flag konsolidatora, aby umożliwić różnice między elementami -cgthreads i -pdbthreads w fazach GENRROFILE i USEPROFILE.
- Rozwiązano problem z publikowaniem projektów zawierających odwołanie com x86 z funkcją ClickOnce.
- Naprawia usterkę awarii programu VS podczas dodawania wielu profilów uruchamiania w oknie dialogowym Zarządzanie ustawieniami uruchamiania narzędzia Docker Compose.
- Napraw pakowanie zestawów
no-write-symbols,nodebug
AOT w aplikacjach platformy Xamarin.Android. - Kompilator języka C# wygeneruje niepoprawne generowanie kodu lub awarię w niektórych scenariuszach za pomocą procedur obsługi ciągów interpolowanych i indeksatorów od końca w przypisaniach dekonstrukcji. Te problemy zostały rozwiązane. Aby uzyskać więcej informacji, zobacz https://github.com/dotnet/roslyn/issues/58514 i https://github.com/dotnet/roslyn/issues/58569.
- Poprawka dotycząca sporadycznych awarii programu VS, gdy projektant platformy .NET Programu WinForms jest otwarty, a niektóre operacje są wykonywane w projekcie.
- Dodaj ARM64EC do opcji /MACHINE dla link.exe.
- Rozwiązano problem polegający na tym, że czasami zmiany w pliku ustawień obszaru roboczego narzędzia CMake nie zaczęły obowiązywać.
- W pewnych okolicznościach publikowanie usługi procesu roboczego w usłudze Azure Container Apps w trybie dyskretnym zakończy się niepowodzeniem.
- Rozwiązano problem polegający na tym, że nie można było uruchomić programu Visual Studio na maszynach z systemem Windows 7.
Zgłaszane na forum Developer Community
- Regularnie muszę wymusić zabicie devenv.exe, aby zamknąć program VS, ponieważ środowisko jest zablokowane w edycji i nadal nie działa
- Narzędzia Razor: kolory dyskotekowe utrwalają się
- Funkcja zamiany wbudowanej koncentruje się na nieprawidłowych danych wejściowych
- MSB3179: Problem z izolowaniem odwołania COM "SMTLib": nie wykryto żadnych zarejestrowanych klas dla tego składnika
- Nie można użyć nowego okna "właściwości debugowania projektu" z czytnikiem zawartości ekranu.
- Ponowne ładowanie na gorąco nie działa z plikiem cshtml w projekcie witryny internetowej platformy .NET
- Kod wygenerowany przez generator źródła jest oznaczony czerwonymi zygzakami, ale kompiluje się poprawnie
- Wymagana polska opcja kontrolki tekstu dwukierunkowego
- Próba dodania nowego profilu uruchamiania za pomocą opcji Zarządzaj ustawieniami narzędzia Docker Compose powoduje awarię programu Visual Studio 2022.
- Funkcja IntelliSense generatora źródła nie działa w projekcie klienta
- Ponowne uruchamianie na gorąco z systemem iOS 15 kończy się niepowodzeniem z osadzonymi czcionkami i niektórymi dodatkowymi składnikami (takimi jak Firebase)
- Powolne "Przejdź do definicji" w programie Visual Studio przy użyciu interfejsu UE5 Wczesnego dostępu (czy funkcja IntelliSense działa w dużych projektach)
- Usterka w programie Visual Studio 2022 + Xamarin + SignalR (nie znaleziono metody)
- Okno Repozytorium Git używa nieprawidłowego formatu daty (regresja w programie VS 2022)
- Program Visual Studio napotkał nieoczekiwany problem
- Program Visual Studio 2022 (wersja zapoznawcza 7) utknął w stanie "Oczekiwanie na zakończenie inicjowania funkcji IntelliSense..."
- System.InvalidOperationException: Brak oczekującej aktualizacji
- UseMultiToolTask powoduje wykrywanie zmian w prekompilowanym nagłówku języka C++ w celu przerwania działania pojedynczego cpp
- Nie można rozpoznać symbolu "WebAssembly"
- Na stronie blazor (*.razor) dodawanie średnika do wiersza kodu c# powoduje skok kursora
- PackageId:Microsoft.VisualStudio.TestWindow.SourceBasedTestDiscovery; PackageAction:Install; ReturnCode:-2147024690;
- Modules: std::any break in nontrivial code when importing a module (Moduły: std::any break in nontrivial code when importing a module)
- ARM64: niepoprawna generacja kodu, gdy kompilator zdecyduje się przekazać wartość
- Błąd podczas kompilowania w programie WSL z maksymalnymi zadaniami kompilacji >równoległej 1
- Używanie bitowego "|" w przypadku logicznego "||" był prawdopodobnie zamierzony
- Funkcja "Znajdź wszystkie odwołania" w programie Visual Studio 2019 w wersji 16.10.X
- Rozwiązano problem z publikowaniem projektów zawierających odwołanie com x86 z funkcją ClickOnce
- Uaktualnianie programu Visual Studiof złamało kompilację pakietu
- Programowanie w systemie Linux za pomocą języka C++ — wewnętrzne połączenie dynamiczne jest nieprawidłowe
- Komentarze bez tagów doxygen nie są poprawnie analizowane
- Błąd połączenia z deklaracją lokalną wewnątrz przestrzeni nazw
- Wstępnie zdefiniowane makra dla launch.vs.json
- Eksplorator rozwiązań nie wyświetla ikony plików programu Power Shell
- Funkcja fałszywie dodatnia C26440 może być zadeklarowana jako "noexcept"
- C++: std::is_empty jest niepoprawna dla specjalizacji szablonu
- VC++ dla systemu Linux: zdalne zdarzenie przed kompilacją uruchomione przed kopiowaniem źródeł
- Izolacja serwera Blazor i css przy użyciu platformy .Net 6 i programu VS Community 2022
Zobacz pełną listę poprawek społeczności deweloperów w tej wersji.
Znane problemy
Zobacz wszystkie otwarte problemy i dostępne obejścia w programie Visual Studio 2022, korzystając z poniższego linku.
Opinie i sugestie
Chcemy poznać Twoje zdanie! Możesz zgłosić problem lub zasugerować funkcję przy użyciu ikony Wyślij opinię w prawym górnym rogu instalatora lub środowiska IDE programu Visual Studio albo w obszarze Wyślij opinię w Pomocy.> Problemy można śledzić przy użyciu społeczności deweloperów programu Visual Studio, w której można dodawać komentarze lub znajdować rozwiązania. 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.