Visual Studio logo Visual Studio 2022 w wersji 17.12

Uwaga

Najnowsza wersja Visual Studio 2022 to 17.14. Aby uzyskać dodatkowe informacje, zobacz informacje o wersji .

Z przyjemnością ogłaszamy dostępność Visual Studio 2022 w wersji 17.12. Ta aktualizacja koncentruje się na zapewnieniu fantastycznych środowisk deweloperskich do pracy z .NET 9 projektów i nowych projektów AI wraz z ciągłymi ulepszeniami.

Funkcje

Lista funkcji dla wersji 17.12 , która została wydana 12 listopada 2024 r.

Produktywność

Kopiowanie z listy błędów 📣

Skopiowanie błędu z listy błędów powoduje teraz skopiowanie tylko opisu zamiast całego wiersza do schowka.

Na liście błędów widzisz błąd, którego nie wiesz, jak naprawić. Dlatego należy go zaznaczyć i nacisnąć Ctrl+C, aby skopiować opis wyszukiwania w Internecie. Po wklejeniu go do wyszukiwarki zdajesz sobie sprawę, że zostały skopiowane wszystkie nagłówki kolumn i wartości wierszy zamiast tylko opisu. Teraz musisz usunąć wszystko, z wyjątkiem opisu błędu, zanim będzie można wykonać wyszukiwanie w sieci Web. Jest to kłopotliwe, ale teraz mamy na to rozwiązanie!

Poprawka kopiowania listy błędów

Po skopiowaniu błędu z listy błędów przy użyciu Ctrl+C do schowka jest kopiowany tylko opis. Ułatwia to wyszukiwanie błędu w trybie online lub udostępnianie go innym osobom.

Możesz nadal skopiować cały wiersz, klikając prawym przyciskiem myszy błąd i wybierając polecenie Kopiuj wiersz z menu kontekstowego lub naciskając Ctrl+Shift+C.

Jeśli to, co chcesz zrobić z opisem błędu, było wyszukiwanie w Internecie, po prostu naciśnij Ctrl+F1, aby wyszukać informacje o błędzie w trybie online.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Przechodzenie do wiersza w dowolnym miejscu w wyszukiwaniu kodu 📣

W obszarze Wyszukiwanie kodu możesz teraz przejść do określonego wiersza w bieżącym dokumencie lub innym określonym dokumencie.

Czasami wiesz, że w określonym wierszu kodu występuje problem i chcesz szybko do niego przejść. Być może powiedziano Ci o błędzie zgłaszanym w wierszu 43 jakiegoś pliku lub chcesz przejść na dół określonego pliku.

Funkcja wyszukiwania kodu obsługuje teraz szybkie nawigowanie do określonego wiersza w kodzie.

Otwórz pozycję Wyszukiwanie kodu i przejdź do wiersza w bieżącym dokumencie przy użyciu dwukropka i numeru wiersza. Na przykład, ciąg :39 spowoduje przejście do wiersza 39 w aktywnym pliku.

Przejdź do wiersza w bieżącym dokumencie

Możesz również przejść do wiersza w innym dokumencie, używając nazwy pliku + dwukropka + numeru wiersza. Na przykład, ciąg Order:43 spowoduje przejście do wiersza 43 w Order.cs. Jeśli nie określisz dokładnej nazwy pliku, wyszukiwanie spróbuje znaleźć najlepsze dopasowanie.

Przejdź do wiersza w innym dokumencie

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Zadokuj okno wyszukiwania kodu 📣

Teraz możesz swobodnie umieścić okno wyszukiwanie kodu z funkcjami, takimi jak zadokowanie i automatyczne ukrywanie.

Jeśli chcesz pozbyć się okna Code Search lub Feature Search, możesz mieć teraz większą kontrolę nad zachowaniem okna wyszukiwania.

Możesz teraz zadokować okno wyszukiwania i wykonać za jego pomocą akcje okna narzędzi, takie jak Eksplorator rozwiązań i inne.

Wyszukiwanie zadokowane do dołu

Po otwarciu funkcji wyszukiwania kodu lub wyszukiwania funkcji kliknij ikonę pola w prawym górnym rogu, aby przekonwertować je na okno narzędzia. Możesz zdecydować, aby zadokować je w innym miejscu, pokazać w innym oknie, automatycznie ukryć itp. Możesz wrócić do okna podręcznego z możliwością odrzucenia, klikając ikonę w prawym górnym rogu.

W prawym górnym rogu okna druga ikona to ikona okna narzędzi

Uprościliśmy również i wyczyściliśmy środowisko podglądu w wyszukiwaniu. Istnieje teraz jeden przycisk, oznaczony ikoną oka, która służy do włączania i wyłączania podglądu.

W prawym górnym rogu okna pierwsza ikona jest ikoną panelu podglądu

Położenie panelu podglądu będzie również jest dostosowywane na podstawie wymiarów okna wyszukiwania.

Wyszukiwanie zadokowane po prawej stronie

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Customize zwinięty wskaźnik tekstu 📣

Ustaw kolory niestandardowe dla zwiniętego wskaźnika tekstu w edytorze Visual Studio.

Teraz możesz jeszcze bardziej dostosować środowisko edytora dzięki nowym opcjom dostosowywania zwiniętego wskaźnika tekstu:

Dostosowane wskaźniki tekstu rozwinięte i zwinięte w edytorze Visual Studio

Aby wypróbować i ustawić niestandardowe kolory pierwszego planu i tła dla każdego z nich, przejdź do pozycji Narzędzia > Opcje > Czcionki środowiska > i kolory.

Zwinięte wpisy wskaźnika tekstu na stronie Czcionki i kolory

W tym miejscu znajdziesz dwa nowe elementy dostosowywania:

  • zwinięty wskaźnik tekstu (zwinięty)
  • zwinięty wskaźnik tekstu (rozwinięty)

Kolory dla zwiniętych i rozwiniętych wskaźników można ustawić niezależnie od siebie przy użyciu wstępnie zdefiniowanych kolorów lub kolorów niestandardowych.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Odświeżanie wyników wyszukiwania 📣

Teraz możesz odświeżyć wyniki do poprzedniego wyszukiwania Znajdź, aby uzyskać aktualne dopasowania wyszukiwania.

Słyszeliśmy od wielu użytkowników, że konieczność ponownego otwierania okna funkcji Znajdź i ponawiania wyszukiwania w celu uzyskania zaktualizowanych wyników jest frustrująca. Być może właśnie została przeprowadzona refaktoryzacja kodu i chcesz potwierdzić, że wszystko zostało zmienione zgodnie z oczekiwaniami, lub ściągnięto kilka ostatnich zmian i ostatnia operacja znajdowania ma odzwierciedlać te aktualizacje.

Po ukończeniu funkcji Znajdź w plikach będzie teraz dostępna opcja Odśwież wyniki znajdowania w oknie. Otrzymasz zaktualizowane wyniki bez konieczności ponownego wyszukiwania.

Przycisk odświeżania znajdowania po prawej stronie przycisku zatrzymywania znajdowania

Na nowo zaprojektowaliśmy również dawną opcję Powtórz znajdowanie, aby odróżnić ją od opcji Odśwież. Jest ona teraz reprezentowana jako opcja Modyfikuj znajdowanie z ikoną ołówka. Przycisk ten spowoduje ponowne otwarcie opcji Znajdź w plikach z tymi samymi kryteriami wyszukiwania, które zostały użyte dla tego okna wyników.

Przycisk Modyfikuj znajdowanie po prawej stronie paska narzędzi

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Więcej miejsca na poziomy pasek przewijania 📣

Teraz możesz kontrolować widoczność wskaźników poziomu pliku w funkcji CodeLens.

Obszar z poziomym paskiem przewijania może być dość zaśmiecony w Visual Studio. Pomagamy ułatwić czyszczenie go, wyłączając domyślnie wskaźniki poziomu plików w funkcji CodeLens.

Wskaźnik CodeLens na poziomie pliku na dolnym marginesie edytora

Jeśli chcesz włączyć tę opcję, możesz znaleźć opcję Pokaż wskaźnik CodeLens na poziomie pliku w obszarze Narzędzia > Opcje > Edytor > tekstu Zaawansowane. Ta opcja wpływa na widoczność typów plików, które mają kontrolkę CodeLens na poziomie pliku w dolnym marginesie edytora, takim jak XAML, HTML i CSS, i nie ma wpływu na pliki, które zawierają wbudowany kod CodeLens.

Opcja pokaż wskaźnik CodeLens na poziomie pliku

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Czyszczenie kodu bez blokowania podczas zapisywania

Gdy oczyszczanie kodu jest uruchamiane podczas zapisywania, działa teraz w sposób nieblokujący, aby zapewnić bezproblemowe środowisko kodowania.

Wcześniej, gdy oczyszczanie kodu jest uruchamiane podczas zapisywania, nie można wykonać żadnych akcji w środowisku IDE. Teraz ulepszyliśmy to działanie w sposób nieblokcyjny.

Proces oczyszczania zostanie uruchomiony w tle i może zostać automatycznie anulowany, jeśli wznowisz wpisywanie, zapewniając bezproblemowe i bardziej dynamiczne środowisko kodowania.

Oczyszczanie kodu podczas zapisywania

Transitive zależności w interfejsie użytkownika Menedżer pakietów na poziomie rozwiązania

W przypadku przyjrzenia się karcie Zainstalowane w interfejsie użytkownika menedżera pakietów Visual Studio na poziomie rozwiązania będzie teraz pokazywać zarówno pakiety bezpośrednie, jak i przejściowe.

Wcześniej na karcie Zainstalowane w interfejsie użytkownika menedżera pakietów Visual Studio można było zobaczyć zarówno bezpośrednie, jak i przechodnie zależności tylko dla projektów. W tej wersji dodaliśmy również możliwość wyświetlania przejściowych zależności na poziomie rozwiązania.

zależności przechodnie na poziomie rozwiązania

Transitive zależności z lukami w zabezpieczeniach w Eksplorator rozwiązań

When ustawienie NuGetAuditMode na all, Eksplorator rozwiązań pokaże wskaźniki dla przejściowych zależności z lukami w zabezpieczeniach.

Funkcja Inspekcja NuGet po raz pierwszy dodana w wersji Visual Studio 17.8 (i .NET 8) zawiera ostrzeżenia podczas przywracania, jeśli jakiekolwiek pakiety używane przez projekt mają znane luki w zabezpieczeniach.

Aby uzyskać więcej informacji na temat inspekcji NuGet, w tym wszystkich opcji konfiguracji, zobacz dokumentację dotyczącąinspekcji NuGet.

Te luki w zabezpieczeniach mogą znajdować się w bezpośrednich zależnościach, a także w zależnościach przechodnich (pakiety zależą od zależności). Teraz, jeśli ustawisz NuGetAuditMode na all, Eksplorator rozwiązań pokaże wskaźniki nie tylko dla bezpośrednich, ale także dla przejściowych zależności z lukami w zabezpieczeniach.

Przełączanie luk w zabezpieczeniach zależności w Eksplorator rozwiązań

GitHub Copilot

Ask GitHub więcej pytań

Search w GitHub, aby znaleźć zatwierdzenia, problemy, żądania ściągnięcia, repozytoria i tematy bezpośrednio od Visual Studio.

Teraz możesz użyć GitHub Copilot Chat do wyszukiwania między GitHub w celu znalezienia zatwierdzeń, problemów, żądań ściągnięcia, repozytoriów i tematów.

Możesz zadawać pytania, takie jak:

  • @github Jakie są wszystkie otwarte żądania ściągnięcia przypisane do mnie?
  • @github Jakie są najnowsze problemy przypisane do mnie?
  • @github Kiedy była najnowsza wersja?
  • @github Pokaż mi ostatnio scalone żądania ściągnięcia z @davidfowl

Nowy GitHub umiejętności

Ta funkcja jest dostępna dla wszystkich użytkowników GitHub Copilot. Dowiedz się więcej o available GitHub Skills w dokumentacji GitHub Copilot.

Ważne

Aby użyć tej funkcji, upewnij się, że zaktywuj GitHub Copilot


Instrukcje dotyczące GitHub Copilot

Utwórz plik, który automatycznie dodaje informacje do wszystkich pytań zadawanych w witrynie GitHub Copilot Chat.

Dzięki GitHub Copilot możesz otrzymywać odpowiedzi na czaty dostosowane do przepływu pracy zespołu, preferowanych narzędzi i specyfiki projektu — po prostu podając kontekst. Zamiast dodawać te szczegóły kontekstowe do każdego zapytania czatu, możesz utworzyć plik, który automatycznie dostarcza te informacje. Chociaż ten dodatkowy kontekst nie pojawi się na czacie, jest dostępny do GitHub Copilot, co pozwala na generowanie bardziej dokładnych i odpowiednich odpowiedzi.

