Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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!
![]()
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
:39spowoduje przejście do wiersza 39 w aktywnym pliku.
![]()
Możesz również przejść do wiersza w innym dokumencie, używając nazwy pliku + dwukropka + numeru wiersza. Na przykład, ciąg
Order:43spowoduje przejście do wiersza 43 w Order.cs. Jeśli nie określisz dokładnej nazwy pliku, wyszukiwanie spróbuje znaleźć najlepsze dopasowanie.
![]()
📣 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.
![]()
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.
![]()
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.
![]()
Położenie panelu podglądu będzie również jest dostosowywane na podstawie wymiarów okna wyszukiwania.
![]()
📣 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:
![]()
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.
![]()
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.
![]()
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.
![]()
📣 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.
![]()
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.
![]()
📣 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.
![]()
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.
![]()
Transitive zależności z lukami w zabezpieczeniach w Eksplorator rozwiązań
When ustawienie
NuGetAuditModenaall, 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
NuGetAuditModenaall, 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.
![]()
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
![]()
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.
![]()
Jak włączyć instrukcje niestandardowe
- 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ń.
- Dodaj copilot-instruction.md w katalogu głównym repozytorium w pliku .github, utwórz plik, jeśli jeszcze nie istnieje.
![]()
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.
![]()
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.
![]()
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.
![]()
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.
![]()
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
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
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
![]()
After: Semantycznie istotne pliki są traktowane jako kontekst dla GitHub Copilot Ukończenia
![]()
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!
![]()
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!
![]()
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.
![]()
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ąć!
![]()
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.
![]()
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
NuGetAuditSuppresselementó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 inspekcjiTeraz 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.
![]()
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.
![]()
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.
![]()
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.
![]()
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.
![]()
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/downstrzał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.
![]()
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.
![]()
📣 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ą.
![]()
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.
![]()
📣 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.
![]()
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.
![]()
📣 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.
![]()
📣 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.
![]()
📣 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.
![]()
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.
![]()
Domyślne środowisko zaufania można zmodyfikować, przechodząc do obszaru Ustawienia zaufania w obszarze Narzędzia > Opcje > środowiska.
![]()
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:
![]()
Basic AI Chat Bot — własne Microsoft Teams utworzone za pomocą biblioteki sztucznej inteligencji usługi Teams
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.
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.
![]()
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.
![]()
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.
![]()
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.
![]()
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!
![]()
📣 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.
![]()
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.
![]()
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:
![]()
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.
![]()
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 iUseUwpTools, co umożliwia tworzenie i uruchamianie wszystkich nowych narzędzi w Visual Studio do kompilowania i uruchamiania aplikacji XAML platformy UWP.Właściwość
UseUwpToolsjest teraz automatycznie ustawiana przez Visual Studio po ustawieniuUseUwp, aby plik csproj był mniej pełny w typowym scenariuszu. W przypadku zaawansowanych scenariuszy nadal można zrezygnować, ręcznie wyłączając polecenieUseUwpTools.📣 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/tokenw celu uwierzytelnienia użytkownika. Bezpośrednio nad wierszem żądania zobaczysz komentarz# @name login. Ta składnia nadaje żądaniu nazwę (loginw 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/tokenzwraca 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
JavaScriptTestRootma 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.
![]()
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.
![]()
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.
![]()
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.
![]()
Na poprzednim obrazku podpowiedzi w tekście to szare pola z literą
: numberwskazują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
$sharedpowyżej, które składają się ze zmiennejHostAddressustawionej 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
devlubdev2, wartość dlaHostAddressbędzie pochodzić od$shared, ponieważ te środowiska nie mają wartości dlaHostAddress. W przypadku korzystania ze środowiska przejściowego wartość dlaHostAddresszostanie 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.
![]()
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.
![]()
📣 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.
![]()
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ń.
![]()
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.
![]()
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.
![]()
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.
![]()
Najważniejsze poprawki błędów zgłaszane przez użytkownika
- edytor C# nie może odnaleźć kontrolek zdefiniowanych w pliku xaml
- Polecenie GIT (synchronizacja, ściąganie, wypychanie) i brak listy gałęzi na pasku stanu
- VSSDK/CPS/Rozszerzalność: Ładowanie obrazu w rozszerzeniach programu VS za pośrednictwem pliku imagemanifest jest uszkodzone w programie VS2022
- Backspace itp. czasami przestają działać
- Eksplorator zasobów nie może otworzyć plików resx
- Resetowanie wszystkich ustawień zawsze powoduje wystąpienie błędu
- VS2022 17.10.0 (wersja zapoznawcza 7: wewnętrzny błąd kompilatora)
- Pliki Javascript tracą kodowanie kolorów po 10000 wierszach kodu
- Użycie formatu std::format w module wymaga włączenia nagłówka formatu w plikach .cpp przy użyciu tego modułu
- błąd składni C++ po uaktualnieniu do wersji Visual Studio 17.11.0
- Nie można przenieść bloku kodu w górę i w dół po aktualizacji programu VS
- Generowanie pamięci podręcznej CMake na zdalnym hoście systemu Linux kończy się niepowodzeniem w zapytaniu ctest
- Error w potokach Azure DevOps z VSTest@2
- Nie można dodać konta apple (VS 2022, konto Enterprise)
📣 Zobacz pełną listę wszystkich zgłoszonych przez użytkownika [poprawek usterek][poprawki usterek], które trafiły do tej wersji.
Znane problemy
- Błąd "Niepowodzenie eksportowania certyfikatu" występuje podczas próby debugowania projektu internetowego platformy ASP.NET Core z włączonym protokołem HTTPS i przy użyciu profilu debugowania WSL. Dzieje się tak z powodu zmiany powodującej niezgodność: eksport certyfikatu deweloperskiego nie tworzy już folderu.
Można to obejść, tworząc folder
%appdata%\ASP.NET\Httpsprzed debugowaniem.
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 |
| 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 |
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 |
| 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 |
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 |
| 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 |
| 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 |
| Nieprawidłowe generowanie kodu podczas zapisywania danych w tablicy std::array | bilet |
| Niepowodzenie przechwytywania atol_static usługi ASAN | bilet |
| 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 |
| 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 |
| Rozwiązanie problemu z narzędziem do oczyszczania w wersji może powodować błędy | bilet |
| Niepoprawna generacja kodu z /arch:SSE4.2 (generuje nieprawidłowe wstawki natychmiastowe) | bilet |
| 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 |
| Rozwiązano problem w celu zapobieżenia ponownemu porządkowaniu instrukcji AVX na ścieżce wykonywania przeznaczonej tylko dla SSE2. | bilet |
| 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 |
| Naprawiono błąd linku arm64EC nierozwiązany zewnętrzny #_guard_dispatch_icall_$fo$ | bilet |
| 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 |
| 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 |
| 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 |
| X86 ICE ponownie po zaktualizowaniu danych optymalizacji PGO | bilet |
| 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 |
| VS2022 Professional — nie można zalogować się do konta m | bilet |
| 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 |
| 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 |
| Błąd z projektem String::Format w projekcie biblioteki klas CLR języka C++ (.NET) | bilet |
| Regresja w wersji 17.12.0: Niepowodzenie podstawiania jest błędem C3699 podczas kompilowania z /CLR | bilet |
| 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 |
| Rozwiązano problem polegający na zawieszaniu się we wszystkichIn-One wyszukiwania (Ctrl+T, Ctrl+Q). | bilet |
| Visual Studio Debuger nie może wyświetlić wartości w oknie "Ustawienia lokalne". | bilet |
| 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 |
| 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 |
| 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 |
| Komunikaty prywatnego aparatu Unity niepoprawnie oznaczone jako nieużywane IDE0051. | bilet |
| Funkcja IntelliSense przestała działać w projekcie Word C++. | bilet |
| Rozwiązano problem polegający na tym, że znaki mogły być zduplikowane podczas wpisywania w pliku zawierającym język osadzony. | bilet |
| Rozwiązano problem polegający na tym, że rozwiązywanie konfliktów scalania w plikach razor i plikach cshtml powodowało puste okno. | bilet |
| Azure devops Permalink z Visual Studio 2022 r. nie działa. | bilet |
| 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 |
| Naprawiono błąd uruchamiania profilera wydajności dla projektów C++. | bilet |
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 |
| Proces indeksatora Copilot nie blokuje już plików. | bilet |
| 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 |
| .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 |
| [LKG18] Niektóre funkcje zwinięte ścięciem mają niekompletne informacje odwijania w swoich fragmentach pomocniczych. | bilet |
| Wewnętrzny błąd kompilatora C1001 dla kompilacji arm64. | bilet |
| Awaria programu SSDT z błędem krytycznym napotkanym w programie VS17.12. | bilet |
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.
Visual Studio 2022 w wersji 17.12