GitHub Copilot instrukcje niestandardowe

Jak włączyć instrukcje niestandardowe
  1. Włącz funkcję za pomocą Tools > Opcje > GitHub > Copilot> i sprawdź (wersja zapoznawcza) Włącz instrukcje niestandardowe do załadowania z github/copilot-instructions.md pliki i dodane do żądań.
  2. Dodaj copilot-instruction.md w katalogu głównym repozytorium w pliku .github, utwórz plik, jeśli jeszcze nie istnieje.

GitHub Copilot włącz instrukcje niestandardowe

Dowiedz się więcej na temat tworzenia instrukcji niestandardowych tutaj

Ważne

Aby użyć tej funkcji, upewnij się, że zaktywuj GitHub Copilot


Model zaznaczenia w GitHub Copilot Chat

GitHub Copilot teraz umożliwia wybranie modelu.

Interfejs OpenAI o1-preview i o1-mini są teraz dostępne dla wszystkich użytkowników w usłudze GitHub Copilot Chat w Visual Studio.

Teraz możesz wypróbować te modele z pierwszej ręki, korzystając z wersji o1-preview, o1-mini lub domyślnego modelu GPT-4o, aby włączyć usługę GitHub Copilot Chat. Dzięki dostępnemu przełączaniu modelu można bezproblemowo przejść od wyjaśniania interfejsów API lub generowania podstawowego kodu do tworzenia skomplikowanych algorytmów lub debugowania błędów logiki.

Odwiedź GitHub Changelog aby dowiedzieć się więcej o tej funkcji.

Ważne

Aby użyć tej funkcji, upewnij się, że zaktywuj GitHub Copilot


Zrozumienie kontekstowe

Zrozumienie kontekstowe w GitHub Copilot oferuje bardziej precyzyjne odpowiedzi.

Ulepszona kontekstowa wiedza w GitHub Copilot

GitHub Copilot teraz oferuje ulepszone kontekstowe zrozumienie, aby oferować jeszcze bardziej precyzyjne odpowiedzi. Dzięki tej aktualizacji GitHub Copilot mogą intuicyjnie interpretować kluczowe cechy kodu, dostosowując sugestie do unikatowych potrzeb projektu. To inteligentniejsze podejście do pomocy w kodzie ma na celu ułatwienie pracy wydajniejszej bez konieczności częstych korekt kontekstu.

Wypróbuj go z GitHub Copilot dzisiaj!

Ważne

Aby użyć tej funkcji, upewnij się, że zaktywuj GitHub Copilot


Aktualizacje wykluczeń zawartości

Wykluczenie zawartości obsługuje teraz podmoduły i zagnieżdżone repozytoria.

Ulepszyliśmy sposób obsługi modułów podrzędnych i zagnieżdżonych repozytoriów przez system, co ułatwia pracę ze złożonymi strukturami projektów.

Ponadto dodaliśmy obsługę repozytoriów innych niż Git, zwiększając elastyczność przepływu pracy i umożliwiając bezproblemową integrację szerszego zakresu projektów.

Ważne

Aby użyć tej funkcji, upewnij się, że zaktywuj GitHub Copilot


Inspekcja zmiennych inteligentnych sztucznej inteligencji

Zoptymalizuj przepływ pracy debugowania przy użyciu zintegrowanej inspekcji zmiennych sztucznej inteligencji.

Inspekcja i analizowanie wartości z ustawień lokalnych, automatycznych i etykietek danych nigdy nie była łatwiejsza w przypadku zapytań GitHub Copilot w Visual Studio. Wystarczy kliknąć prawym przyciskiem myszy dowolną wartość, aby uzyskać szczegółowe informacje oparte na sztucznej inteligencji dotyczące błędów, nieoczekiwanych wyników lub anomalii — wszystko bez opuszczania środowiska IDE.

wyszukiwanie zmiennych sztucznej inteligencji

Ta funkcja znacznie zwiększy szybkość rozwiązywania problemów, analizując zmienne w czasie rzeczywistym w środowisku IDE za każdym razem, gdy pojawią się nieoczekiwane wartości.

Ważne

Aby użyć tej funkcji, upewnij się, że zaktywuj GitHub Copilot


Wizualizator IEnumerable oparty na sztucznej inteligencji

Wyrażenia edytowalne LINQ oparte na sztucznej inteligencji w wizualizatorze IEnumerable.

Ulepszyliśmy funkcję wyrażeń edytowalnych w wizualizatorze IEnumerable z pomocą sztucznej inteligencji. Nowa funkcja Zapytaj funkcję Copilot umożliwia użytkownikom korzystanie ze sztucznej inteligencji bezpośrednio w edytowalnym polu tekstowym wyrażenia w celu utworzenia złożonych wyrażeń LINQ.

Wizualizator IEnumerable wyrażeń edytowalnych obsługiwany przez sztuczną inteligencję

Aby uzyskać dostęp do czatu GitHub Copilot, po prostu kliknij ikonę GitHub Copilot znajdującą się w prawym dolnym rogu sekcji wyrażeń edytowalnych. Na czacie będzie można znaleźć przykłady próbek składni LINQ. Ponadto możesz opisać zapytanie w języku naturalnym, a GitHub Copilot wygeneruje odpowiednie zapytanie LINQ. Aby zastosować filtrowanie zapytań LINQ w wizualizatorze, użyj przycisku Pokaż w wizualizatorze na czacie.

Zapewnia natychmiastowe opinie i wskazówki, dzięki czemu proces tworzenia złożonych filtrów i przekształceń jest bardziej intuicyjny i wydajny.

Ważne

Aby użyć tej funkcji, upewnij się, że zaktywuj GitHub Copilot


Debug testy z GitHub Copilot

Pobierz pomoc dotyczącą debugowania testów, które zakończyły się niepowodzeniem przy użyciu testów debugowania z GitHub Copilot.

Potrzebujesz pomocy przy debugowaniu testów jednostkowych, które zakończyły się niepowodzeniem. Teraz GitHub Copilot może pomóc, udostępniając plan debugowania i prowadząc Cię przez debugowanie testu, który zakończył się niepowodzeniem, aby zbliżyć cię do przekazania, klikając przycisk Debug z przyciskiem Copilot w Eksploratorze testów.

Debug z GitHub Copilot

Po uruchomieniu funkcji GitHub Copilot zapewni plan debugowania, ustawi odpowiednie punkty przerwania i obserwuj zmienne i uruchomi sesję debugowania. Gdy trafi do punktu przerwania, udostępnia GitHub Copilot z wartościami dla obserwowanych zmiennych i określa następny krok, kontynuuj debugowanie lub rozwiąż kod problemu. Możesz kontynuować tę konwersację do czasu przejścia testu.

GitHub Copilot Chat z planem debugowania i kolejnymi krokami

Ważne

Aby użyć tej funkcji, upewnij się, że zaktywuj GitHub Copilot


Fiks kodu z GitHub Copilot 📣

GitHub Copilot pomaga w rozwiązywaniu problemów z kodem.

GitHub Copilot jest teraz zintegrowana z żarówką i listą błędów, zapewniając szybkie poprawki i szczegółowe wyjaśnienia problemów z kodem. Niezależnie od tego, czy tworzysz oprogramowanie w języku C# czy C++, ta funkcja pomaga skuteczniej zrozumieć i rozwiązać problemy w bazie kodu.

Aby rozpocząć, po prostu wywołaj żarówkę i wybierz pozycję Fiks z Copilot. Spowoduje to uruchomienie wbudowanego czatu z GitHub Copilot, oferując dostępną poprawkę.

kod Fix z GitHub Copilot z żarówki

Możesz również wybrać ikonę GitHub Copilot z listy błędów, aby otworzyć panel czatu, w którym znajdziesz szczegółowe wyjaśnienia i rozwiązania dotyczące błędu.

kod Fix z GitHub Copilot z listy błędów

Korzystając z llMs, GitHub Copilot zawiera przydatne wyjaśnienia i poprawki bezpośrednio w żarówki i liście błędów, zwiększając środowisko kodowania.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Ważne

Aby użyć tej funkcji, upewnij się, że zaktywuj GitHub Copilot


Better AI ukończenia języka C#

GitHub Copilot wprowadza dodatkowy kontekst z odpowiednich plików źródłowych w celu ulepszenia uzupełniania kodu C#.

GitHub Copilot uzupełniania kodu udostępniają sugestie autouzupełniania w tekście podczas kodzie. Te sugestie są generowane na podstawie zawartości aktualnie aktywnego pliku i innych otwartych plików w edytorze. Odkryliśmy jednak, że uwzględnienie bardziej istotnego kontekstu znacznie poprawia te sugestie.

Aby ulepszyć środowisko dla deweloperów języka C#, zaktualizowaliśmy GitHub Copilot w celu uwzględnienia dodatkowego kontekstu języka C#, takiego jak dostępne typy i metody uzupełniania.

W najnowszej wersji Visual Studio GitHub Copilot teraz automatycznie uwzględnia semantycznie istotne pliki dla dodatkowego kontekstu, nawet jeśli te pliki nie są otwarte w edytorze. To ulepszenie pomaga zmniejszyć halucynacje, oferując bardziej istotne i dokładne sugestie.

Before: Semantycznie istotne pliki nie są traktowane jako kontekst dla uzupełniania GitHub Copilot

Semantycznie istotne pliki nie są traktowane jako kontekst dla GitHub Copilot uzupełniania

After: Semantycznie istotne pliki są traktowane jako kontekst dla GitHub Copilot Ukończenia

Semantycznie odpowiednie pliki są traktowane jako kontekst dla GitHub Copilot uzupełniania

Ważne

Aby użyć tej funkcji, upewnij się, że zaktywuj GitHub Copilot


Kod wnioskowania w GitHub Copilot

Introducing kodu odwołującego się do GitHub Copilot, co pozwala zezwolić na sugestie kodu zawierające dopasowania kodu publicznego podczas odbierania szczegółowych informacji o match.

Z przyjemnością ogłaszamy, że odwołania do kodu są teraz dostępne w GitHub Copilot w Visual Studio!

Przykład przywoływanego publicznego kodu

Ta nowa funkcja zapewnia przejrzystość dla deweloperów, powiadamiając ich, gdy usługa GitHub Sugestie funkcji Copilot jest zgodna z kodem publicznym. Teraz możesz zobaczyć odpowiedni kod, jego plik źródłowy i wszelkie skojarzone informacje licencyjne, pomagając im podejmować bardziej świadome decyzje podczas kodowania.

Odwoływanie się do kodu umożliwia blokowanie lub zezwalanie na sugestie zawierające dopasowania kodu publicznego, zwiększanie kontroli i dostosowywania.

Integrując kod odwołujący się do GitHub Copilot, wspieramy udostępnianie wiedzy, zwiększanie przejrzystości i zwiększanie możliwości tworzenia z ufnością. Niezależnie od tego, czy jesteś indywidualnym deweloperem, czy częścią większego zespołu, ta funkcja usprawnia przepływ pracy i ułatwia poruszanie się po złożoności kodu publicznego.

Wypróbuj GitHub Copilot w Visual Studio dzisiaj i przejmij kontrolę nad procesem programowania, mając większą przejrzystość i pewność siebie!

Ważne

Aby użyć tej funkcji, upewnij się, że zaktywuj GitHub Copilot


Guided czat w GitHub Copilot

Introducing nowy, bardziej konwersacyjny sposób rozmowy z GitHub Copilot.

Wprowadzamy nowy, bardziej konwersacyjny sposób interakcji z usługą GitHub Copilot Chat!

Przykład środowiska czatu z przewodnikiem

Wprowadziliśmy bardziej interaktywny i konwersacyjny sposób korzystania z usługi GitHub Copilot Chat. Teraz, zamiast czuć się zablokowany lub niepewny, GitHub Copilot poprowadzi Cię przez wyjaśnienie pytań, gdy kontekst jest niejasny, zapewniając dokładniejsze i pomocne odpowiedzi.

To środowisko czatu z przewodnikiem pomaga uściślić zapytania, oferuje sugestie i zapewnia płynniejsze, bardziej wydajne interakcje. Dzięki tej nowej modalności czatu będziesz cieszyć się inteligentniejszym, bardziej intuicyjnym GitHub Copilot, który dostosowuje się do Twoich potrzeb w miarę stosowania kodu.

Wypróbuj nowe środowisko czatu z przewodnikiem dzisiaj i zobacz różnicę na własne oczy!

Ważne

Aby użyć tej funkcji, upewnij się, że zaktywuj GitHub Copilot


GitHub Copilot dołączanie

Pobierz uruchomiono szybciej w usłudze GitHub Copilot Chat!

Potrzebujesz pomocy przy rozpoczynaniu pracy z usługą GitHub Copilot Chat? Wprowadziliśmy dwie nowe funkcje dołączania, które ułatwiają szybsze rozpoczęcie pracy.

Monity rozpoczynające

Wyślij pierwszą wiadomość do GitHub Copilot, klikając jeden z monitów startowych! Użyj tych monitów, aby zobaczyć, jakie możliwości GitHub Copilot ma do zaoferowania w przepływie pracy.

GitHub Copilot monity początkowe

Biblioteka monitów

Jeśli musisz ponownie odwołać się do niektórych wstępnie wykonanych monitów, kliknij przycisk Monituj bibliotekę (ikona książki), aby wyświetlić listę wszystkich dostępnych monitów. Ta biblioteka zawiera często używane monity, wystarczy kliknąć!

GitHub Copilot promptlibrary

Niezależnie od tego, czy eksplorujesz nowe zadania kodowania, czy po prostu szukasz inspiracji, nasze monity pomogą Ci od razu rozpocząć poznawanie i rozpoczynanie pracy z usługą GitHub Copilot Chat.

Wypróbuj jeden i zobacz, gdzie Cię zabierze!

Ważne

Aby użyć tej funkcji, upewnij się, że zaktywuj GitHub Copilot


.NET

Achieve więcej z .NET 9 📣

.NET 9 podnosi poziom tworzenia aplikacji natywnych dla chmury i inteligentnych aplikacji, koncentrując się na ulepszeniach produktywności, usprawnionych wdrożeniach i przyspieszonej integracji sztucznej inteligencji.

.NET 9 podnosi poziom tworzenia aplikacji natywnych dla chmury i inteligentnych aplikacji, koncentrując się na ulepszeniach produktywności, usprawnionych wdrożeniach i przyspieszonej integracji sztucznej inteligencji, zapewniając lepszą wydajność w wielu aplikacjach. Dzięki pełnej obsłudze .NET 9 w Visual Studio 17.12 można łatwo wykorzystać wszystkie najnowsze ulepszenia. Aby uzyskać więcej informacji na temat nowości, odwiedź Jak jest nowy w .NET 9.

.NET 9

Ponadto znajdziesz aktualizacje funkcji wokół środowiska IDE, które sprawiają, że praca z .NET i ASP.NET bardziej wydajna niż kiedykolwiek.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .


Suppressing ostrzeżeń dotyczących określonych porad GitHub przestrzeganych w Visual Studio

NuGet umożliwia pomijanie ostrzeżeń dla określonych GitHub Advisories, a represje są przestrzegane w Visual Studio.

Funkcja Inspekcja NuGet udostępnia ostrzeżenia, gdy pakiet używany w projekcie ma znaną lukę w zabezpieczeniach. Zawsze zaleca się uaktualnienie do nowej wersji pakietu, ale jeśli uaktualnienie jest niemożliwe i masz pewność, że oprogramowanie nie jest zagrożone, możesz pominąć ostrzeżenia dla określonych GitHub Advisories, dodając NuGetAuditSuppress elementów do pliku projektu.

<Project Sdk="Microsoft.NET.Sdk">
  <ItemGroup>
    <NuGetAuditSuppress Include="https://github.com/advisories/GHA1234" />
  </ItemGroup>
</Project>

możliwość konfigurowania nuget.org jako źródła inspekcji

Teraz możesz ustawić nuget.org jako źródło inspekcji, aby uzyskać informacje o lukach w zabezpieczeniach nawet w przypadku korzystania z innych źródeł danych NuGet.

Narzędzie NuGet Audit wymaga źródła pakietu, które zapewnia bazę danych podatną na luki w zabezpieczeniach. nuget.org udostępnia informacje o lukach w zabezpieczeniach z bazy danych GitHub Advisories.

Począwszy od Visual Studio 17.12, można teraz określić źródła inspekcji w NuGet.Config, więc nie jest już wymagane używanie nuget.org jako źródła pakietu.

Jeśli nie używasz nuget.org jako źródła pakietu i chcesz użyć inspekcji narzędzia NuGet na potrzeby raportowania pakietów narażonych podczas przywracania, dodaj następujące elementy do pliku NuGet.Config w katalogu rozwiązania:

<confiuration>
  <!-- any existing config, including <packageSources> -->
  <auditSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </auditSources>
</configuration>

Debugowanie i diagnostyka

Blazor debugowanie 📣

An ulepszone środowisko debugowania dla aplikacji zestawu WebAssembly platformy Blazor przeznaczonego .NET 9 lub nowszej.

Visual Studio teraz oferuje ulepszone środowisko debugowania dla aplikacji Zestawu WebAssembly platformy Blazor przeznaczonego .NET 9 lub nowszych:

  • Typy danych wyświetlane w debugerze są teraz zgodne z oczekiwanym .NET typów danych.
  • Elementy członkowskie typu i ich widoczność używają oczekiwanych ikon.
  • Wyświetlany stos wywołań jest czyszczony tylko w celu wyświetlenia stosu wywołań .NET i poprawnie uwzględnia ustawienie Ust Mój kod.
  • Okno modułów jest teraz obsługiwane.
  • Obsługa oceny wyrażeń w oknie natychmiastowym oraz w przypadku zegarów i warunkowych punktów przerwania jest rozszerzana i ulepszana.

Ulepszenia debugowania platformy Blazor

Aby włączyć nowe środowisko debugowania w wersji zapoznawczej:

  • Włącz ustawienie Enable new .NET 9+ Mono debuger.
  • Zainstaluj najnowszy zestaw SDK .NET 9.
  • Zaktualizuj aplikację Blazor, aby docelowa .NET 9.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Histogram miernika w profilerze

Ulepszone szczegółowe informacje o wydajności przy użyciu histogramu miernika w narzędziu licznika profilera.

Ostatnie ulepszenie pakietu profilowania wydajności Visual Studio wprowadza funkcję histogramu miernika. To narzędzie umożliwia identyfikowanie i analizowanie danych histogramu generowanych przez instrumenty histogramu. Podczas rejestrowania danych z tych instrumentów wyniki histogramu są wizualizowane, zapewniając przejrzystą reprezentację rozkładu danych.

Narzędzie licznika histogramu miernika

Ponadto diagram torowy oferuje szczegółowy, posegmentowany widok metryk wydajności, zwiększając możliwość efektywnego wskazywania i rozwiązywania problemów z wydajnością.

Wyświetlanie wartości zwracanych przez metodę 📣

Debuger pokazuje teraz wbudowane wartości zwracane z pomocą sztucznej inteligencji w celu zwiększenia wydajności.

Debuger Visual Studio wyświetla teraz wbudowane wartości instrukcji zwrotnych, odpowiadając na jedną z najbardziej żądanych funkcji ze społeczności deweloperów.

To ulepszenie pozwala zobaczyć dokładne wartości zwracane przez funkcje bezpośrednio w kodzie, eliminując potrzebę dodatkowego kodu lub zmiennych tymczasowych w celu sprawdzenia zwracanych wartości.

Śródwierszowe wartości zwracane

Korzystając z GitHub Copilot, możesz wykonać go dalej, używając opcji Zapytaj funkcję Copilot po umieszczeniu wskaźnika myszy, aby analizować wartości zwracane bezpośrednio w Visual Studio, co pozwala natychmiast rozwiązać problemy.

Jest to obsługiwane zarówno w kodzie natywnym, jak i kodzie zarządzanym.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Łatwe eksportowanie grup punktów przerwania 📣

Bez wysiłku importowanie i eksportowanie grup punktów przerwania.

Visual Studio grupy punktów przerwania obsługują teraz funkcję importowania i eksportowania, umożliwiając łatwe zarządzanie strukturami punktów przerwania i konserwowanie ich w wielu projektach lub środowiskach.

Importowanie eksportu grup punktów przerwania

Ta nowa funkcja umożliwia eksportowanie grup punktów przerwania przy użyciu ich konfiguracji, a następnie importowanie ich do różnych rozwiązań, zapewniając spójną konfigurację debugowania bez konieczności ręcznego ponownego tworzenia grup punktów przerwania.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Funkcja IntelliSense dla wizualizatora IEnumerable 📣

Ulepszony wizualizator IEnumerable z funkcją IntelliSense umożliwiający szybsze wykonywanie zapytań LINQ.

Wizualizator IEnumerable został rozszerzony o funkcję IntelliSense, zapewniając sugestie kodu w czasie rzeczywistym i autouzupełnianie, dzięki czemu pisanie wyrażeń LINQ jest szybsze i dokładniejsze.

Wizualizator IEnumerable IntelliSense

To ulepszenie upraszcza proces tworzenia i edytowania zapytań, oferując rekomendacje dotyczące inteligentnego kodu, zmniejszając prawdopodobieństwo błędów i przyspieszając czas programowania.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Analizowanie użycia pamięci w czasie

Wybierz i porównaj dwie migawki pamięci przy użyciu okna Narzędzia diagnostycznego.

Okno Narzędzie diagnostyczne obsługuje teraz porównywanie migawek pamięci, co ułatwia analizowanie zmian pamięci w czasie.

Aby użyć tej funkcji, upewnij się, że masz co najmniej dwie migawki pamięci przechwycone na karcie Pamięć w oknie Narzędzia diagnostyczne.

Zaznaczanie migawek do porównania
  • Przytrzymaj Ctrl i kliknij wiersze migawki, aby wybrać dowolne dwie migawki.
  • Alternatywnie przytrzymaj Shift i użyj up/down strzałek, aby wybrać dwie kolejne migawki.
Usuwanie zaznaczenia migawek
  • Przytrzymaj Ctrl i kliknij migawkę, którą chcesz usunąć.
Wyświetlanie różnic

Po zaznaczeniu migawek pamięci do porównania kliknij przycisk Wyświetl różnice znajdujący się powyżej listy migawek, aby wyświetlić różnice między nimi.

Wyświetlanie migawki różnic MMA

Narzędzia Git

Zarządzanie zmianą nazw plików za pomocą usługi Git 📣

Pamiętaj o zmianie nazwy plików przy użyciu nowego powiadomienia.

Po zmianie nazwy plików z Eksploratora rozwiązań zostanie wyświetlone przypomnienie o przygotowaniu zmian w celu wyświetlenia zmian w usłudze Git. Zwiększa to pewność, że usługa Git rozpoznaje zmianę pliku i prawidłowo ją śledzi. Odkryliśmy, że jest to punkt pomyłek dla wielu klientów, więc pracowaliśmy z ludźmi w Developer Community, aby utworzyć nowe powiadomienie.

powiadomienie Git mv

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Pull żądania wersji roboczych i szablonów 📣

Utwórz wersje robocze żądań ściągnięcia i rozpocznij opisy za pomocą szablonów w witrynie Visual Studio.

Teraz możesz tworzyć wersje robocze żądań ściągnięcia i uruchamiać opisy przy użyciu szablonów GitHub w Visual Studio. Były to dwa najważniejsze żądania dotyczące tworzenia środowiska żądania ściągnięcia.

Wersje robocze żądania ściągnięcia (PRs)

Użyj menu rozwijanego na przycisku Utwórz, aby Utworzyć jako wersję roboczą.

Opcja tworzenia wersji roboczej żądań ściągnięcia

Szablony żądań ściąg

Domyślny szablon żądania ściągnięcia będzie używany podczas tworzenia nowego żądania ściągnięcia zarówno dla GitHub, jak i Azure DevOps. Dowiedz się więcej o dodawaniu szablonu żądania ściągnięcia do repozytorium w dokumentacji GitHub i dokumentacji Azure DevOps.

📣 Zobacz zgłoszenie dotyczące funkcji , aby podzielić się swoją opinią i kontynuować konwersację.I wypełnij tę ankietę, aby poprawić tę funkcję.

Utwórz repozytoria wewnętrzne GitHub 📣

Visual Studio obsługuje teraz tworzenie wewnętrznych repozytoriów i zawiera wskazówki dotyczące każdego typu repozytorium, aby zapewnić większą pewność podczas uruchamiania nowego projektu.

Visual Studio obsługuje teraz wewnętrzne repozytoria dla organizacji GitHub. Dołączyliśmy również wskazówki dotyczące każdego typu repozytorium, aby zapewnić większą przejrzystość widoczności nowego projektu w zależności od używanego konta.

Okno dialogowe Nowe repozytorium

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Copy 📣

Pozysz GitHub lub Azure DevOps link do określonego wiersza kodu, aby ułatwić udostępnianie współpracownikom.

Za każdym razem, gdy udostępniasz współpracownikowi kilka wierszy kodu, często przydaje się im uzyskanie dodatkowego kontekstu z repozytorium. Jeśli jednak pracują nad czymś innym, może to potrwać zbyt długo i sprawdzanie Twojej gałęzi może zakłócić ich pracę.

Teraz możesz wyróżnić kod, który chcesz udostępnić w edytorze, otworzyć menu kontekstowe prawym przyciskiem myszy, a w podmenu Usługi Git uzyskać link do udostępnionego kodu w GitHub lub Azure DevOps. Dzięki temu można łatwo i przyjemnie współpracować, co ułatwia przepływ między środowiskiem IDE i repozytoriami zdalnymi w sieć Web.

Menu kontekstowe kopiowania adresu URL usługi Git

Możesz również uzyskać linki do udostępniania bezpośrednio z historii zatwierdzeń. Dzięki temu odwołanie się do kodu, który nie jest obecnie sprawdzony jest równie bezproblemowe.

Kopiowanie adresu URL usługi Git w oknie repozytorium Git

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Git obsługa wielu repozytoriów 📣

Teraz można tworzyć żądania ściągnięcia i łączyć elementy robocze w scenariuszach obejmujących wiele repozytoriów zarówno w scenariuszach GitHub, jak i Azure DevOps.

Teraz możesz tworzyć żądania ściągnięcia i łączyć elementy robocze w scenariuszach obejmujących wiele repozytoriów. Zarówno w przypadku GitHub, jak i Azure DevOps obsługujemy integracje, gdy używasz selektora repozytorium, aby skoncentrować się na konkretnym repozytorium w scenariuszach obejmujących wiele repozytoriów.

Selektor repozytorium

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Customize 📣

Dodawanie dodatkowych instrukcji do monitu o wygenerowanie komunikatu zatwierdzenia usługi Git za pomocą polecenia GitHub Copilot.

Teraz możesz dodać dodatkowe instrukcje do monitu o wygenerowanie komunikatu zatwierdzenia usługi Git za pomocą GitHub Copilot. Dzięki temu można dostosować wiadomość zatwierdzenia, aby lepiej dopasować przepływ pracy i standardy zespołu. Można określić liczbę wierszy do wygenerowania, długość wierszy, a nawet podać przykładowy styl zatwierdzania. Edytuj komunikat w polu monitu w obszarze Tools > Opcje > GitHub > Copilot > Integracja kontroli źródła.

Dostosowywanie wiadomości usługi Git

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

IDE

Konfiguracja uruchamiania wielu Project📣

Usprawnij debugowanie, konfigurując i zapisując profile uruchamiania dla określonych projektów w ramach rozwiązań wieloprojektowych. Bezproblemowe udostępnianie konfiguracji zespołowi.

Funkcja Konfiguracja uruchamiania wielu Project umożliwia konfigurowanie i zapisywanie profilów uruchamiania określonych projektów w ramach rozwiązania z wieloma project w wstępnie zdefiniowanych stanach na potrzeby debugowania.

Konfiguracja uruchamiania wielu Project

Upraszcza to proces pracy ze złożonymi rozwiązaniami, poprawia wydajność debugowania i umożliwia łatwe udostępnianie konfiguracji między członkami zespołu.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Uwaga

Ta funkcja musi być włączona w obszarze Narzędzia —> zarządzanie funkcjami w wersji zapoznawczej


Ostrzeżenia dotyczące zabezpieczeń MotW

Ostrzeżenia o zabezpieczeniach sieci Web (MotW) są teraz zintegrowane z ogólną funkcjonalnością zaufania.

Visual Studio zostanie wyświetlone ostrzeżenie o zabezpieczeniach, gdy wykryje, że próbujesz otworzyć zawartość oznaczoną identyfikatorem Znacznik sieci Web (MotW).

To nowe ostrzeżenie związane z zaufaniem informuje o ryzyku związanym z otwieraniem zawartości z potencjalnie niebezpiecznych źródeł, takich jak materiały do pobrania z Internetu.

 Okno dialogoweTrust ostrzegające o zagrożeniach bezpieczeństwa otwierania plików do pobrania w sieci Web w Visual Studio

Domyślne środowisko zaufania można zmodyfikować, przechodząc do obszaru Ustawienia zaufania w obszarze Narzędzia > Opcje > środowiska.

Ustawienia zaufania umożliwiają dostosowanie domyślnego środowiska zaufania

Zestaw narzędzi Teams — nowe szablony sztucznej inteligencji

Zestaw narzędzi teams dołącza nowe szablony aplikacji AI Teams.

Zestaw narzędzi Teams dodaje trzy nowe szablony aplikacji sztucznej inteligencji usługi Teams:

Są to:

Szablony aplikacji sztucznej inteligencji usługi Teams

  1. Basic AI Chat Bot — własne Microsoft Teams utworzone za pomocą biblioteki sztucznej inteligencji usługi Teams

  2. Czatuj ze swoimi danymi — inteligentny szablon czatbota z wiedzą o domenie z niestandardowego źródła danych.

    Zestaw narzędzi Teams Umożliwia teraz tworzenie niestandardowych Copilot, który jest czatbotem opartym na sztucznej inteligencji z funkcją RAG, która może zrozumieć język naturalny i pobrać dane domeny w celu udzielenia odpowiedzi na pytania specyficzne dla domeny. Ten szablon obsługuje dostęp do danych niestandardowych w aplikacja Copilot niestandardowych.

    Po wybraniu tego szablonu możesz wybrać dwa sposoby nawiązywania połączenia z danymi:

    a. Wyszukiwanie AI platformy Azure: czatbot może uzyskiwać dostęp do danych w usłudze Azure AI search i używać go w konwersacji z użytkownikami.

    b. Dostosowe źródło danych: możesz dodać dowolne źródło danych, które ma być niestandardowe aplikacja Copilot, na przykład system plików lub wektor db.

  3. Agent sztucznej inteligencji — agent sztucznej inteligencji w usłudze Teams, który może podejmować decyzje i wykonywać akcje na podstawie rozumowania LLM.

Wypróbuj nowe szablony aplikacji sztucznej inteligencji, aby rozpocząć podróż ze sztuczną inteligencją w usłudze Teams!

Copy plików między wystąpieniami 📣

Można teraz kopiować pliki i foldery z Eksplorator rozwiązań w jednym wystąpieniu Visual Studio do innego.

Z przyjemnością przedstawiamy bardzo żądaną funkcję w Visual Studio! Teraz możesz bezproblemowo kopiować i wklejać pliki kodu i foldery między różnymi wystąpieniami Visual Studio przy użyciu Eksplorator rozwiązań. Po prostu wybierz żądany plik lub folder, użyj Ctrl+C lub Ctrl+X, przejdź do innego wystąpienia Visual Studio i użyj polecenia Ctrl+V aby uwzględnić te pliki lub foldery w nowym Rozwiązanie. Wszystkie zmiany zostaną dokładnie odzwierciedlone w systemie plików.

Oprócz kopiowania i wklejania można również przeciągać pliki i foldery z jednego wystąpienia Visual Studio do innego.

Copy plików między wystąpieniami Visual Studio

Wcześniej ta funkcja była dostępna tylko dla kilku typów projektów, ale teraz rozszerzyliśmy ją tak, aby zawierała wszystkie główne typy projektów w Visual Studio.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Chmura

Azure App Service opublikować aktualizacje zabezpieczeń

Publishing w celu bezpiecznego Azure App Service przy użyciu zintegrowanych aktualizacji zabezpieczeń.

Azure App Service publishing guidance zaleca klientom wyłączenie uwierzytelniania podstawowego i włączenie publikowania za pomocą zintegrowanego uwierzytelniania.

Bezpieczne publikowanie narzędzi Azure Tools

Nowa funkcja w Visual Studio 2022 wyłącza uwierzytelnianie podstawowe i umożliwia zintegrowane zabezpieczenia publikowania w Azure App Service. Gwarantuje to bezpieczną obsługę poświadczeń publikowania, co zmniejsza ryzyko związane z uwierzytelnianiem podstawowym.

Podczas publikowania w Azure App Service z włączonym uwierzytelnianiem podstawowym (not zalecane) użytkownicy zobaczą Włącz uwierzytelnianie podstawowe i zostaną one domyślnie niezaznaczone. Klienci, którzy muszą zachować uwierzytelnianie podstawowe, mogą zaznaczyć to pole wyboru, ale biorąc pod uwagę rekomendację, aby uwierzytelnianie podstawowe było wyłączone, jest ono domyślnie niezaznaczone. Dlatego start secure jeśli jest to pierwszy raz publikowania lub get secure po zakończeniu procesu publikowania po zaktualizowaniu Visual Studio.

Azure Tools Secure Publish Disabled (Narzędzia Azure Secure Publish Disabled)

Jeśli aplikacja internetowa została utworzona niedawno za pośrednictwem portalu lub tej lub dowolnej przyszłej wersji Visual Studio, uwierzytelnianie podstawowe będzie domyślnie wyłączone. W przypadku każdej aplikacji internetowej, w której uwierzytelnianie podstawowe jest wyłączone, zapobiegamy przypadkowemu zmniejszeniu bezpieczeństwa aplikacji internetowej, całkowicie wyłączając pole wyboru, dzięki czemu zachowujesz bezpieczeństwo.

Włączono bezpieczne publikowanie narzędzi Azure Tools

Azure 📣

Publishing to Azure WebJobs w systemie Linux jest teraz obsługiwane przez kliknięcie prawym przyciskiem myszy pozycji Publikuj w witrynie Visual Studio.

Aplikacje konsolowe dla wielu platform .NET 5.0 lub nowsze są obsługiwane w usłudze Azure WebJobs Linux, a teraz możesz kliknąć prawym przyciskiem myszy opublikować kod, aby Azure zadania WebJob w systemie Linux również z Visual Studio!

Okno dialogowe Publikowanie z wyświetlonym elementem docelowym systemu Linux

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Azure Functions Flex Consumption

Publish, aby Azure plan hostingu Flex Consumption, obecnie w wersji zapoznawczej.

Jeśli próbujesz skorzystać z nowego planu hostingu Azure Functions Flex Consumption, obecnie w wersji zapoznawczej, możesz kliknąć prawym przyciskiem myszy pozycję Publikuj w aplikacji Flex z Visual Studio.

Plan Elastyczne zużycie dodatkowo rozszerzy funkcjonalność aplikacji i zapewni następujące możliwości:

  • Virtual Network integracji bez dodatkowych kosztów
  • Szybkie i przewidywalne skalowanie z wyborem rozmiaru wystąpienia i kontrolą współbieżności wystąpień
  • Bezserwerowe działanie ze skalowaniem do zera — płacisz tylko za wystąpienia, gdy są aktywne
  • Ograniczenie ryzyka zimnego startu z opcjonalną funkcją wystąpień Zawsze gotowe

Dowiedz się więcej na temat flex consumption w announcement wpis w blogu lub dokumentacji i wypróbuj jedną z naszych przykłady.

Azure Functions

Aktualizacja zabezpieczeń usług połączonych

Zabezpieczanie aplikacji i środowisk programistycznych.

W tej aktualizacji usług połączonych można teraz połączyć kod projektu z Azure zasobów, takich jak Azure Storage, bez konieczności używania wpisów tajnych lub parametrów połączenia w kodzie lub konfiguracji.

Teraz nadasz połączeniu nazwę, punkty końcowe są utrwalane w konfiguracji zamiast pełnej parametry połączenia. Oznacza to mniej wpisów tajnych na dysku, więc czas programowania będzie domyślnie bezpieczniejszy i narażony na mniej błędów związanych z zatwierdzaniem wpisów tajnych do kontroli źródła.

Połączenie do okna dialogowego Azure Storage

Używamy również najnowszej Azure SDKs, więc uzyskasz pomoc techniczną dotyczącą nawiązywania połączenia z zasobami Azure przy użyciu logowania Visual Studio (lub Azure CLI) zamiast łączyć się za pośrednictwem parametry połączenia. W przypadku uruchamiania lokalnego kod będzie używać poświadczenia logowania w celu uzyskania dostępu do zasobów. W przypadku uruchamiania w Azure Azure SDK będzie używać tożsamości zarządzanej usługi App Service do uzyskiwania dostępu do zasobów.

Usługi połączone konfigurują wszystko automatycznie i wprowadzają odpowiedni kod do używania zintegrowanej tożsamości zamiast wpisów tajnych. Podczas publikowania aplikacja zostanie skonfigurowana z odpowiednią tożsamością i rolami wymaganymi do uzyskania dostępu do zasobów.

Pulpit nawigacyjny

Improved narzędzia MSIX dla aplikacji platformy UWP w .NET 9 📣

Visual Studio teraz odwołuje się do nowego autonomicznego narzędzia MSIX pojedynczego projektu w celu spakowania aplikacji platformy UWP w wersji .NET 9.

W początkowej wersji zapoznawczej obsługi platformy UWP dla platformy .NET 9 polegaliśmy na zestawie narzędzi WindowsAppSDK w celu udostępnienia narzędzi MSIX do tworzenia pakietów aplikacji przy użyciu konfiguracji pojedynczego projektu (w przeciwieństwie do korzystania z projektu Windows Application Packaging, czyli pliku wapproj). W związku z tym wprowadzono kilka problemów. Głównym z nich jest to, że zależność przechodnia WebView2 z zestawu WindowsAppSDK została automatycznie dodana do wszystkich aplikacji platformy UWP, nawet jeśli nie jest to konieczne.

Teraz w pełni rozdzieliliśmy narzędzia MSIX pojedynczego projektu i opublikowaliśmy go jako nowy autonomiczny pakiet NuGet: Microsoft.Windows. SDK. BuildTools.MSIX. Obejmuje to wszystkie elementy potrzebne do kompilowania, wdrażania i uruchamiania aplikacji platformy UWP na .NET 9, a także generowania pakietów MSIX do publikowania w Microsoft Store lub ładowania bezpośredniego. Narzędzie platformy UNIWERSALNEJ systemu Windows w .NET 9 w Visual Studio automatycznie doda te dwa odwołania do pakietu w razie potrzeby:

Narzędzia MSIX

Oba te elementy w pełni usuwają zależność przechodnią WebView2 i błąd kompilacji, który był obecny dla nowych projektów w poprzednich wersjach zapoznawczych, gdy nie należy ręcznie ustawiać właściwości WindowsSdkPackageVersion w pliku csproj. Dzięki tej zmianie nowe projekty będą kompilować i uruchamiać bez konieczności wprowadzania dodatkowych zmian.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Enhanced Wyszukiwanie składników WinUI

Konfigurowanie projektu WinUI usługi WinUI z ulepszonym wyszukiwaniem instalatora Visual Studio, upraszczając lokalizację składników dla deweloperów.

Jeszcze bardziej usprawnij konfigurację projektu WinUI dzięki najnowszej aktualizacji instalatora Visual Studio! Deweloperzy mogą teraz szybko zlokalizować składniki związane z interfejsem WinUI, zapominając o frustrującym poruszaniu się po pustych wynikach wyszukiwania. Ulepszenie to upraszcza konfigurację środowiska deweloperskiego, pozwalając na bardziej intuicyjne i wydajne środowisko użytkownika.

 Obraz przedstawiający nowe wyszukiwanie poszczególnych składników WinUI w instalatorze Visual Studio

Otwórz instalator Visual Studio, przejdź do Individual components tabulator i wyszukaj słowa kluczowe powiązane z WinUI (WinUI, WinRT)!

.NET 9 zestaw SDK dla platformy UWP 📣

Visual Studio zawiera teraz zestaw SDK platformy .NET 9 z obsługą platformy UWP poza pakietem box.

Jedną z czynności niezbędnych do wykonania w celu wypróbowania platformy UWP w .NET 9 w początkowej wersji zapoznawczej było zainstalowanie nocnej kompilacji zestawu SDK .NET 9. W tej nowej wersji Visual Studio nie jest to już potrzebne.

Visual Studio zawiera teraz zestaw SDK .NET 9, który ma całą nową obsługę platformy UWP w .NET 9 (w szczególności logikę w celu odwołowania się do projekcji XAML platformy UWP oraz do konfigurowania csWinRT pod kątem typów projektów dla aplikacji XAML platformy UWP). Teraz można kompilować i uruchamiać platformę UWP w projektach platformy .NET 9 przy użyciu zestawu SDK .NET, który jest automatycznie instalowany przy użyciu Visual Studio.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Uproszczony plik csproj dla platformy UWP 📣

UseUwpTools jest teraz automatycznie ustawiany przez Visual Studio dla nowoczesnych projektów platformy UWP w .NET 9.

Aplikacje i biblioteki platformy UWP korzystające z .NET 9 używane do wymagania dwóch właściwości w plikach csproj: UseUwp, który konfiguruje zestaw SDK .NET dla aplikacji XAML platformy UWP i UseUwpTools, co umożliwia tworzenie i uruchamianie wszystkich nowych narzędzi w Visual Studio do kompilowania i uruchamiania aplikacji XAML platformy UWP.

Właściwość UseUwpTools jest teraz automatycznie ustawiana przez Visual Studio po ustawieniu UseUwp, aby plik csproj był mniej pełny w typowym scenariuszu. W przypadku zaawansowanych scenariuszy nadal można zrezygnować, ręcznie wyłączając polecenie UseUwpTools.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Identyfikatory RID dla platformy UWP w .NET 9 stałe📣

UWP w bibliotekach klas .NET 9 poprawnie ustaw identyfikatory IDENTYFIKATORów na odpowiednie wartości dla wartości Native AOT.

Usunęliśmy usterkę w narzędziu APPX dla bibliotek klas platformy UWP (i składników WinRT) w .NET 9, która domyślnie stosuje identyfikatory środowiska uruchomieniowego platformy UWP na platformie .NET Native (tj. przy użyciu prefiksu win10- i dołączania platform, które nie są już obsługiwane, takich jak arm).

Narzędzia APPX domyślnie ustawią odpowiednie identyfikatory JEDNOSTKI ZAREZERWOWANE dla projektów .NET 9: win-x86;win-x64;win-arm64. Nadal można ręcznie je określić, jeśli jest to konieczne.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

UWP tworzenie projektu naprawiono 📣

Właszczyliśmy Kreatora szablonu uniwersalnego, który powodował, że okno dialogowe błędu nie było już wyświetlane podczas tworzenia nowej platformy UWP w projektach .NET 9.

Jeśli używasz preview VSIX z nowymi szablonami projektów dla platformy UWP w .NET 9, być może zauważysz, że okno dialogowe błędu było wyświetlane prawidłowo podczas tworzenia nowego projektu. Było to szczególnie problematyczne podczas tworzenia nowego rozwiązania, ponieważ Visual Studio nie otworzy go poprawnie po utworzeniu projektu. Ten problem został rozwiązany i utworzenie nowych projektów przeznaczonych dla platformy UNIWERSALNEJ systemu Windows w .NET 9 będzie teraz działać poprawnie.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

sieć Web

Zmienne żądania w plikach HTTP 📣

Pliki HTTP obsługują teraz zmienne żądania. W tym miejscu możesz wysłać żądanie, a następnie użyć danych z odpowiedzi lub żądania w przyszłych żądaniach.

Podczas pracy z plikami HTTP typowy scenariusz wywołuje punkt końcowy, przyjmuje wartość z odpowiedzi i wysyła w kolejnym żądaniu. Możesz na przykład wywołać punkt końcowy, aby uwierzytelnić użytkownika, a następnie w późniejszych wywołaniach możesz przekazać token, który został zwrócony z punktu końcowego logowania. Przed tą wersją nie było to możliwe w Visual Studio. W poniższym fragmencie kodu możesz zobaczyć przykład działania tego kodu w pliku HTTP.

# @name login
POST {{TodoApi_HostAddress}}/users/token
Content-Type: application/json

{
  "username": "{{myusername}}",
  "password": "{{mypassword}}"
}

###

GET {{TodoApi_HostAddress}}/todos
Authorization: Bearer {{login.response.body.$.token}}

###

W powyższym fragmencie kodu występują dwa żądania, pierwsze wywołanie do punktu końcowego /users/token w celu uwierzytelnienia użytkownika. Bezpośrednio nad wierszem żądania zobaczysz komentarz # @name login. Ta składnia nadaje żądaniu nazwę (login w tym przypadku) i konfiguruje ją jako zmienną żądania. Po wysłaniu żądania można uzyskać dostęp do wartości z odpowiedzi lub żądania w dowolnym przyszłym żądaniu wysyłanym z tego pliku HTTP. Ponieważ jest to żądanie logowania, należy zachować ostrożność w celu zabezpieczenia wpisów tajnych. W Visual Studio mamy obsługę uzyskiwania dostępu do wpisów tajnych w bezpieczny sposób. Zobacz tę sekcję w dokumentacji, aby uzyskać więcej informacji na temat obsługi wpisów tajnych.

Drugie żądanie wywołuje do uwierzytelnionego punktu końcowego, /todos, który zwróci elementy (todo) dla tego użytkownika. W żądaniu token jest przekazywany jako nagłówek z wierszem.

Authorization: Bearer {{login.response.body.$.token}}

Punkt końcowy /users/token zwraca odpowiedź w formacie JSON. Token jest wyodrębniany z wyrażeniem ścieżki JSON, $.token, w treści odpowiedzi. Jeśli używasz punktu końcowego zwracającego kod XML, zamiast wyrażenia ścieżki JSON możesz przekazać wyrażenie XPath. Obsługa Visual Studio została zainspirowana istniejącym rozszerzeniem systemu operacyjnego dla REST Client który jest dostępny dla Visual Studio Code. W tym miejscu możesz dowiedzieć się więcej o zmiennych żądania. Wkrótce dodamy dokumentację, aby omówić tę obsługę w bardziej szczegółowy sposób.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Obsługa narzędzia Vitest w językach JavaScript i TypeScript 📣

W przypadku korzystania z projektów JavaScript i TypeScript można teraz tworzyć przypadki testowe za pomocą narzędzia Vitest.

W przypadku projektów JavaScript i TypeScript (JSTS), projektów z rozszerzeniem .esproj, dodaliśmy obsługę odnajdywania i uruchamiania testów utworzonych za pomocą platformy Vitest. Aby rozpocząć pracę z testami Vitest, w projekcie JSTS dodaj pakiet vitest przy użyciu narzędzia npm w Eksplorator rozwiązań, a następnie zmodyfikuj plik projektu, aby zadeklarował następujące właściwości.

    <JavaScriptTestRoot>test\</JavaScriptTestRoot>
    <JavaScriptTestFramework>Vitest</JavaScriptTestFramework>

Upewnij się, że wartość parametru JavaScriptTestRoot ma poprawną ścieżkę względną do lokalizacji plików testowych.

Dodaj testy do odpowiedniego folderu i utwórz projekt/rozwiązanie. Po wykonaniu tych czynności przypadki testowe powinny być widoczne w Eksploratorze testów.

Eksplorator testów z testami vitest

W Eksploratorze testów można wyświetlić różne przypadki testowe, które zostały odnalezione, i wykonać przypadki testowe.

Nie dodaliśmy jeszcze obsługi debugowania, ale zostanie do wykonane wkrótce. Innym znanym problemem jest to, że w przypadku dwukrotnego kliknięcia przypadku testowego w Eksploratorze testów następuje przeniesienie Cię do pierwszego wiersza pliku, w którym przypadek testowy został zdefiniowany. Będziemy również ulepszać to środowisko.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Wskazówki dotyczące nakładek dla większej liczby języków 📣

obsługa wskazówek Inlay została dodana do języków JavaScript, TypeScript, Python i Razor oraz ustawienia do kontrolowania jego zachowania.

Podpowiedzi w tekście wyświetlają dodatkowe informacje o kodzie źródłowym, który jest renderowany w tekście. Jest to zwykle używane do wyświetlania wywnioskowanych typów, nazw parametrów i innych niejawnych informacji z kodu bezpośrednio w edytorze.

Dodaliśmy obsługę wyświetlania wskazówek inlay w językach JavaScript, TypeScript, Razor i Python. Dodaliśmy również nowe ustawienie, dzięki któremu można dostosować zachowanie podpowiedzi w tych językach. To ustawienie nie ma jeszcze zastosowania do języków C# i C++. Aby włączyć wskazówki dotyczące nakładki dla tych języków, możesz użyć nowego ustawienia w obszarze Narzędzia > Opcje > edytora > tekstu Wszystkie języki > Wskazówki dotyczące nakładki. Nową opcję można zobaczyć na poniższej ilustracji.

Ustawienie globalne dotyczące podpowiedzi w tekście

Istnieją trzy różne wartości dotyczące podpowiedzi w tekście.

  • Zawsze: zawsze pokazuj dotyczące podpowiedzi w tekście.
  • Podczas naciśnięcia Alt+F1: wyświetlane są tylko wskazówki dotyczące nakładki, podczas gdy Alt i F1 są naciskane. Jest to wartość domyślna.
  • Nigdy: Podpowiedzi w tekście nigdy nie są wyświetlane.

W przypadku języków JavaScript i TypeScript istnieje dodatkowa strona opcji konfigurowania zachowania podpowiedzi w tekście. Można je znaleźć w artykule Narzędzia > Opcje > edytora > tekstów JavaScript/TypeScript > Advanced > General.

Te opcje są wyświetlane na poniższej ilustracji.

Globalne ustawienie języka TypeScript dotyczące podpowiedzi w tekście

Domyślnie wszystkie te opcje są wyłączone, należy włączyć podpowiedzi, które chcesz wyświetlić dla plików w językach JavaScript i TypeScript. W przyszłej aktualizacji możemy zmienić wartości domyślne dla tych opcji. Na poniższej ilustracji widać plik w języku JavaScript przedstawiający podpowiedzi w tekście.

Podpowiedzi w tekście

Na poprzednim obrazku podpowiedzi w tekście to szare pola z literą : number wskazującą typ zmiennej.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Środowisko udostępnione plików HTTP 📣

W plikach środowiska HTTP dodaliśmy obsługę współużytkowania zmiennych w różnych środowiskach.

W przypadku używania plików HTTP w Visual Studio można zdefiniować environments aby utworzyć różne ustawienia na potrzeby testowania interfejsu API. Wcześniej udostępnianie zmiennej między tymi środowiskami nie było możliwe. Dodaliśmy obsługę nowego wpisu, $shared, w pliku środowiska, który umożliwia definiowanie wartości domyślnych dla zmiennych, które są dostępne we wszystkich środowiskach.

Rozważmy na przykład poniższy plik środowiska (http-client.env.json).

{
    "$shared": {
        "HostAddress": "https://localhost:7293"
    },
    "dev": {
        "username": "sayedha"
    },
    "dev2": {
        "username": "madsk"
    },
    "staging": {
        "username": "staginuser",
        "HostAddress": "https://sayedrest.example.com"
    }
}

Zdefiniowaliśmy wartości udostępnione w $shared powyżej, które składają się ze zmiennej HostAddress ustawionej na wartość localhost:7293.

Spośród trzech zdefiniowanych środowisk, żadne ze środowisk deweloperskich nie określiło wartości dla HostAddress, ale środowisko przejściowe ma dla niego wartość.

Jeśli używasz środowiska dev lub dev2, wartość dla HostAddress będzie pochodzić od $shared, ponieważ te środowiska nie mają wartości dla HostAddress. W przypadku korzystania ze środowiska przejściowego wartość dla HostAddress zostanie ustawiona na wartość https://sayedrest.example.com.

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Dane

SDK w projektach SQL w stylu SSDT 📣

Format pliku projektu w stylu zestawu SDK można teraz używać w projektach SQL Server Data Tools projects.

Ta aktualizacja dodaje projekty SQL na podstawie Microsoft. Build.Sql SDK, który zapewnia obsługę wielu platform i ulepszone odwołania do pakietów do projektów SQL Server Data Tools (SSDT). Dzięki mniej rozwlekłym plikom projektu i odniesieniom do pakietów NuGet w strukturze baz danych, zespoły mogą wydajniej współpracować nad dużymi bazami danych w jednym projekcie lub kompilować wiele zestawów obiektów z kilku projektów.

Projekt SQL w stylu zestawu SDK w Eksploratorze rozwiązań

Wdrożenia bazy danych z Microsoft. Projekt Build.Sql można zautomatyzować w środowiskach Windows i Linux, w których Microsoft. Narzędzie dotnet sqlPackage publikuje artefakt kompilacji (dacpac) z projektu SQL. Dowiedz się więcej o wersji zapoznawczej projektów SQL w stylu zestawu SDK i metodyce DevOps dla języka SQL.

Microsoft. Zestaw SDK projektu Build.Sql jest open source i opracowywany w GitHub.

Pamiętaj, aby zainstalować najnowszy składnik programu SSDT w wersji zapoznawczej w instalatorze Visual Studio, aby używać projektów SQL w stylu zestawu SDK w rozwiązaniu.

Instalator włącza funkcję SSDT w wersji zapoznawczej

📣 Aby podzielić się swoją opinią i kontynuować rozmowę, zobacz zgłoszenie dotyczące funkcji nr .

Język C++

Ustawianie argumentów wiersza polecenia języka C++

Nowy sposób ustawiania argumentów wiersza polecenia bezpośrednio z paska narzędzi.

Szybko ustaw argumenty wiersza poleceń dla projektu w języku C++ za pomocą nowego elementu paska narzędzi Ustaw argumenty. To pole kombi umożliwia ustawienie argumentów wiersza polecenia bezpośrednio z paska narzędzi, dzięki czemu można szybko zmienić argumenty. Po uruchomieniu projektu wszystkie argumenty wprowadzone w polu zostaną przekazane.

Ten składnik paska narzędzi pojawi się domyślnie, jeśli masz zainstalowaną aplikację Programowanie gier z obciążeniem w języku C++. Jeśli go nie widzisz, możesz go dodać, klikając prawym przyciskiem myszy na pasku narzędzi i wybierając opcję Ustaw argumenty.

Uwaga: ta funkcja jest obecnie dostępna tylko dla projektów Unreal Engine. Ogólne projekty języka C++ będą obsługiwane w przyszłych wersjach.

Ustaw argumenty wiersza poleceń języka C++

Objaśnienia widoku usługi Build Insights

Dowiedz się, jak używać każdej karty usługi Build Insights za pośrednictwem nowo dodanego linku do dokumentacji.

Możesz teraz zobaczyć krótki opis, w jaki sposób można korzystać z każdej karty usługi Build Insights, wraz z linkiem do dokumentacji w celu uzyskania szczegółowych wyjaśnień.

Objaśnienia widoku usługi Build Insights

Dostosowania ścieżki szczegółowych informacji o kompilacji

Uzyskaj jaśniejszy widok pliku w usłudze Build Insights, zobacz pełną ścieżkę po zatrzymaniu wskaźnika myszy.

Ukryliśmy pełne i względne ścieżki, aby zmniejszyć bałagan. Aby zobaczyć pełne ścieżki, wystarczy najechać kursorem na plik. Zobaczysz także nową kolumnę Nazwa pliku zarówno dla plików, jak i jednostek tłumaczeniowych, wyświetlaną domyślnie, aby pomóc Ci szybko zidentyfikować pliki bez analizowania długich ścieżek.

Dostosowania ścieżki usługi Build Insights

Otwórz folder dla projektu uproject aparatu unreal engine

Nowy sposób otwierania projektu.

Dodaliśmy dodatkowy punkt wejścia umożliwiający otwarcie projektu unreal engine z obsługą projektu projektu Visual Studio. Teraz możesz otworzyć projekt uproject bezpośrednio z File menu, wybierając pozycję Otwórz projekt > Unreal Engine... . Spowoduje to otwarcie projektu Unreal Engine w Visual Studio.

Aby uzyskać więcej informacji na temat korzystania z tej funkcji, zobacz Pośrednio edytując .uproject w Visual Studio.

Folder otwierania aparatu Unreal Engine

Ulepszona sygnatura zmiany

Teraz możesz zmienić podpisy za pomocą ulepszonego interfejsu języka C++.

Zaktualizowaliśmy interfejs zmiany podpisu dla języka C++. Teraz możesz dodawać, usuwać i zmieniać kolejność parametrów w sekcji konfiguracji parametrów. Ponadto można zmienić ich kolejność, wybierając i przeciągając je do nowej pozycji.

Metody dostępu pozostają takie same: naciśnij Ctrl+, aby wyzwolić menu Szybkie akcje i refaktoryzacje, a następnie wybierz pozycję Zmień podpis.

Ulepszona zmiana podpisu

Najważniejsze poprawki błędów zgłaszane przez użytkownika

📣 Zobacz pełną listę wszystkich zgłoszonych przez użytkownika [poprawek usterek][poprawki usterek], które trafiły do tej wersji.

Znane problemy

Wersja 17.12.22

Wydany14 lipca 2026 r.

Najważniejsze poprawki błędów Z poziomu społeczności
Zaktualizowano bibliotekę MinGit do wersji 2.54.0.2
Zastosowano się do ostrzeżeń dotyczących zabezpieczeń CVE Opis
luka w zabezpieczeniach dotycząca podniesienia uprawnień .NET CVE-2026-47300 Luka w zabezpieczeniach dotycząca podniesienia uprawnień istnieje w procedurze obsługi uwierzytelniania ASP.NET Core Negotiate, w której narzędzie LdapAdapter nie weryfikuje prawidłowo zapytań LDAP, umożliwiając uwierzytelnionemu atakującemu obejście kontroli autoryzacji.
luka w zabezpieczeniach dotycząca podniesienia uprawnień .NET CVE-2026-47303 Luka w zabezpieczeniach dotycząca podniesienia uprawnień istnieje w procedurze obsługi uwierzytelniania ASP.NET Core Negotiate, w której ldapAdapter myli identyfikatory CN i sAMAccountName, umożliwiając uwierzytelnionemu atakującemu personifikację innego użytkownika.
.NET luka w zabezpieczeniach typu "odmowa usługi" CVE-2026-47302 Luka w zabezpieczeniach typu "odmowa usługi" istnieje w .NET przetwarzaniu XML, gdzie obsługa funkcji EncryptedXml i analizowanie zduplikowanych atrybutów w kodzie XmlTextReader powoduje niekontrolowane użycie zasobów.
Luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń .NET CVE-2026-47304 Luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń istnieje w implementacji szyfrowania XML .NET (System.Security.Cryptography.Xml), umożliwiając atakującemu utworzenie podpisów XML za pośrednictwem pustego klucza HMAC i obejście ochrony podpisów.
.NET luka w zabezpieczeniach typu "odmowa usługi" CVE-2026-50524 W platformie .NET istnieje podatność na odmowę usługi, w wyniku której nieprawidłowo sformowane pakiety TLS podczas uzgadniania połączenia przez System.Net.Security SslStream powodują awarię aplikacji lub zawieszenie jej działania.
Luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń .NET CVE-2026-50528 W platformie .NET występuje luka umożliwiająca obejście funkcji zabezpieczeń, w której implementacja System.Net.Security SslStream ignoruje wiązanie kanału, co umożliwia osobie atakującej obejście kontroli autoryzacji podczas bezpiecznej komunikacji.
.NET luka w zabezpieczeniach typu "odmowa usługi" CVE-2026-50525 Luka w zabezpieczeniach typu "odmowa usługi" istnieje w implementacji szyfrowania XML .NET (System.Security.Cryptography.Xml), w której spreparowany łańcuch przekształceń XML powoduje niekontrolowane użycie zasobów.
.NET luka w zabezpieczeniach typu "odmowa usługi" CVE-2026-50648 Luka w zabezpieczeniach typu "odmowa usługi" istnieje w implementacji szyfrowania XML .NET (System.Security.Cryptography.Xml), w której spreparowany zaszyfrowany kod XML powoduje niekontrolowane użycie zasobów.
.NET luka w zabezpieczeniach typu "odmowa usługi" CVE-2026-50527 Luka w zabezpieczeniach typu "odmowa usługi" istnieje w implementacji szyfrowania XML .NET (System.Security.Cryptography.Xml), gdzie nieprawidłowo zweryfikowane dane wejściowe prowadzą do przepełnienia buforu opartego na stosie.
Podatność .NET na manipulację CVE-2026-50526 W procesie kompilacji obrazu kontenera .NET SDK istnieje luka w zabezpieczeniach polegająca na tym, że przewidywalna, zapisywalna lokalizacja pamięci podręcznej umożliwia lokalnemu atakującemu wstrzyknięcie złośliwych obiektów blob do obrazów kontenerów utworzonych przez innych użytkowników na tej samej maszynie.
.NET luka w zabezpieczeniach typu "odmowa usługi" CVE-2026-50651 W platformie .NET występuje luka w zabezpieczeniach typu „odmowy usługi”, w której atakujący może zasypywać połączenia HTTP/2 obsługiwane przez SocketsHttpHandler ramkami SETTINGS i PING ACK, powodując stan wyczerpania pamięci w komponencie Http2Connection.
luka w zabezpieczeniach .NET fałszowania CVE-2026-50659 W kliencie SMTP platformy .NET (System.Net.Mail) występuje podatność na spoofing, w ramach której przemycanie poleceń SMTP za pomocą sekwencji CRLF rozdzielonych między bufory umożliwia wstrzyknięcie dowolnych poleceń e-mail.
luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu .NET CVE-2026-50646 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje w Windows Presentation Foundation (WPF) podczas analizowania specjalnie spreparowanych danych wejściowych XAML, dzięki czemu osoba atakująca może wykonać dowolny kod w kontekście bieżącego użytkownika.
luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu .NET CVE-2026-50649 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu istnieje w Windows Presentation Foundation (WPF) podczas analizowania specjalnie spreparowanych danych wejściowych XAML, dzięki czemu osoba atakująca może wykonać dowolny kod w kontekście bieżącego użytkownika.
luka w zabezpieczeniach dotycząca podniesienia uprawnień .NET CVE-2026-50650 Luka w zabezpieczeniach dotycząca podniesienia uprawnień istnieje w Windows Presentation Foundation (WPF) podczas analizowania specjalnie spreparowanych danych wejściowych XAML, co umożliwia atakującemu podniesienie uprawnień w systemie, którego dotyczy problem.

Wersja 17.12.21

Wydany9 czerwca 2026 r.

Zastosowano się do ostrzeżeń dotyczących zabezpieczeń CVE Opis
Luka w zabezpieczeniach dotycząca uszkodzenia pamięci SQLite CVE-2025-6965 Istnieje luka w zabezpieczeniach w wersjach SQLite przed wersją 3.50.2, w której liczba zagregowanych terminów może przekroczyć liczbę dostępnych kolumn. Może to prowadzić do problemu z uszkodzeniem pamięci.
Luka w zabezpieczeniach dotycząca podniesienia uprawnień zestawu SDK .NET CVE-2026-45490 dotnet.exe podniesienie poziomu obciążenia — dowolne tworzenie/obcinanie plików za pośrednictwem pliku LogFile o nazwie pipe umożliwia nieautoryzowanemu atakującemu lokalne podniesienie uprawnień.
Luka w zabezpieczeniach związana z możliwością manipulacji w platformie .NET Core CVE-2026-45491 Przechodzenie ścieżki symlinku w pliku System.Formats.Tar umożliwia dowolne zapisywanie plików podczas wyodrębniania wpisów tar.
ASP.NET Core — podatność na atak typu odmowa usługi CVE-2026-45591 Stos overflow DoS za pośrednictwem głęboko zagnieżdżonych tablic MessagePack w usługach SignalR i Blazor Server.

Wersja 17.12.20

Wydany12 maja 2026 r.

Zastosowano się do ostrzeżeń dotyczących zabezpieczeń CVE Opis
Luka w zabezpieczeniach dotycząca uszkodzenia pamięci SQLite CVE-2025-6965 Istnieje luka w zabezpieczeniach w wersjach SQLite przed wersją 3.50.2, w której liczba zagregowanych terminów może przekroczyć liczbę dostępnych kolumn. Może to prowadzić do problemu z uszkodzeniem pamięci.
Luka w zabezpieczeniach związana z możliwością manipulacji w platformie .NET Core CVE-2026-32175 Luka w zabezpieczeniach umożliwiająca manipulowanie występuje, gdy .NET Core nieprawidłowo obsługuje specjalnie spreparowane pliki.
luka w zabezpieczeniach dotycząca podniesienia uprawnień .NET CVE-2026-32177 Przepełnienie buforu opartego na stercie w .NET umożliwia nieautoryzowanemu atakującemu lokalne podniesienie uprawnień.
luka w zabezpieczeniach dotycząca podniesienia uprawnień .NET CVE-2026-35433 Niewłaściwa weryfikacja danych wejściowych w .NET umożliwia nieautoryzowanemu atakującemu lokalne podniesienie uprawnień.
ASP.NET Core — podatność na atak typu odmowa usługi CVE-2026-42899 Pętla z niemożliwym do osiągnięcia warunkiem wyjścia ("nieskończona pętla") w ASP.NET Core umożliwia nieautoryzowanemu atakującemu odmowę usługi za pośrednictwem sieci.

Wersja 17.12.19

Wydany14 kwietnia 2026 r.

Najważniejsze poprawki błędów Z poziomu społeczności
Aktualizacja wersji Node.js dla programu VS2022 bilet opinii
Zastosowano się do ostrzeżeń dotyczących zabezpieczeń CVE Opis
.NET luka w zabezpieczeniach typu "odmowa usługi" CVE-2026-26171 Luka w zabezpieczeniach istnieje w klasie EncryptedXml, w której niekontrolowane użycie zasobów może dać atakującemu możliwość przeprowadzenia ataku typu "odmowa usługi".
luka w zabezpieczeniach .NET fałszowania CVE-2026-32178 Niewłaściwa neutralizacja specjalnych elementów w .NET umożliwia nieautoryzowanemu atakującemu wykonywanie fałszowania za pośrednictwem sieci.
Luka w zabezpieczeniach dotycząca uszkodzenia pamięci SQLite CVE-2025-6965 Istnieje luka w zabezpieczeniach w wersjach SQLite przed wersją 3.50.2, w której liczba zagregowanych terminów może przekroczyć liczbę dostępnych kolumn. Może to prowadzić do problemu z uszkodzeniem pamięci.
Node.js luka w zabezpieczeniach protokołu TLS DoS CVE-2026-21637 Usterka w obsłudze błędów protokołu Node.js TLS umożliwia zdalnym osobom atakującym awarię lub wyczerpanie zasobów serwera TLS, gdy pskCallback lub ALPNCallback są w użyciu.
Visual Studio luka w zabezpieczeniach dotycząca ujawniania informacji CVE-2026-32631 Luka w zabezpieczeniach umożliwiająca ujawnienie informacji istnieje w usłudze MinGit z powodu wycieku skrótu NTLM do niezaufanego serwera.

Wersja 17.12.18

Wydany10 marca 2026 r.

Zastosowano się do ostrzeżeń dotyczących zabezpieczeń CVE Descritpion
.NET luka w zabezpieczeniach typu "odmowa usługi" CVE-2026-26130 Luka w zabezpieczeniach typu "odmowa usługi" istnieje w ASP.NET Core z powodu niekontrolowanego użycia zasobów.
luka w zabezpieczeniach dotycząca podniesienia uprawnień .NET CVE-2026-26131 Luka w zabezpieczeniach dotycząca podniesienia uprawnień istnieje w .NET z powodu nieprawidłowej autoryzacji.
Visual Studio luka w zabezpieczeniach dotycząca ujawniania informacji CVE-2025-66413 Luka w zabezpieczeniach umożliwiająca ujawnienie informacji istnieje w usłudze MinGit z powodu wycieku skrótu NTLM do niezaufanego serwera.

Wersja 17.12.17

Wydany10 lutego 2026 r.

Zastosowano się do ostrzeżeń dotyczących zabezpieczeń CVE Descritpion
Luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń .NET CVE-2026-21218 Ta aktualizacja zabezpieczeń eliminuje lukę w zabezpieczeniach polegającą na niewłaściwej obsłudze brakującego elementu specjalnego w .NET i Visual Studio umożliwia autoryzowanemu atakującemu wykonywanie fałszowania za pośrednictwem sieci.

Wersja 17.12.16

Wydany13 stycznia 2026 r.

Najważniejsze poprawki błędów Z poziomu społeczności
GitHub Copilot: niepowodzenie uwierzytelniania podczas korzystania z modelu automatycznego bilet opinii

Wersja 17.12.15

Wydany9 grudnia 2025 r.

Najważniejsze poprawki błędów Z poziomu społeczności
Nie można uruchomić Visual Studio 2022 LTSC 17.12 bilet opinii
Oznaczono składnik Windows 10 SDK (wersja 10.0.19041.0) jako brak obsługi w instalatorze Visual Studio.

Wersja 17.12.14

Wydany11 listopada 2025 r.

Najważniejsze poprawki błędów Z poziomu społeczności
Nowe aktualizacje Visual Studio 2022 obejmują bibliotekę LibCurl, która przerywa działanie usługi Git bilet opinii

Wersja 17.12.13

Wydany14 października 2025 r.

Najważniejsze poprawki błędów Z poziomu społeczności
Menedżer pakietów Nuget dla Project -> Connect to Feed Spam bilet opinii
Zaktualizowano aplikację MinGit do wersji 2.50.1, aby rozwiązać problem polegający na tym, że użytkownicy z repozytoriami znajdującymi się na woluminach systemu plików ReFS i Windows Server 2022 nie mogli wykonywać operacji git za pomocą środowiska VS IDE. bilet opinii
Zastosowano się do ostrzeżeń dotyczących zabezpieczeń CVE Descritpion
luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu Visual Studio CVE-2025-55240 Ta aktualizacja zabezpieczeń usuwa niezaufaną lukę w zabezpieczeniach umożliwiającą zdalne wykonywanie kodu ścieżki wyszukiwania w pliku Gulpfile
Luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń .NET CVE-2025-55315 Ta aktualizacja zabezpieczeń usuwa lukę w zabezpieczeniach umożliwiającą przemyt żądań HTTP z powodu nieprawidłowego analizowania rozszerzenia fragmentu
.NET luka w zabezpieczeniach dotycząca ujawniania informacji CVE-2025-55248 Ta aktualizacja zabezpieczeń usuwa lukę w zabezpieczeniach, w której klient SmtpClient może nawiązać połączenie bez protokołu TLS, nawet jeśli parametr UseSsl ma wartość true

Wersja 17.12.12

Wydany9 września 2025 r.

Najważniejsze poprawki błędów Z poziomu społeczności
środowisko uruchomieniowe .NET zostało zaktualizowane do wersji 8.0.20 i 9.0.9 oraz zestawu SDK .NET do wersji 9.0.110

Wersja 17.12.11

Wydany12 sierpnia 2025 r.

Najważniejsze poprawki błędów Z poziomu społeczności
Następujące wersje zestawu SDK Windows zostały usunięte z instalatora Visual Studio 2022: 10.0.18362.0, 10.0.20348.0 i 10.0.22000.0. Jeśli wcześniej zainstalowano jedną z tych wersji zestawu SDK przy użyciu Visual Studio zostanie on odinstalowany podczas aktualizacji. Jeśli projekt jest przeznaczony dla dowolnego z tych zestawów SDK, może wystąpić błąd kompilacji, taki jak: Nie można odnaleźć zestawu SDK Windows w wersji 10.0.22000.0. Zainstaluj wymaganą wersję zestawu SDK Windows lub zmień wersję zestawu SDK na stronach właściwości projektu lub klikając rozwiązanie prawym przyciskiem myszy i wybierając pozycję "Rozwiązanie retarget". Aby rozwiązać ten problem, zalecamy ponowne utworzenie projektu na 10.0.26100.0 lub wcześniejszej obsługiwanej wersji, jeśli jest to konieczne. Aby uzyskać pełną listę obsługiwanych wersji zestawu SDK, odwiedź stronę: https://developer.microsoft.com/windows/downloads/sdk-archive/. Jeśli musisz zainstalować nieobsługiwaną wersję zestawu SDK, możesz ją znaleźć tutaj: https://developer.microsoft.com/windows/downloads/sdk-archive/index-legacy/.

Wersja 17.12.10

Wydany8 lipca 2025 r.

Zastosowano się do ostrzeżeń dotyczących zabezpieczeń CVE Descritpion
Visual Studio — podniesienie uprawnień CVE-2025-49739 Czas sprawdzania czasu użycia w usłudze modułu zbierającego w warstwie Standardowa umożliwia eskalację uprawnień lokalnych
Luka w zabezpieczeniach argumentów usługi Gitk CVE-2025-27613 Luka w zabezpieczeniach argumentów usługi Gitk
Luka w zabezpieczeniach dotycząca wykonywania kodu w usłudze Gitk CVE-2025-27614 Luka w zabezpieczeniach dotycząca wykonywania kodu w usłudze Gitk
Luka w zabezpieczeniach złośliwej powłoki git CVE-2025-46334 Luka w zabezpieczeniach złośliwej powłoki git
Luka w zabezpieczeniach dotycząca zastępowania plików Git CVE-2025-46835 Luka w zabezpieczeniach dotycząca zastępowania plików Git
Luka w zabezpieczeniach narzędzia Git Symlink CVE-2025-48384 Luka w zabezpieczeniach narzędzia Git Symlink
Luka w zabezpieczeniach dotycząca iniekcji protokołu Git CVE-2025-48385 Luka w zabezpieczeniach dotycząca iniekcji protokołu Git
Luka w zabezpieczeniach pomocnika poświadczeń usługi Git CVE-2025-48386 Luka w zabezpieczeniach pomocnika poświadczeń usługi Git

Wersja 17.12.9

Wydany10 czerwca 2025 r.

Najważniejsze poprawki błędów Z poziomu społeczności
Pokrycie sanitizer tworzy nieprawidłowe generowanie kodu bilet opinii
Nieprawidłowe generowanie kodu podczas zapisywania danych w tablicy std::array bilet opinii
Niepowodzenie przechwytywania atol_static usługi ASAN bilet opinii
Zaktualizowano instalator programu VS, aby zawierał najnowsze wersje obsługi dla zestawu SDK Windows w wersji 10.0.19041.0 i 10.0.22621.0.
Zastosowano się do ostrzeżeń dotyczących zabezpieczeń CVE Descritpion
luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu Visual Studio CVE-2025-47959 Niewłaściwa neutralizacja elementów specjalnych używanych w poleceniu ('iniekcja polecenia') w Visual Studio umożliwia autoryzowanemu atakującemu wykonywanie kodu za pośrednictwem sieci.
Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu .NET i Visual Studio CVE-2025-30399 Niezaufana ścieżka wyszukiwania w .NET i Visual Studio umożliwia nieautoryzowanemu atakującemu wykonywanie kodu za pośrednictwem sieci.

Wersja 17.12.8

Wydany13 maja 2025 r.

Najważniejsze poprawki błędów Z poziomu społeczności
Ostatnia aktualizacja Visual Studio powoduje awarię aplikacji, która działała dobrze podczas kompilowania przy użyciu poprzednich wersji programu VS. bilet opinii
Rozwiązano problem z nowoczesnymi zasadami kontroli wersji serwera teamvc zapytania, który uniemożliwił pobranie nazwy projektu. Ponadto rozwiązano problem z zasadami ewidencjonowania zabronionych wzorców kontroli wersji serwera Team Foundation, który spowodował, że wzorce były "zapomniane" przez zasady po jego utworzeniu. bilet opinii
Rozwiązanie problemu z narzędziem do oczyszczania w wersji może powodować błędy bilet opinii
Niepoprawna generacja kodu z /arch:SSE4.2 (generuje nieprawidłowe wstawki natychmiastowe) bilet opinii
Naprawiono przekierowanie powiązania dla zestawu System.Reflection.MetadataLoadContext, dzięki czemu program VS Code i rozszerzenia mogą odwoływać się do starszych wersji tego zestawu i nadal działać prawidłowo w procesie devenv.exe.
Naprawiono sporadyczne błędy w zestawie narzędzi języka C++, które manifestują się jako D8000: UNKNOWN COMMAND LINE błędy bilet opinii
Rozwiązano problem w celu zapobieżenia ponownemu porządkowaniu instrukcji AVX na ścieżce wykonywania przeznaczonej tylko dla SSE2. bilet opinii
Naprawiono błąd dotyczący nieobsługiwanego kontekstu w oknie Kontenery.
Zastosowano się do ostrzeżeń dotyczących zabezpieczeń CVE
Dostęp do śledzenia ETW nie jest znany przez administratora instalowania programu VS na maszynie CVE-2025-32703
Zdalne wykonywanie kodu z powodu kucania pakietu NuGet CVE-2025-32702
.NET — Fałszowanie — podniesienie uprawnień w domyślnych zachowaniach zadań DownloadFile programu msbuild CVE-2025-26646

Wersja 17.12.7

Wydany8 kwietnia 2025 r.

Najważniejsze poprawki błędów Z poziomu społeczności
Dodano obsługę nowoczesnych zasad ewidencjonowania kontroli wersji serwera TEAMVC, a także wskazówek i ostrzeżeń, gdy są stosowane przestarzałe zasady ewidencjonowania kontroli wersji serwera TEAMVC.
Usterka warunku wyścigu VisualCppTools/ppltasks.h w when_any bilet opinii
Naprawiono błąd linku arm64EC nierozwiązany zewnętrzny #_guard_dispatch_icall_$fo$ bilet opinii
Zastosowano się do ostrzeżeń dotyczących zabezpieczeń CVE
Visual Studio node.js luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu ścieżki wyszukiwania niezaufanej CVE-2025-29802
Visual Studio luką w zabezpieczeniach zdalnego wykonywania kodu ścieżki wyszukiwania w systemie Android JDK CVE-2025-29804
ASP.NET Core 8 odmowa usługi przy użyciu protokołu HTTP/3 CVE-2025-26682

Wersja 17.12.6

wydany 11 marca 11, 2025

Najważniejsze poprawki błędów Z poziomu społeczności
Rozwiązano niepoprawny problem z inicjowaniem niektórych struktur z elementami członkowskimi o zerowym rozmiarze.
Rozwiązanie Address Sanitizer (ASan) łączy się teraz z OneCoreUAP_apiset.libbiblioteką parasolową, a nie bezpośrednio z bibliotekami Win32. Oznacza to, że usługa ASan jest bardziej przenośna w wielu wersjach i urządzeniach systemu operacyjnego. Jeśli kod przechodnio zależy od modułów Win32 wniesionych przez rozwiązanie ASan (niezalecane), może to być zmiana powodująca niezgodność. W takich przypadkach zalecamy połączenie programu bezpośrednio z niezbędnymi bibliotekami zależności Win32. bilet opinii
Rozwiązano problem polegający na tym, że zmiana nazwy w języku C# polegała na tym, że cały identyfikator został wybrany podczas udostępniania sugestii zmiany nazwy. Spowoduje to zastąpienie wyboru dewelopera i może prowadzić do mistypingu, zwłaszcza jeśli deweloper przeniósł daszek w interfejsie zmiany nazwy wbudowanej. Teraz sugestie dotyczące zmiany nazwy Copilot nie zmienią zaznaczenia w wbudowanym interfejsie zmiany nazwy. bilet opinii
Rozwiązano problem polegający na tym, że instrumentowane biblioteki DLL zostały rozładowane podczas wykonywania testu danych wejściowych rozmytego, spowoduje wystąpienie fałszywie dodatniego raportu o błędzie ASan i awarii. bilet opinii
X86 ICE ponownie po zaktualizowaniu danych optymalizacji PGO bilet opinii
Rozwiązano problem polegający na tym, że klienci z sprzętem graficznym Firmy Intel mogli napotkać opóźnienie przewijania w edytorze po wyzwoleniu podglądu obrazu po umieszczeniu wskaźnika myszy. bilet opinii
VS2022 Professional — nie można zalogować się do konta m bilet opinii
Usunięto listę rozwijaną argumentów wiersza polecenia, aby ograniczyć zawieszenie interfejsu użytkownika w środowisku aparatu Unreal Engine.
Projekty Blazor przerywają działanie funkcji IntelliSense 17.12.2 bilet opinii
Zastosowano się do ostrzeżeń dotyczących zabezpieczeń CVE
luka w zabezpieczeniach dotycząca podniesienia uprawnień Visual Studio CVE-2025-25003
luka w zabezpieczeniach dotycząca podniesienia uprawnień .NET CVE-2025-24070
Luka w zabezpieczeniach dotycząca podniesienia uprawnień instalatora Visual Studio CVE-2025-24998

Wersja 17.12.5

Wydany11 lutego 2025 r.

Najważniejsze poprawki błędów Z poziomu społeczności
Rozwiązano problem polegający na tym, że czasami narzędzie Użycie procesora CPU nie wyświetlało wyników, mimo że wcześniej przechwycone dane.
Code Analysis MSVC może teraz wykrywać użycie zwisanych wskaźników wskazujących zasoby w obiektach tymczasowych, które są niszczone podczas używania na liście inicjatorów tablicy. bilet opinii
Błąd z projektem String::Format w projekcie biblioteki klas CLR języka C++ (.NET) bilet opinii
Regresja w wersji 17.12.0: Niepowodzenie podstawiania jest błędem C3699 podczas kompilowania z /CLR bilet opinii
Zaktualizowano zestaw WINDOWS 11 SDK (10.0.26100.0) zainstalowany przez Visual Studio kompilacji obsługi ze stycznia 2025 r.
Usunięto usterkę w optymalizatorze, która prowadziła do nieprawidłowego generowania kodu i była zauważana podczas wpływania na funkcję std::sort, kiedy była wywoływana z korutyny.
Zastosowano się do ostrzeżeń dotyczących zabezpieczeń CVE
Visual Studio instalator podniesienia uprawnień — element niekontrolowanych ścieżek wyszukiwania umożliwia nieautoryzowanemu atakującemu lokalne podniesienie uprawnień. CVE-2025-21206

Wersja 17.12.4

wydany 14 stycznia 14, 2025

Najważniejsze poprawki błędów Z poziomu społeczności
Rozwiązano problem niezgodności między programem Live++ (narzędziem Przeładowywanie na gorąco C++ innej firmy) i Visual Studio 2022. bilet opinii
Rozwiązano problem polegający na zawieszaniu się we wszystkichIn-One wyszukiwania (Ctrl+T, Ctrl+Q). bilet opinii
Visual Studio Debuger nie może wyświetlić wartości w oknie "Ustawienia lokalne". bilet opinii
Usunięto usterkę powodującą natychmiastowe awarie i zamknięcie programu VS podczas otwierania Menedżer pakietów NuGet, jeśli rozmiar okienka szczegółów po prawej stronie był bardzo mały. bilet opinii
Rozwiązano problem polegający na tym, że zatrzymanie wskaźnika myszy na pliku platformy Docker mogło spowodować zawieszenie programu VS.
Rozwiązano problem z niepoprawną inicjacją niektórych struktur z elementami członkowskimi o zerowym rozmiarze.
Rozwiązano problem polegający na tym, że obiekty docelowe x86 polegały na tym, że rejestry ramek używane podczas kohroutyn mogły nie być poprawnie załadowane ponownie. bilet opinii
Program VS obejmuje teraz program MAUI 8.0.100 (SR10); MAUI 9.0.14 (SR1.4)
Naprawiono migotanie koloru składni podczas przewijania za pomocą https://github.com/dotnet/roslyn/pull/75796||
Zastosowano się do ostrzeżeń dotyczących zabezpieczeń CVE
Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu .NET i Visual Studio CVE-2025-21172
.NET, .NET Framework i luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu Visual Studio CVE-2025-21176
luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu Visual Studio CVE-2025-21178
Znak powrotu karetki w zdalnym adresie URL umożliwia złośliwemu repozytorium wyciek poświadczeń CVE-2024-50338
luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu .NET CVE-2025-21171
(Tylko system Linux) luka w zabezpieczeniach dotycząca podniesienia uprawnień .NET CVE-2025-21173
luka w zabezpieczeniach dotycząca podniesienia uprawnień Visual Studio CVE-2025-21405

Wersja 17.12.3

wydany 3 grudniard, 2024

Najważniejsze poprawki błędów Z poziomu społeczności
Błędy narzędzia NuGet po uaktualnieniu z programu VS w wersji 17.11.6 do wersji 17.12 z .NET 9. bilet opinii
Komunikaty prywatnego aparatu Unity niepoprawnie oznaczone jako nieużywane IDE0051. bilet opinii
Funkcja IntelliSense przestała działać w projekcie Word C++. bilet opinii
Rozwiązano problem polegający na tym, że znaki mogły być zduplikowane podczas wpisywania w pliku zawierającym język osadzony. bilet opinii
Rozwiązano problem polegający na tym, że rozwiązywanie konfliktów scalania w plikach razor i plikach cshtml powodowało puste okno. bilet opinii
Azure devops Permalink z Visual Studio 2022 r. nie działa. bilet opinii
Rozwiązano problem polegający na tym, że Visual Studio ulegała awarii, jeśli zmienna środowiskowa DOTNET_SYSTEM_GLOBALIZATION_INVARIANT została ustawiona na 1. bilet opinii
Naprawiono błąd uruchamiania profilera wydajności dla projektów C++. bilet opinii

Wersja 17.12.2

wydany 26 listopada 26th, 2024

Najważniejsze poprawki błędów Z poziomu społeczności
Funkcja IntelliSense języka C++ nie wyświetla już błędów dla projektów, które działały w funkcji IntelliSense w Visual Studio 17.11. bilet opinii
Proces indeksatora Copilot nie blokuje już plików. bilet opinii
Naprawiono awarię kompilatora w kodzie języka C++/interfejsu wiersza polecenia, który jest przeznaczony dla .NET Core i używa tablic param-array. bilet opinii
.NET dla systemu iOS/tvOS/macOS/macCatalyst — informacje o wersji
Po Windows aktualizacji KB5041580 Visual Studio ulega awarii dyskretnie po otwarciu okna edytora scalania. bilet opinii
[LKG18] Niektóre funkcje zwinięte ścięciem mają niekompletne informacje odwijania w swoich fragmentach pomocniczych. bilet opinii
Wewnętrzny błąd kompilatora C1001 dla kompilacji arm64. bilet opinii
Awaria programu SSDT z błędem krytycznym napotkanym w programie VS17.12. bilet opinii

Wersja 17.12.1

Wydany 19 listopada 2024 r.

Najważniejsze poprawki błędów Z poziomu społeczności
Rozwiązano problem z migotaniem koloru składni podczas przewijania https://github.com/dotnet/roslyn/pull/75796
Ta wersja zawiera aktualizacje w celu zachowania zgodności z przepisami dotyczącymi języka międzynarodowego.

Od nas wszystkich w zespole dziękujemy za wybór Visual Studio. Jeśli masz jakieś pytania, skontaktuj się z nami na Twitter lub Developer Community.

Udanego kodowania!
> Zespół Visual Studio


Uwaga

Ta aktualizacja może obejmować nowe oprogramowanie Microsoft lub oprogramowanie innych firm, które jest licencjonowane oddzielnie, zgodnie z 3 powiadomienia innych firm lub w towarzyszącej licencji.