Visual Studio IconInformacje o wersji 15.0 programu Visual Studio 2017


Społeczność deweloperów | Wymagania systemowe | Zgodność | Kod dystrybucyjny | Postanowienia licencyjne | Blogi | Znane problemy



Uwaga

To nie jest najnowsza wersja programu Visual Studio. Aby pobrać najnowszą wersję, odwiedź witrynę programu Visual Studio .



Opinie i sugestie

Chcemy poznać Twoje zdanie! Problemy możesz zgłaszać za pomocą opcji Zgłoś problem w prawym górnym rogu instalatora lub bezpośrednio w środowisku IDE programu Visual Studio. Ikona Feedback Icon znajduje się w prawym górnym rogu. Możesz śledzić problemy w witrynie społeczności deweloperów programu Visual Studio, która umożliwia zadawanie pytań i znajdowanie odpowiedzi. Bezpłatną pomoc dotyczącą instalacji możesz uzyskać za pośrednictwem naszej pomocy technicznej przez czat na żywo.

Ramy czasowe pomocy technicznej

Użytkownicy wersji Enterprise i Professional programu Visual Studio 2017 w wersji 15.0 mają dostęp do wsparcia i będą otrzymywać poprawki do luk w zabezpieczeniach do stycznia 2020 r. Te ramy czasowe zostały ustalone ze względu na to, że w październiku 2018 r. program Visual Studio 2017 w wersji 15.9 został wyznaczony jako ostatni plan bazowy obsługi do produktu Visual Studio 2017. Najnowszą i najlepiej zabezpieczoną wersję programu Visual Studio 2017 można uzyskać w sekcji pobierania w witrynie my.visualstudio.com.  Aby uzyskać więcej informacji o obsługiwanych planach bazowych programu Visual Studio, zapoznaj się z zasadami pomocy technicznej dla programu Visual Studio 2017

Zapoznaj się z najnowszą wersją informacji o wersji lub odwiedź witrynę programu Visual Studio , aby pobrać najnowszą obsługiwaną wersję programu Visual Studio 2017.


Historia wersji


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.102)

wydany 11 grudnia 2019 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2019-1349 Luka w zabezpieczeniach zdalnego wykonywania w narzędziu Git dla programu Visual Studio spowodowana zbyt łagodnymi ograniczeniami dla nazw modułów podrzędnych

Istnieje luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu, gdy w narzędziu Git dojdzie do kolizji nazw modułów podrzędnych dla katalogów równorzędnych modułów podrzędnych. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby zdalnie wykonać kod na maszynie docelowej. Aktualizacja zabezpieczeń eliminuje tę lukę w zabezpieczeniach, ponieważ pobierana nowa wersja narzędzia Git dla systemu Windows wymaga, aby katalog dla klona modułów podrzędnych był pusty.

CVE-2019-1350 Luka w zabezpieczeniach zdalnego wykonywania w narzędziu Git dla programu Visual Studio spowodowana niepoprawnym cytowaniem argumentów wiersza polecenia

Istnieje luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu, która występuje, gdy narzędzie Git interpretuje argumenty wiersza polecenia z pewnym cytowaniem podczas cyklicznego klonowania w połączeniu z adresami URL protokołu SSH. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby zdalnie wykonać kod na maszynie docelowej. Aktualizacja zabezpieczeń eliminuje tę lukę w zabezpieczeniach, ponieważ w pobieranej nowej wersji narzędzia Git dla systemu Windows usunięto ten problem.

CVE-2019-1351 Luka w zabezpieczeniach dotycząca dowolnego zastępowania plików w narzędziu Git dla programu Visual Studio, która występuje podczas klonowania w przypadku używania nazw dysków niebędących literami

W usłudze Git istnieje luka w zabezpieczeniach powodująca dowolne zastępowanie plików, gdy nazwy dysków niebędące literami są pomijane podczas sprawdzania zabezpieczeń w poleceniu git clone. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby wykonywać operacje zapisu w dowolnych plikach na maszynie docelowej. Aktualizacja zabezpieczeń eliminuje tę lukę w zabezpieczeniach, ponieważ w pobieranej nowej wersji narzędzia Git dla systemu Windows usunięto ten problem.

CVE-2019-1352 Luka w zabezpieczeniach zdalnego wykonywania w narzędziu Git dla programu Visual Studio spowodowana nieznajomością alternatywnych strumieni danych NTFS

W usłudze Git istnieje luka w zabezpieczeniach umożliwiająca zdalne wykonywanie kodu w przypadku klonowania i zapisywania do katalogu .git/ za pośrednictwem alternatywnych strumieni danych NTFS. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby zdalnie wykonać kod na maszynie docelowej. Aktualizacja zabezpieczeń eliminuje tę lukę w zabezpieczeniach, ponieważ w pobieranej nowej wersji narzędzia Git dla systemu Windows wprowadzono świadomość istnienia alternatywnych strumieni danych.

CVE-2019-1354 Luka w zabezpieczeniach dotycząca dowolnego zastępowania plików w narzędziu Git dla programu Visual Studio, która występuje z powodu braku odmowy zapisania śledzonych plików zawierających ukośniki odwrotne

W usłudze Git istnieje luka w zabezpieczeniach powodująca dowolne zastępowanie plików, ponieważ wpisy drzewa zawierające ukośniki odwrotne i złośliwe linki symboliczne mogą powodować uszkodzenie drzewa roboczego. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby wykonywać operacje zapisu w dowolnych plikach na maszynie docelowej. Aktualizacja zabezpieczeń eliminuje tę lukę w zabezpieczeniach, ponieważ pobierana nowa wersja narzędzia Git dla systemu Windows nie zezwala na takie używanie ukośników odwrotnych.

CVE-2019-1387 Luka w zabezpieczeniach zdalnego wykonywania w narzędziu Git dla programu Visual Studio spowodowana zbyt łagodną weryfikacją nazw modułów podrzędnych w klonach cyklicznych

W usłudze Git istnieje luka w zabezpieczeniach umożliwiająca zdalne wykonywanie kodu w przypadku klonowania cyklicznego z modułami podrzędnymi. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby zdalnie wykonać kod na maszynie docelowej. Aktualizacja zabezpieczeń eliminuje tę lukę w zabezpieczeniach, ponieważ pobierana nowa wersja narzędzia Git dla systemu Windows zwiększa wymagania walidacji względem nazw modułów podrzędnych.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.98)

wydany 10 września 2019 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2019-1232 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowej usługi modułu zbierającego centrum diagnostyki

Luka w zabezpieczeniach dotycząca podniesienia uprawnień występuje, gdy standardowa usługa modułu zbierającego centrum diagnostyki nieprawidłowo personifikuje pewne operacje na plikach. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby uzyskać podniesione przywileje. Atakujący z nieuprzywilejowanym dostępem do narażonego systemu może wykorzystać tę lukę w zabezpieczeniach. Aktualizacja zabezpieczeń usuwa lukę w zabezpieczeniach, zapewniając, że standardowa usługa modułu zbierającego centrum diagnostyki prawidłowo personifikuje operacje na plikach.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.96)

wydany 13 sierpnia 2019 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2019-1211 Luka w zabezpieczeniach podniesienia uprawnień w narzędziu Git dla programu Visual Studio

W narzędziu Git dla programu Visual Studio występuje luka w zabezpieczeniach podniesienia uprawnień, która polega na tym, że pliki konfiguracji są nieprawidłowo analizowane. Osoba atakująca, która pomyślnie wykorzysta tę lukę, może wykonać kod w kontekście innego użytkownika lokalnego. Aby wykorzystać lukę w zabezpieczeniach, uwierzytelniona osoba atakująca musi zmodyfikować pliki konfiguracji narzędzia Git w systemie przed pełną instalacją aplikacji. Osoba atakująca powinna następnie przekonać innego użytkownika w systemie, aby wykonał określone polecenia narzędzia Git. Aktualizacja rozwiązuje problem, ponieważ zmienia uprawnienia wymagane do edytowania plików konfiguracji.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.92)

wydany 9 lipca 2019 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2019-1113 Deserializacja pliku XOML Projektanta przepływu pracy umożliwia wykonywanie kodu

Plik XOML przywołujący niektóre typy może powodować wykonywanie losowego kodu, kiedy plik XOML jest otwierany w programie Visual Studio. Teraz wprowadzono ograniczenie dotyczące typów, których można używać w plikach XOML. Po otwarciu pliku XOML zawierającego jeden z nowo nieautoryzowanych typów jest wyświetlany komunikat wyjaśniający, że ten typ nie ma autoryzacji.

Aby uzyskać więcej informacji, zapoznaj się z artykułem dotyczącym plików XOML.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.88)

wydany 11 czerwca 2019 r.

Problem rozwiązany w tej wersji


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.84)

wydany 14 maja 2019 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2019-0727 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowej usługi modułu zbierającego centrum diagnostyki

Luka w zabezpieczeniach dotycząca podniesienia uprawnień występuje, gdy standardowa usługa modułu zbierającego centrum diagnostyki nieprawidłowo wykonuje pewne operacje na plikach. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby usuwać pliki w dowolnych lokalizacjach. Aby wykorzystać tę lukę w zabezpieczeniach, atakujący potrzebuje nieuprzywilejowanego dostępu do narażonego systemu. Aktualizacja zabezpieczeń usuwa lukę w zabezpieczeniach przez zabezpieczenie lokalizacji, w których standardowy moduł zbierający centrum diagnostyki wykonuje operacje na plikach.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.76)

wydany 12 marca 2019 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2019-9197 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w edytorze środowiska Unity

W edytorze środowiska Unity istnieje luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu. Jest to oprogramowanie innych firm, które program Visual Studio oferuje do zainstalowania jako część obciążenia Opracowywanie gier za pomocą środowiska Unity. Jeśli zainstalowano środowisko Unity z programu Visual Studio, należy zaktualizować używaną wersję środowiska Unity do wersji, w której usunięto tę lukę w zabezpieczeniach, postępując według instrukcji opisanych w CVE. Instalator programu Visual Studio został zaktualizowany i teraz oferuje do zainstalowania wersję edytora środowiska Unity, w której usunięto tę lukę w zabezpieczeniach.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.73)

wydany 12 lutego 2019 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2019-0613 Deserializacja pliku XOML Projektanta przepływu pracy umożliwia wykonywanie kodu

Plik XOML przywołujący niektóre typy może powodować wykonywanie losowego kodu, kiedy plik XOML jest otwierany w programie Visual Studio. Teraz wprowadzono ograniczenie dotyczące typów, których można używać w plikach XOML. Po otwarciu pliku XOML zawierającego jeden z nowo nieautoryzowanych typów jest wyświetlany komunikat wyjaśniający, że ten typ nie ma autoryzacji.

Aby uzyskać więcej informacji, zapoznaj się z artykułem https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.

CVE-2019-0657Luka w zabezpieczeniach umożliwiająca podszywanie się w programach .NET Framework i Visual Studio

Dzisiaj zostały opublikowane aktualizacje platformy .NET Core, które uwzględniono w tej aktualizacji programu Visual Studio. W tej wersji rozwiązano problemy dotyczące zabezpieczeń i inne istotne problemy. Szczegóły można znaleźć w informacjach o wersji platformy .NET Core.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.64)

wydana 11 grudnia 2018 r.

Problemy rozwiązane w tej wersji

  • Użytkownicy Azure DevOps, którzy mają spacje w nazwie projektu lub nazwach repozytorium, będą napotykać błędy podczas klonowania lub publikowania w programie Team Explorer.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-8599 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowej usługi modułu zbierającego centrum diagnostyki

Luka w zabezpieczeniach dotycząca podniesienia uprawnień występuje, gdy standardowa usługa modułu zbierającego centrum diagnostyki nieprawidłowo obsługuje pewne operacje na plikach. Atakujący, któremu udałoby się wykorzystać tę lukę w zabezpieczeniach, mógłby uzyskać podniesione przywileje. Aby wykorzystać tę lukę w zabezpieczeniach, atakujący potrzebuje nieuprzywilejowanego dostępu do narażonego systemu. Aktualizacja zabezpieczeń usuwa lukę w zabezpieczeniach, zapewniając, że standardowa usługa modułu zbierającego centrum diagnostyki prawidłowo personifikuje operacje na plikach.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.57)

wydana 10 października 2018 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-8292 Luka w zabezpieczeniach platformy .NET Core umożliwiająca ujawnienie informacji

Na platformie .NET Core istnieje luka w zabezpieczeniach pozwalająca pominąć funkcję zabezpieczeń, gdy informacje dotyczące uwierzytelniania HTTP są przypadkowo ujawniane w żądaniu wychodzącym napotykającym przekierowanie HTTP. Osoba atakująca, która z sukcesem wykorzystałaby tę lukę w zabezpieczeniach, mogłaby użyć zdobytych informacji do głębszego naruszenia bezpieczeństwa aplikacji internetowej. Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, poprawiając sposób obsługi przekierowań HTTP w aplikacji .NET Core.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.52)

wydana 28 sierpnia 2018 r.

Problemy rozwiązane w tej wersji


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.49)

wydana 14 sierpnia 2018 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-0952 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowego modułu zbierającego centrum diagnostyki

W usłudze Visual Studio istnieje luka w zabezpieczeniach dotycząca podnoszenia poziomu uprawnień, co może prowadzić do uzyskania uprawnień systemowych przez użytkownika nie będącego administratorem podczas zapisywania plików. Osoba atakująca, która wykorzysta tę lukę, może zapisywać pliki jako system, mając dostęp tylko na poziomie użytkownika. Ta aktualizacja zabezpieczeń rozwiązuje ten problem, personifikując bieżącego użytkownika w celu weryfikacji dostępu do lokalizacji pliku.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.46)

wydana 2 sierpnia 2018 r.

Podsumowanie aktualizacji w tej wersji

  • W ramach tej wersji jest teraz instalowany zestaw Java™ Development Kit 8, aktualizacja 181 (JDK w wersji 8u181).

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-8356 Luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń platformy .NET Core

Firma Microsoft wie o luce w zabezpieczeniach dotyczącej obejścia funkcji zabezpieczeń, która występuje w sytuacji, gdy platforma .NET Core nie zweryfikuje poprawnie certyfikatów. Osoba atakująca, która pomyślnie wykorzystała tę lukę w zabezpieczeniach, może przedstawić wygasły certyfikat w przypadku zakwestionowania. Aktualizacja usuwa tę lukę w zabezpieczeniach, poprawiając obsługę weryfikacji certyfikatów przez platformę .NET Core.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.43)

wydana 10 lipca 2018 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-8172 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w programie Visual Studio

Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu, która może prowadzić do wykorzystania maszyny użytkownika po otwarciu specjalnie przygotowanego projektu lub pliku zasobów. Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, poprawiając sposób sprawdzania źródłowej adiustacji pliku.

CVE-2018-8260 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w programie .NET Framework

Istnieje luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w oprogramowaniu platformy .NET, która może prowadzić do wykorzystania maszyny użytkownika przez umożliwienie osobom atakującym uruchamiania dowolnego kodu w kontekście bieżącego użytkownika. Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, poprawiając sposób sprawdzania źródłowej adiustacji pliku na platformie .NET.

CVE-2018-8232 Luka w zabezpieczeniach polegająca na nieuprawnionej modyfikacji w programie Microsoft Macro Assembler na platformie .NET

Luka w zabezpieczeniach polegająca na nieuprawnionej modyfikacji związana z nieprawidłową weryfikacją kodu przez program Microsoft Macro Assembler. Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach przez sprawdzenie, czy program Microsoft Macro Assembler prawidłowo weryfikuje logikę kodu.

CVE-2018-8171 Luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń programu ASP.NET Core

Luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń programu ASP.NET Core istnieje, gdy liczba niepoprawnych prób zalogowania nie zostanie zweryfikowana, co może prowadzić do podejmowania przez osobę atakującą nieskończonych prób uwierzytelnienia. Aktualizacja usuwa tę lukę w zabezpieczeniach, weryfikując liczbę niepoprawnych prób logowania.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.37)

wydana 31 maja 2018 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-11235 Biuletyn zabezpieczeń firmy Microsoft dotyczący luk w zabezpieczeniach usługi Git

Usunęliśmy luki w zabezpieczeniach usługi Git, które zostały ujawnione przez społeczność Git. Luka w zabezpieczeniach może prowadzić do wykonania dowolnego kodu, gdy użytkownik sklonuje złośliwe repozytorium.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.31)

wydana 26 kwietnia 2018 r.

Podsumowanie aktualizacji w tej wersji

  • Przeszliśmy na zestaw Java™ Development Kit 8, aktualizacja 172 (JDK w wersji 8u172).

Release Notes IconVisual Studio 2017, wersja 15.0 (26228.30)

wydana 10 kwietnia 2018 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-1037 Biuletyny zabezpieczeń firmy Microsoft dla luki w zabezpieczeniach programu Microsoft Visual Studio polegającej na ujawnieniu informacji

Istnieje luka w zabezpieczeniach dotycząca ujawnienia informacji, która polega na tym, że program Visual Studio nieprawidłowo ujawnia ograniczoną zawartość niezainicjowanej pamięci podczas kompilowania plików bazy danych programu (PDB). Osoba atakująca, która skorzystała z takiego ujawnienia informacji, może wyświetlić niezainicjowaną pamięć wystąpienia programu Visual Studio użytego do kompilowania pliku PDB.

Aby wykorzystać lukę w zabezpieczeniach, osoba atakująca potrzebuje dostępu do odpowiedniego pliku PDB utworzonego za pomocą zagrożonej wersji programu Visual Studio. Osoba atakująca nie może w żaden sposób wymusić na deweloperach takiego ujawnienia informacji.

Aktualizacja zabezpieczeń usuwa lukę w zabezpieczeniach, poprawiając sposób generowania plików PDB podczas kompilowania projektu.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.29)

wydana 13 marca 2018 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-0875 Biuletyny zabezpieczeń firmy Microsoft dla platformy .NET Core

Firma Microsoft wie o istnieniu luki w zabezpieczeniach w wersjach publicznych platformy .NET Core, w wyniku której złośliwy plik lub żądanie sieci Web może spowodować atak typu „odmowa usługi” (DoS).

  • Administratorom systemu zaleca się zaktualizowanie ich środowisk uruchomieniowych platformy NET. Core do wersji 1.0.10, 1.1.7 i 2.0.6. Deweloperom zaleca się zaktualizowanie ich zestawów SDK platformy NET. Core do wersji 1.1.8 lub 2.1.101.

Release Notes IconVisual Studio 2017, wersja 15.0 (26228.26)

wydana 21 lutego 2018 r.

Podsumowanie aktualizacji w tej wersji

Program Team Explorer obsługuje zabezpieczenia TLSv1.2. Zaktualizowano składniki Git i Menedżer poświadczeń Git dostarczane razem z programem Visual Studio. Zaktualizowany został również opcjonalny składnik Git dla systemu Windows. Ta aktualizacja umożliwia usłudze Git łączenie się z użyciem standardu zabezpieczeń TLSv1.2 z usługami, które mają przestarzałą obsługę zabezpieczeń TLSv1 i TLSv1.1.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.23)

wydana 2 lutego 2018 r.

Podsumowanie aktualizacji w tej wersji

  • Kompilator MSVC został zaktualizowany o obsługę przełącznika /Qspectre, który będzie automatycznie wstawiał barierę przewidywania, gdy kompilator wykryje wystąpienia luki Spectre w wariancie 1. Aby uzyskać więcej informacji o przełączniku /Qspectre, zapoznaj się z blogiem zespołu języka Visual C++.
  • Zestaw JDK został zaktualizowany do wersji 8u161, aby naprawić błędy pobierania.

Release Notes IconVisual Studio 2017, wersja 15.0 (26228.21)

wydana 9 stycznia 2018 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-0786 Pominięcie funkcji zabezpieczeń w weryfikacji certyfikatu X509

Firma Microsoft publikuje ten biuletyn zabezpieczeń, aby udostępnić informacje dotyczące luki w zabezpieczeniach w wersjach publicznych platformy .NET Core 1.0, 1.1 i 2.0. W tym biuletynie podano też wskazówki dla deweloperów dotyczące właściwego aktualizowania aplikacji. Ten biuletyn zabezpieczeń ma również zastosowanie do natywnej platformy .NET dla platformy uniwersalnej systemu Windows.

Firma Microsoft wie o istnieniu luki w zabezpieczeniach w wersjach publicznych platformy .NET Core, która umożliwia atakującemu przedstawienie certyfikatu oznaczonego jako nieważny do określonego celu w taki sposób, że składnik użyje go do tego celu. Ta akcja pomija tagowanie ulepszonego użycia klucza.

Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, zapewniając, że składniki platformy .NET Core w pełni weryfikują certyfikaty. Administratorom systemu doradza się zaktualizowanie ich środowisk uruchomieniowych platformy NET. Core do wersji 1.0.9, 1.1.6 i 2.0.5. Deweloperom doradza się zaktualizowanie ich zestawów SDK platformy NET. Core do wersji 2.1.4 lub 1.1.7.

CVE-2018-0764 Odmowa usługi podczas analizowania dokumentów XML

Firma Microsoft publikuje ten biuletyn zabezpieczeń, aby udostępnić informacje dotyczące luki w zabezpieczeniach w wersjach publicznych platformy .NET Core 1.0, 1.1 i 2.0. W tym biuletynie podano też wskazówki dla deweloperów dotyczące właściwego aktualizowania aplikacji.

Firma Microsoft wie o istnieniu luki w zabezpieczeniach mogącej powodować odmowę usługi we wszystkich wersjach publicznych platformy .NET Core, która wynika z niewłaściwego przetwarzania dokumentów XML. Tę lukę w zabezpieczeniach może wykorzystać atakujący i spowodować odmowę usługi dla aplikacji .NET. Zdalny nieuwierzytelniony atakujący może wykorzystać tę lukę, wysyłając do aplikacji platformy .NET Core specjalnie przygotowane żądanie.

Aktualizacja usuwa tę lukę w zabezpieczeniach, poprawiając obsługę przetwarzania dokumentów XML przez platformę .NET Core. Administratorom systemu doradza się zaktualizowanie ich środowisk uruchomieniowych platformy NET. Core do wersji 1.0.9, 1.1.6 i 2.0.5. Deweloperom doradza się zaktualizowanie ich zestawów SDK platformy NET. Core do wersji 2.1.4 lub 1.1.7.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.18)

wydana 6 grudnia 2017 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

Firma Microsoft wydała biuletyny zabezpieczeń dla programu ASP.NET Core. Szczegółowe informacje znajdują się w odpowiednich anonsach w repozytorium programu ASP.NET Core. Należy zwrócić uwagę na następujące informacje:

CVE-2017-8700 Obejście CORS może umożliwić ujawnienie informacji

Istnieje luka w zabezpieczeniach w programie ASP.NET Core 1.0 i 1.1, która umożliwia obejście funkcji udostępniania zasobów między różnymi źródłami (CORS), co może prowadzić do ujawnienia informacji. Nowe projekty utworzone za pomocą programu ASP.NET Core 1.0 lub ASP.NET Core 1.1 będą teraz korzystały z wersji pakietu, które zawierają wymienioną powyżej aktualizację zabezpieczeń. W przypadku istniejących projektów użytkownicy mogą zaktualizować ich pakiety do nowszych wersji za pomocą okna dialogowego Zarządzaj pakietami NuGet.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.17)

wydana 14 listopada 2017 r.

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

Firma Microsoft wydała biuletyny zabezpieczeń dla platformy .NET Core i ASP.NET Core. Szczegółowe informacje znajdują się w odpowiednich anonsach w repozytoriach platform .NET Core i ASP.NET Core. Należy zwrócić uwagę na następujące informacje:

CVE-2017-8585 Źle sformułowany certyfikat może spowodować odmowę usługi

Istnieje luka w zabezpieczeniach platformy .NET Core 1.0, 1.1 i 2.0, dla której źle sformułowany certyfikat lub inne dane sformatowane zgodnie z ASN.1 mogą doprowadzić do odmowy usługi z powodu nieskończonej pętli w systemie Linux i macOS. Administratorom systemu doradza się zaktualizowanie ich środowisk uruchomieniowych programu NET. Core do wersji 1.0.8, 1.1.5 i 2.0.1. Deweloperom doradza się zaktualizowanie ich zestawów SDK platformy NET. Core do wersji 2.0.3 lub 1.1.5.

CVE-2017-8700 Obejście CORS może umożliwić ujawnienie informacji

Istnieje luka w zabezpieczeniach w programie ASP.NET Core 1.0 i 1.1, która umożliwia obejście funkcji udostępniania zasobów między różnymi źródłami (CORS), co może prowadzić do ujawnienia informacji.

CVE-2017-11879 Otwarcie przekierowania może spowodować podniesienie uprawnień

Istnieje luka w zabezpieczeniach w programie ASP.NET 2.0 Core, która umożliwia istnienie otwartego przekierowania, prowadzącego do podniesienia uprawnień.

CVE-2017-11770 Odmowa usługi

Istnieje luka w zabezpieczeniach w programie ASP.NET Core 1.0, 1.1 i 2.0, kiedy aplikacja jest obsługiwana za pośrednictwem sterownika Http.Sys systemu Windows, gdy źle sformułowane żądanie może prowadzić do odmowy usługi. Nowe projekty utworzone za pomocą programu ASP.NET Core 1.0 i ASP.NET Core 1.1 będą teraz korzystały z wersji pakietu, które zawierają wymienione powyżej aktualizacje zabezpieczeń. W przypadku istniejących projektów użytkownicy mogą zaktualizować ich pakiety do nowszych wersji za pomocą okna dialogowego Zarządzaj pakietami NuGet.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.16)

wydana 18 września 2017 r.

Problemy rozwiązane w tej wersji


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.13)

wydana 23 maja 2017 r.

Problemy rozwiązane w tej wersji

W scenariuszach instalacji w trybie offline nie jest już wymagany dostęp do Internetu.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.12)

wydana 31 marca 2017 r.

Podsumowanie aktualizacji w tej wersji

Zapewniamy teraz obsługę interfejsów API i narzędzi środowisk Xcode 8.3, iOS 10.3, watchOS 3.2 oraz tvOS 10.2 w rozszerzeniu Xamarin.VS dla programu Visual Studio 2017.


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.10)

wydana 28 marca 2017 r.

Problemy rozwiązane w tej wersji

Są to problemy zgłaszane przez klientów, rozwiązane w kompilacji 26228.10:


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.09)

wydana 14 marca 2017 r.

Problemy rozwiązane w tej wersji

Są to problemy zgłaszane przez klientów, rozwiązane w kompilacji 26228.09:


Release Notes IconVisual Studio 2017, wersja 15.0 (26228.04)

wydana 7 marca 2017 r.

Podsumowanie aktualizacji w tej wersji

Programowanie: szybko nawiguj oraz pisz i poprawiaj kod

  • Nowe środowisko instalacji — minimalny rozmiar umożliwia szybsze działanie i szersze dostosowanie instalacji oraz zapewnia obsługę trybu offline.
  • Środowisko IDE programu Visual Studio — szeroka gama rozszerzeń w programie Visual Studio 2017, m.in. ograniczenie czasu uruchamiania komputera i ładowania rozwiązań, ulepszenia logowania i tożsamości, łatwiejsza nawigacja w kodzie, widok otwartego folderu i podłączone usługi umożliwiają połączenia między aplikacją użytkownika a dowolną usługą lokalną lub w chmurze.
  • W latach 2015–2017 nie wprowadzono żadnych istotnych zmian w środowisku Visual C++. Większy stopień zgodności ze standardem C++14, lepsza obsługa oprogramowania CMake, przepływność kompilacji i wydajność w edytorze.
  • C# i Visual Basic — rozszerzona obsługa nowych funkcji języków C# 7.0 i Visual Basic 15 oraz wprowadzenie nowych refaktoryzacji pozwalających organizować kod przy użyciu jednej akcji.
  • F# — obsługa elementów języka F# 4.1, ulepszenia kompilatora F# i pakietu FSharp.Core oraz nowy edytor oparty na obszarach roboczych programu Roslyn.
  • JavaScript i TypeScript — język TypeScript 2.1 jest dostępny dla wszystkich projektów TypeScript w programie Visual Studio. Jest dostępna i domyślnie włączona nowa usługa języka JavaScript.

Debugowanie: łatwe debugowanie, profilowanie i diagnozowanie

Debugowanie i diagnostyka — całkowita przebudowa pomocnika wyjątków i szybsze nawigowanie po kodzie dzięki funkcji uruchamiania do kliknięcia. Dodatkowo nowe podsumowanie zdarzeń aplikacji w oknie narzędzi diagnostycznych i kilka ulepszeń wprowadzonych w narzędziu procesora CPU.

Testowanie: pisz kod o wysokiej jakości dzięki kompleksowym narzędziom do testowania

  • Live Unit Testing — wizualizacja wyników testów jednostkowych i pokrycia kodu na żywo w edytorze.
  • Narzędzia do testowania — kojarzenie automatyzacji z elementami roboczymi przypadków testowych za pomocą Eksploratora testów.

Współpraca: korzystanie z kontroli wersji, elastyczność i efektywna współpraca

  • Nowe funkcje usługi Git w programie Team Explorer i zaktualizowane środowisko połączeń — więcej możliwości dzięki usłudze Git w programie Visual Studio 2017 i łatwe znajdywanie projektów oraz repozytoriów, z którymi chce się połączyć użytkownik.
  • Rozszerzony przepływ pracy funkcji przesyłania opinii programu Visual Studio — ulepszone pod względem współpracy środowisko zgłaszania problemów. Wyszukiwanie, śledzenie i głosowanie w celu uzyskania najnowszych aktualizacji wszystkich opinii.

Rozszerzenie funkcjonalności: dostosowanie do swoich potrzeb przez utworzenie własnych rozszerzeń

  • Rozszerzenia programu Visual Studio: dostosowanie programu Visual Studio do swoich potrzeb przez utworzenie własnych rozszerzeń.
  • Możliwość odnajdowania szablonów elementów i projektów: nastąpiła przełomowa zmiana sposobu, w jaki program Visual Studio korzysta z szablonów projektów i elementów. Zmiana ta znacznie zwiększa wydajność odnajdywania szablonów.

Wyposażenie: Korzystanie z narzędzi do zwiększenia wydajności i eksploracji nowych możliwości

  • .NET Core i ASP.NET Core: zawiera ostateczną wersję 1.0 nowych narzędzi programu .NET Core opartych na aparacie MSBuild. Za pomocą programu Visual Studio 2017 można utworzyć biblioteki .NET Standard, aplikacje i biblioteki .NET Core oraz projekty sieci web ASP.NET korzystające z nowego formatu csproj.
  • Tools for Universal Windows App Development: aktualizacje obejmują nową wersję łańcucha narzędzi .NET Native i platformy .NET Core NuGet. Oprogramowanie zawiera nowe narzędzia umożliwiające zwiększenie wydajności i obsługuje zestaw SDK aktualizacji systemu Windows 10 dla twórców.
  • Xamarin: w wersji 4.3 platformy Xamarin dodano obsługę systemu tvOS oraz poprawiono obsługę katalogu zasobów systemu iOS i środowisko edytowania plików XML.
  • Visual Studio Tools for Apache Cordova: nowy, oparty na przeglądarce symulator umożliwia szybkie kodowanie i natychmiastowe wyświetlenie wyników w przeglądarce.
  • Node.js Tools for Visual Studio: aktualizacje mające na celu zwiększenie stabilności, wydajności i ogólnej jakości produktu.
  • Visual Studio Tools for Unity: program Visual Studio Tools for Unity 3 jest teraz dostępny z obciążeniem „Programowanie gier za pomocą aparatu Unity” w nowym instalatorze programu Visual Studio.
  • Redgate Data Tools: aby rozszerzyć funkcje operacji programistycznych do tworzenia bazy danych SQL, program Visual Studio zawiera obecnie narzędzia Redgate Data Tools obejmujące Redgate ReadyRoll Core, SQL Search i SQL Prompt Core.
  • NuGet: pakiet NuGet obsługuje obecnie informacje o zależnościach pakietu bezpośrednio w plikach projektu jako odwołania do pakietu, utrzymując jednocześnie postęp odwołań pakietów przechodnich.
  • Narzędzia dla aplikacji XAML: pasek narzędzi środowiska uruchomieniowego języka XAML teraz pozwala na śledzenie fokusu. Poprawiono efektywność języka XAML — zoptymalizowano wydajność, udoskonalono edytor XAML oraz wprowadzono funkcję Edytuj i kontynuuj.
  • Data Tools i SQL Server: najnowsza aktualizacja narzędzi SQL Server Data Tools umożliwia obsługę najnowszych funkcji usługi Azure SQL Database i programu SQL Server 2016.
  • Developer Analytics Tools: program Visual Studio 2017 zawiera narzędzia Developer Analytics Tools w wersji 8.6 z wieloma ulepszeniami funkcji Application Insights i HockeyApp w programie Visual Studio.
  • Office Developer Tools for Visual Studio: dodano narzędzia Office Developer Tools z najnowszymi funkcjami i aktualizacjami.
  • Weryfikacja zależności architektury na żywo: powiadomienia w czasie rzeczywistym o diagramach weryfikacji zależności (diagramach warstw).
  • Wiersz polecenia dla deweloperów: zaprojektowane od nowa skrypty obsługują nowe środowisko instalacji.
  • Zestaw Azure SDK dla platformy .NET: obecnie dostępny z nowego instalatora programu Visual Studio.

Szczegółowe informacje o nowościach w wersji 15.0 (26228.04)

What's New in This Release IconSzczegóły programu Visual Studio 2017 w wersji 15.0 (26228.04)

wydana 7 marca 2017 r.

Środowisko instalacji

Z przyjemnością przedstawiamy nasz nowy instalator, który został zaprojektowany od podstaw w taki sposób, aby zapewnić:

  • Zmniejszenie minimalnego miejsca zajmowanego przez program Visual Studio
  • Szybsze instalowanie z mniejszym wpływem na system oraz czysta dezinstalacja
  • Ułatwienie wybierania i instalowania tylko potrzebnych funkcji

Podczas pierwszej instalacji programu Visual Studio 2017 zostanie wyświetlone nowe środowisko (Rysunek 1):

The new installation experience in Visual Studio 2017
(Rysunek 1) Nowe środowisko instalacji programu Visual Studio 2017

Najmniejsza instalacja ma rozmiar zaledwie kilkuset megabajtów, a jednak umożliwia podstawową edycję kodu w ponad dwudziestu językach oraz kontrolę kodu źródłowego. Większość użytkowników prawdopodobnie zdecyduje się na szerszą instalację. Można dodać co najmniej jedno „obciążenie” reprezentujące typowe struktury, języki i platformy — od programowania rozwiązań klasycznych w architekturze .NET po programowanie gier z użyciem aparatu Unity.

Jak zaktualizować program Visual Studio

Aby zaktualizować program Visual Studio, uruchom Instalatora programu Visual Studio, a następnie kliknij przycisk Aktualizuj.

Opinie na temat nowego instalatora

Problemy i pochwały można zgłaszać przy użyciu poleceń Zgłoś problem i Przekaż sugestię dostępnych w nowym kliencie instalatora w prawym górnym rogu paska tytułu. Chcielibyśmy się dowiedzieć, czy występują błędy podczas instalowania lub odinstalowywania programu albo podczas modyfikowania instalacji, czy instalacja nie trwa zbyt długo (np. zawiesza się) oraz czy występują nieoczekiwane komunikaty o błędach.

Tworzenie układu instalacji w trybie offline i obsługa nowej instalacji z wiersza polecenia

Administratorzy systemu i inni użytkownicy mogą teraz utworzyć układ programu Visual Studio w trybie offline, który zawiera całą zawartość wymaganą do zainstalowania produktu bez dostępu do Internetu. Układ ten może być pełnym produktem, podzbiorem obciążeń lub składników albo pewną liczbą ustawień regionalnych produktu. Należy pamiętać, że tworzenie układu offline wymaga dostępu do Internetu. Aby uzyskać więcej informacji, zobacz artykuł Tworzenie instalacji w trybie offline programu Visual Studio 2017.

Pseudonim instalacji

Programy Visual Studio Enterprise i Visual Studio Community (oraz inne produkty) mogą teraz zostać zainstalowane na tym samym komputerze. Aby uprościć identyfikowanie tych instalacji, można określić dla nich krótkie nazwy lub „pseudonimy”. Jeśli na przykład zainstalujesz program Visual Studio Enterprise, a następnie wersję Community, obie instalacje będą wyglądać tak samo w menu Start. Drugiej instalacji możesz przypisać pseudonim, np. „społeczność”. Dzięki temu elementy menu Start będą wyglądać na przykład tak: „Visual Studio 2017 (społeczność)” i „Wiersz polecenia dla deweloperów w programie Visual Studio 2017 (społeczność)”.

Visual Studio IDE

Ulepszenia w środowisku IDE

  • Program Visual Studio został zoptymalizowany pod kątem skrócenia czasu uruchamiania i czasu ładowania rozwiązania. Pierwsze uruchomienie programu Visual Studio jest przynajmniej o 50% szybsze.
  • Program Visual Studio będzie teraz monitorować wydajność rozszerzenia, która ma wpływ na uruchamianie, ładowanie rozwiązania lub edycję. Alerty dotyczące niskiej wydajności rozszerzeń będą pojawiać się na pasku powiadomień w środowisku IDE. Nowe Centrum wydajności (dostępne również za pośrednictwem pomocy w > zarządzaniu wydajnością programu Visual Studio) umożliwia wyświetlanie nie tylko rozszerzeń wpływających na wydajność, ale także odnajdywanie okien narzędzi, które wpływają na wydajność uruchamiania i zmianę ich zachowania ładowania podczas uruchamiania.
  • W nowym Instalatorze programu Visual Studio można wybrać rozszerzenie GitHub dla programu Visual Studio.
  • Pozycja Załaduj ponownie wszystkie projekty została zastąpiona pozycją Załaduj ponownie rozwiązanie, aby zwiększyć wydajność przełączania gałęzi zewnętrznych względem programu Visual Studio. W przypadku używania wiersza polecenia usługi Git do przełączania gałęzi wybierz pozycję Załaduj ponownie rozwiązanie po przełączeniu gałęzi, aby osiągnąć maksymalną poprawę wydajności.
  • Zostały rozszerzone możliwości obsługi symboli wieloznacznych w plikach dla projektów .NET Core i ASP.NET Core. Aby uzyskać więcej szczegółów, zobacz obsługa symboli wieloznacznych w pliku projektu.
  • Po sklonowaniu następuje teraz automatyczne przeniesienie do widoku folderu repozytorium. Możesz wyświetlić pliki lub w Eksploratorze rozwiązań otworzyć rozwiązania za pomocą nowej listy wyboru rozwiązania.
  • Zostaje wprowadzony nowy host usługi zewnętrznej, który zastąpi VSHub. Ten nowy host usług to proces zewnętrzny. Będzie on wyświetlany w Menedżerze zadań jako zadanie ServiceHub.Host.CLR.*.exe oraz jako zadanie ServiceHub.Host.node.x86.exe. Użycie tego hosta ostatecznie wyeliminuje ruch HTTP hosta lokalnego wprowadzony wraz z narzędziem VSHub, co powinno usunąć zakłócenia zgłaszane przez użytkowników programu Fiddler.
  • Komunikaty dotyczące wygaśnięcia licencji wersji wstępnej dokładniej informują o bieżącym stanie licencji.
  • Okno dialogowe Ustawienia konta jest teraz łatwiej dostępne dla czytników ekranu.
  • Pomoc w trybie offline jest teraz dostępna po zainstalowaniu składnika Podgląd Pomocy za pomocą Instalatora programu Visual Studio.
  • Teraz możesz dodawać i usuwać wiele języków interfejsu użytkownika w dowolnym momencie przy użyciu instalatora programu Visual Studio na karcie Pakiety językowe. Możesz wybrać bieżący język interfejsu użytkownika spośród zainstalowanych przy użyciu opcji narzędzia > International > Ustawienia.
  • Pasek stanu kontroli wersji ułatwia publikowanie repozytoriów lokalnych na hoście SCC oraz śledzenie pracy z cofniętymi zatwierdzeniami (Rysunek 2) i wypchnięciami (Rysunek 3).
Version Control - Unpublished commits example
(Rysunek 2) Kontrola wersji — przykład zatwierdzeń z cofniętym publikowaniem
Version Control - No pending changes example
(Rysunek 3) Kontrola wersji — przykład braku zmian oczekujących

Ulepszenia logowania i tożsamości

Wprowadziliśmy nową usługę tożsamości, która umożliwia udostępnianie kont użytkowników w narzędziach deweloperskich firmy Microsoft. W programie Visual Studio udostępnianie to obejmuje m.in. takie funkcje, jak Team Explorer, Narzędzia platformy Azure, publikowanie w Sklepie Windows. Funkcje te mają teraz wspólne i spójne środowisko logowania.

Poza wprowadzeniem ulepszeń w programie Visual Studio ukończyliśmy wdrażanie pewnych ulepszeń po stronie usługi, które umożliwiają użytkownikom bezpieczne pozostawanie w stanie zalogowania i pozwalają wyeliminować wymuszone logowanie co 12 godzin. Dotyczy to najczęściej zgłaszanego problemu z logowaniem. Dowiedz się więcej o mniejszej liczbie monitów w programie Visual Studio.

Strona początkowa

Przeprojektowana strona startowa oferuje nowe funkcje otwierania i tworzenia:

  • Uzyskiwanie repozytoriów zdalnych z programu VSTS lub łatwe otwieranie lokalnych projektów i rozwiązań za pomocą ważniejszej listy ostatnio używanych elementów.
  • Na liście MRU na stronie startowej są wyświetlane repozytoria sklonowane na innych urządzeniach, dzięki czemu można je łatwo sklonować na urządzeniu bieżącym.
  • Tworzenie nowego projektu bezpośrednio z poziomu strony startowej przy użyciu szablonów, które można przeszukiwać, i listy ostatnio używanych szablonów. Ostatnio używane szablony są także przenoszone między wystąpieniami programu Visual Studio przy użyciu konta personalizacji.
  • Szybkie uruchamianie nowej funkcji klonowania z poziomu środowiska programu VSTS przy użyciu opcji „Wyewidencjonuj z programu VSTS” na stronie startowej.
  • Sekcja „Wprowadzenie”, którą można zamknąć.
  • Sekcja Wiadomości jest teraz zwijana:
    • Zaktualizowany wskaźnik nowo dodanych elementów w Kanale aktualności.
    • Wyróżnienie kanału aktualności, jeśli pojawią się nowe elementy, gdy kanał aktualności jest zwinięty.
  • Udoskonalenie wyglądu w celu uniknięcia obcinania elementów na mniejszych ekranach i lepszego wykorzystania pustego miejsca.

Poniżej pokazano nową stronę początkową (Rysunek 4):

Start Page with Get Started and News
(Rysunek 4) Strona startowa z sekcjami Wprowadzenie i Wiadomości

Ulepszona nawigacja w kodzie

W programie Visual Studio 2017 wprowadziliśmy znaczne ulepszenia funkcji nawigacji w kodzie:

  • Funkcja Przejdź do wszystkich (Ctrl+ lub Ctrl+ T) pozwala na szybkie znajdowanie i przechodzenie do plików, typów, metod oraz innych elementów kodu. Umożliwia zlokalizowanie dowolnych elementów, nawet w dużych bazach kodu. Ponadto jeśli wiadomo, jakiego rodzaju elementu się szuka, można go łatwo wyfiltrować. W językach C#, Visual Basic i F# dodaliśmy również funkcję dopasowywania „rozmytego”, więc w przypadku błędnego wpisania nazwy typu można mimo to uzyskać wyniki. Firma Microsoft zmodernizowała również obsługę funkcji Przejdź do wiersza (Ctrl + G). Rodzina poleceń Przejdź do znajduje się na górze menu Edycja (Rysunek 5) i (Rysunek 6).
Go To Results Filtered
(Rysunek 5) Przejdź do odfiltrowanych wyników
Go To Line
(Rysunek 6) Przejdź do wiersza
  • Opcja Znajdź wszystkie odwołania (Shift+F12) została ulepszona (obecnie dla języków C#, Visual Basic, F# i C++) i umożliwia zaawansowane grupowanie, filtrowanie, sortowanie, wyszukiwanie w ramach wyników odwołań i kolorowanie wyników (dla języków C# i VB), a tym samym pełne zapoznanie się z odwołaniami oraz płynne przejście do potrzebnego wiersza kodu. Po przesunięciu myszy nad element odwołania zostanie wyświetlona etykietka narzędzia zawierająca kontekst odwołania w kodzie źródłowym (dla języków C# i VB). Po przełączeniu przycisku Zachowaj wyniki na pasku narzędzi następne wywołanie polecenia Znajdź wszystkie odwołania spowoduje wypełnienie wyników odwołania w nowym oknie. Dzięki temu można zachować bieżące wyniki w istniejącym oknie (Rysunek 7).
Find All Reference
(Rysunek 7) Znajdź wszystkie odwołania
  • Linie przewodnika struktury są teraz rysowane w edytorze, więc możesz łatwo uwidocznić strukturę kodu, nad którym pracujesz. Po przesunięciu myszy zostanie wyświetlona etykietka narzędzia (Rysunek 8) zawierająca kontekst bieżącego bloku kodu względem jego bloków nadrzędnych. Wskazówki dotyczące struktury są obecnie obsługiwane dla plików języka C#, Visual Basic, F# i XAML, a także dla wszystkich plików obsługiwanych za pośrednictwem gramatyki TextMate. Ta funkcja może zostać wyłączona w oknie dialogowym Opcje narzędzi>, usuwając zaznaczenie pola wyboru Pokaż wiersze przewodnika po strukturze w kategorii Ogólne edytora>tekstu.
Structure Guide Lines
(Rysunek 8) Wskazówki dotyczące struktury

Obsługa konwencji kodowania przy użyciu pliku EditorConfig

Edytor programu Visual Studio obsługuje teraz polecenie EditorConfig, które umożliwia deweloperom definiowanie i utrzymywanie spójnych konwencji stylistycznych kodowania między różnymi edytorami i środowiskami IDE. Zobacz dokumentację, aby poznać więcej szczegółów, i dokumentację dotyczącą platformy .NET, aby uzyskać informacje dotyczące korzystania z plików .editorconfig w celu zarządzania stylem kodu platformy .NET.

Otwieranie folderu

Funkcja otwierania folderu to wygodny sposób pracy z bazami kodu bez projektów i rozwiązań. Działanie funkcji otwierania folderu można zaobserwować z paska menu, klikając pozycję Plik>Otwórz>Folder, a następnie wybierając folder do nawigowania. Możesz otwierać i edytować pliki przy użyciu Eksploratora rozwiązań (Rysunek 9). Wiele popularnych języków ma wyróżnianie składni i obsługę nawigacji symbolicznej (GoTo).

The new Open Folder feature in Visual Studio IDE
(Rysunek 9) Nowa funkcja otwierania folderu w środowisku IDE programu Visual Studio

Ponadto niektóre języki mają zaawansowaną obsługę funkcji IntelliSense i debugowania bezpośrednio z folderu:

  • C++ (CMake).
  • Node.js — JavaScript/TypeScript.
  • C# i VB.

W Eksploratorze rozwiązań możesz kompilować lub debugować przy użyciu klawisza F5 i menu kontekstowego pliku. Aby uzyskać najlepsze wyniki, upewnij się, że masz zainstalowane obciążenie dla języków, z którymi pracujesz.

Widok folderu obsługuje również następujące funkcje:

  • Wyszukiwanie w kodzie w folderze za pomocą funkcji Przejdź do (Ctrl+).
  • Określanie zakresu widoku folderu Eksploratora rozwiązań dla podfolderów.
  • Otwieranie folderów w Eksploratorze lub wiersza polecenia z poziomu Eksploratora rozwiązań.
  • Łatwe przełączanie się między rozwiązaniami w otwartym folderze lub repozytorium przy użyciu listy rozwijanej wyboru rozwiązania.
  • Konfigurowanie ustawień debugowania i uruchamiania za pomocą pliku launch.vs.json. Kliknij prawym przyciskiem myszy plik, który można debugować, i wybierz pozycję Ustawienia debugowania i uruchamiania.
  • Konfigurowanie zadań i dostosowywanie kompilacji za pomocą pliku tasks.vs.json. Kliknij dowolny plik prawym przyciskiem myszy i wybierz pozycję Konfiguruj ustawienia zadania.
  • Pliki launch.vs.json i tasks.vs.json obsługują funkcję IntelliSense w edytorze kodu JSON.

Znaczne zwiększenie wydajności otwierania folderów i przełączania się między widokiem folderu a widokiem rozwiązania.

Uproszczone ładowanie rozwiązań

Uproszczone ładowanie rozwiązań umożliwia szybsze ładowanie dużych rozwiązań. W przypadku dużych rozwiązań funkcja ta może zapewnić znaczną poprawę czasu ładowania rozwiązań oraz użycia pamięci. Funkcja ta nie jest domyślnie włączona i można ją włączyć dla poszczególnych rozwiązań lub globalnie w środowisku IDE. Aby włączyć globalnie, przejdź do pozycji Opcje narzędzi > , wybierz pozycję Ogólne w obszarze Projekty i rozwiązania (Rysunek 10) lub wyszukując frazę "Uproszczone ładowanie rozwiązań" przy użyciu szybkiego uruchamiania. Tę funkcję można włączać i wyłączać dla poszczególnych rozwiązań w okienku właściwości rozwiązania.

The new Lightweight Solution load feature Visual Studio IDE
(Rysunek 10) Nowa funkcja Uproszczone ładowanie rozwiązań w środowisku IDE programu Visual Studio

Uproszczone ładowanie rozwiązań jest najbardziej odpowiednie dla dużych rozwiązań, które zawierają projekty w języku C# lub mieszankę projektów w językach C# i C++. Może pojawić się prośba o włączenie tej funkcji, jeśli wykryjemy, że pracujesz z dużymi rozwiązaniami.

Znacznie podniesiono wydajność pełnych kompilacji rozwiązań — do poziomu konwencjonalnego ładowania rozwiązań.

Kolorowanie składni, automatyczne uzupełnianie, fragmenty kodu i obsługa wyszukiwania typu „Przejdź do” dla większej liczby języków.

Kontynuując rozwój obsługi zapoczątkowany w aktualizacjach programu Visual Studio 2015, w programie Visual Studio 2017 zapewniamy obecnie obsługę kolorowania składni i automatycznego uzupełniania dla szerszego zestawu języków. Oprócz tego w niektórych z tych języków jest także obsługiwana nawigacja przy użyciu funkcji „Przejdź do” (Ctrl+) i/lub fragmentów kodu.

Pliki języków wymienionych poniżej obsługują te funkcje w nowym Edytorze podstawowych funkcji programu Visual Studio, nawet jeśli nie zainstalowano obciążeń w celu jawnego zapewnienia obsługi określonego języka. Jeśli zainstalowano obciążenie zapewniające obsługę danego języka (np. obciążenie Programowanie aplikacji klasycznych na platformie .NET, Programowanie aplikacji klasycznych dla systemu Windows w języku C++ itp.), wówczas może być dostępna szersza obsługa tego języka obejmująca między innymi funkcję IntelliSense i inne zaawansowane funkcje językowe, takie jak Żarówki.

Typy plików języka według poziomu wsparcia:

  • Obsługuje tylko kolorowanie składni i autouzupełnianie:
    • Bat, Clojure, CoffeeScript, CSS, Docker, F#, Groovy, INI, Jade, Javadoc, JSON, LESS, LUA, Make, Markdown ++, Objective-C, Perl, PowerShell, Python, Rust, ShaderLab, SQL, Visual Basic .NET, YAML.
  • Obsługuje fragmenty kodu (oprócz kolorowania składni i autouzupełniania):
    • CMake, C++, C#, Go, Groovy, HTML, Java, Javadoc, JavaScript, Lua, Perl, PHP, R, Ruby, Shellscript, Swift, XML.
  • Obsługuje przechodzenie do (oprócz kolorowania składni i autouzupełniania):
    • C++, C#, Go, Java, JavaScript, PHP, TypeScript, Visual Basic.

Wprowadzenie do stron Przegląd projektów

Wprowadziliśmy zupełnie nowe środowisko pierwszych kroków dla świeżo utworzonych projektów. Strony wprowadzające zostały zastąpione kartą Przegląd w nowym programie App Configuration Designer. Na stronie zostały wyróżnione akcje, które pozwalają szybko rozpocząć pracę. Ta opcja jest dostępna w projektach programów ASP.NET 4.x, ASP.NET Core i platformy Cordova (Rysunek 11).

(Figure 11) Project Overview
(Rysunek 11) Omówienie projektu

Łączenie się z usługami przy użyciu podłączonych usług

W poprzedniej wersji funkcja ta nosiła nazwę Możliwości usługi. Nazwa została zmieniona na Podłączone usługi.

W programie Visual Studio 2017 Podłączone usługi to nowoczesna wersja funkcji „Dodaj podłączoną usługę” lub „Dodaj odwołanie do usługi”. Funkcja Podłączone usługi ułatwia łączenie aplikacji z usługami. Nowy węzeł o nazwie „Podłączone usługi” jest dostępny w Eksploratorze rozwiązań dla typów projektów sieci Web i mobilnych. Dwukrotne kliknięcie tego węzła spowoduje otwarcie nowej karty na pełnej stronie w programie Visual Studio, gdzie możesz znaleźć popularne usługi firmy Microsoft, z którymi możesz się połączyć.

Wybranie usługi na stronie Podłączone usługi (Rysunek 12) spowoduje wywołanie Kreatora podłączonych usług, który skonfiguruje projekt i pobierze niezbędne pakiety NuGet umożliwiające szybkie i bezproblemowe rozpoczęcie kodowania dla usługi.

Connected Services
(Rysunek 12) Podłączone usługi

Uzyskiwanie narzędzi i funkcji w ramach produktu

Program Visual Studio 2017 umożliwia łatwe uzyskiwanie dodatkowych obciążeń bez opuszczania środowiska IDE (Rysunek 13). Szybkie uruchamianie pozwala znaleźć i uruchomić Instalator programu Visual Studio dla dowolnego obciążenia lub pojedynczego składnika.

In-product acquisition through Quick Launch
(Rysunek 13) Uzyskiwanie narzędzi w ramach produktu przy użyciu Szybkiego uruchamiania

Jeśli nie można znaleźć odpowiednich szablonów, można skorzystać z opcji uruchomienia Instalatora programu Visual Studio z poziomu okna dialogowego Nowy projekt (Rysunek 14).

In-product Quick Launch dialogue
(Rysunek 14) Okno dialogowe Szybkie uruchamianie w ramach produktu

Visual C++

Program Visual Studio 2017 obejmuje wiele aktualizacji i poprawek dotyczących środowiska Visual C++. Dziękujemy za zgłaszanie usterek! Firma Microsoft usunęła ponad 250 usterek i zgłoszonych problemów w kompilatorze i narzędziach — wiele z nich było zgłoszonych przez klientów za pośrednictwem witryny Microsoft Connect. W tej wersji poprawiono wydajność biblioteki STL. Nowy aparat bazy danych oparty na SQLite jest teraz używany domyślnie. Przyspieszy to wykonywanie operacji bazy danych, takich jak przechodzenie do definicji i wyszukiwanie wszystkich odwołań, oraz znacznie skróci czas analizy początkowej rozwiązania. Zapewniamy obecnie bardziej zaawansowane środowisko instalacji oryginalnego obciążenia C++. Dodaliśmy możliwe do wybrania składniki pozwalające na zainstalowanie tylko tych narzędzi, których potrzebujesz. Obsługa CMake w programie Visual Studio jest prawie gotowa! Projekty CMake można załadować bezpośrednio do programu Visual Studio i rozpocząć kodowanie. Środowisko C++ „Otwórz folder” zostało ulepszone — można przenieść kod źródłowy do programu Visual Studio bez konieczności tworzenia jakichkolwiek rozwiązań czy projektów w programie Visual Studio. Polecenie Nawiguj do zostało zmienione na Przejdź do — ogólny termin dla zestawu nowych filtrów nawigacji. Dzięki temu będzie można łatwiej znajdować odpowiednie wyniki, szczególnie w przypadku większych baz kodu.

Analiza kodu języka C++

Podstawowe narzędzia do sprawdzania kodu C++ wymuszające stosowanie podstawowych wytycznych dotyczących języka C++ są obecnie dystrybuowane z programem Visual Studio. Po prostu włącz narzędzia do sprawdzania w oknie dialogowym Rozszerzenia analizy kodu na stronach właściwości projektu (Rysunek 15), a rozszerzenia zostaną uwzględnione podczas uruchamiania analizy kodu.

CppCoreCheck properties page
(Rysunek 15) Strona właściwości CppCoreCheck

Kompilator C++

Zaktualizowaliśmy standardową bibliotekę i kompilator języka C++ o rozszerzoną obsługę funkcji języków C++ 11 i C++ 14, a także wstępną obsługę niektórych funkcji, które mają zostać uwzględnione w standardowym języku C++ 17. Dzięki obsłudze uogólnionego wyrażenia constexpr i NSDMI dla wartości zagregowanych kompilator obsługuje teraz w pełni funkcje dodane w standardowym języku C++14. Należy zauważyć, że w kompilatorze nadal brakuje kilku funkcji ze standardowych języków C++11 i C++98. Program Visual Studio 2017 umożliwia korzystanie z opcji /sdl z opcją /await. Usunęliśmy ograniczenie dotyczące parametru /rtc dla procedur wspólnych.

Ta wersja obejmuje szereg ulepszeń w zakresie optymalizacji i generowania kodu. Do istotnych ulepszeń należą:

  • Ulepszone generowanie kodu pętli: obsługa automatycznej wektoryzacji dzielenia stałych liczb całkowitych, lepsza identyfikacja wzorców funkcji memset.
  • Ulepszone zabezpieczenia kodu: ulepszona emisja diagnostyki kompilatora w zakresie przepełnienia buforu. Opcja /guard:cf chroni teraz instrukcje switch, które generują tabele przeskoków.
  • Opcja /debug:fastlink została ulepszona i w porównaniu z programem Visual Studio 2015 czas łączenia dużych składników skrócił się o 30%.
  • W przypadku korzystania z procedur wspólnych eksperymentalne słowo kluczowe „yield” (dostępne w obszarze przełącznika /await) zostało usunięte. Zamiast tego kod powinien zostać zaktualizowany do korzystania z obiektu „co_yield”. Więcej informacji można znaleźć na blogu zespołu Visual C++.

Biblioteki języka C++

  • [STL] Zwiększenie wydajności obiektu basic_string.
  • [STL] Dodanie obiektów <any>, <string_view>, apply() i make_from_tuple().
  • [STL] Obiekt std::vector został sprawdzony pod kątem prawidłowości i wydajności.
  • [STL] Biblioteka STL unika obecnie wyłuskiwania swobodnych pustych wskaźników.
  • [STL] Dodano obiekty <optional>, <variant>, shared_ptr::weak_type i <cstdalign>.
  • [STL] Włączono słowo kluczowe constexpr języka C++14 w wyrażeniach min/max/minmax(initializer_list) oraz min_element/max_element/minmax_element().
  • [STL] Ponad trzykrotnie zwiększona wydajność konstruktorów przenoszenia std::string/std::wstring.
  • [STL] Aby uzyskać pełną listę ulepszeń biblioteki STL, zobacz blog zespołu Visual C++.
  • [ATL] Kolejny zbiór poprawek zgodności wyszukiwania nazw.
  • [ATL] Istniejące konstruktory przenoszenia i operatory przypisania przenoszenia są teraz prawidłowo oznaczone jako niezwracalne.
  • [ATL] Cofnięto pomijanie prawidłowego ostrzeżenia C4640 o bezpiecznym wątkowo inicjowaniu lokalnych danych statycznych w pliku atlstr.h.
  • [ATL] Bezpieczne wątkowo inicjowanie lokalnych danych statycznych było automatycznie wyłączone w zestawie narzędzi XP podczas [używania biblioteki ATL i tworzenia biblioteki DLL]. Obecnie taka ewentualność nie zachodzi. W ustawieniach projektu można dodać parametr /Zc:threadSafeInit, jeśli wymagane jest wyłączenie bezpiecznego wątkowo inicjowania.
  • [AMP] Przejrzano bibliotekę i poprawiono literówki.
  • [VCRuntime] Nowy nagłówek „cfguard.h” dla symboli ochrony przepływu sterowania.

Środowisko IDE języka C++

Wydajność wprowadzania zmian w konfiguracji jest teraz lepsza w przypadku natywnych projektów w języku C++ i o wiele lepsza w projektach C++/CLI. W momencie pierwszej aktywacji konfiguracja rozwiązania będzie teraz szybsza, a wszystkie kolejne aktywacje konfiguracji rozwiązania będą prawie natychmiastowe.

Nowy aparat bazy danych oparty na SQLite jest teraz używany domyślnie. Przyspieszy to wykonywanie operacji bazy danych, takich jak przechodzenie do definicji i wyszukiwanie wszystkich odwołań, oraz znacznie skróci czas analizy początkowej rozwiązania. Ustawienie zostało przeniesione do pozycji Narzędzia > Opcje edytora > tekstów C/C++ > Zaawansowane (wcześniej > było w obszarze ... Eksperymentalne C/C++>).

Poprawiliśmy wydajność funkcji IntelliSense w zakresie projektów i plików, które nie korzystają z prekompilowanych nagłówków — w bieżącym pliku dla nagłówków będzie tworzony automatyczny prekompilowany nagłówek.

Inne aktualizacje obejmują:

  • Do listy błędów dodaliśmy filtrowanie błędów i pomoc dotyczącą błędów funkcji IntelliSense (Rysunek 16). Kliknięcie kolumny błędów umożliwia teraz filtrowanie (Rysunek 17). Ponadto kliknięcie konkretnego błędu lub naciśnięcie klawisza F1 uruchamia wyszukiwanie online dotyczące danego komunikatu o błędzie.
Error List
(Rysunek 16) Lista błędów
Error List Filtered
(Rysunek 17) Filtrowana lista błędów
  • Dodano możliwość filtrowania listy elementów członkowskich według rodzaju (Rysunek 18).
Member List Filtered
(Rysunek 18) Filtrowana lista elementów członkowskich
  • Dodano nową eksperymentalną funkcję Predictive IntelliSense, która pozwala na kontekstowe filtrowanie pozycji wyświetlanych na liście elementów członkowskich.

  • Nowy interfejs użytkownika Znajdź wszystkie odwołania obejmuje informacje dotyczące tego, czy odczytujesz ze zmiennej czy zapisujesz do zmiennej w wynikach dla kodu C++.

  • Funkcja zmiany kropki na strzałkę IntelliSense została przeniesiona z doświadczalnych do zaawansowanych i teraz jest domyślnie włączona. Funkcje edytora Rozwiń zakresy i Rozwiń pierwszeństwo również zostały przeniesione z doświadczalnych do zaawansowanych.

  • Eksperymentalne funkcje refaktoryzacji Zmień podpis i Wyodrębnij funkcję są teraz dostępne domyślnie.

  • Włączyliśmy nową eksperymentalną funkcję „Szybsze ładowanie projektu” dla projektów w języku C++. Przy następnym otwarciu projektu w języku C++ będzie on ładować się szybciej, a przy każdym następnym będzie ładować się jeszcze szybciej!

  • Ulepszenia obsługi polecenia Otwórz folder. Edytuj, twórz i debuguj projekt C++ inny niż MSBuild, ładując źródła za pomocą polecenia „Otwórz folder”. Dostosowywanie obsługi za pomocą tych plików json:

    • CppProperties.json dostosowuje obsługę funkcji IntelliSense i przeglądania.
    • Tasks.vs.json dostosowuje kroki kompilacji.
    • Launch.vs.json dostosowuje obsługę debugowania.
  • Funkcja IntelliSense w języku C++ będzie działać bez konieczności tworzenia pliku CppProperties.json w folderze głównym. Wraz z tym dodaliśmy nowe listy rozwijane, aby użytkownicy mogli łatwo przełączać się między konfiguracjami dostarczonymi przez pliki CMake i CppProperties.json. Obsługa CMake w opcji Otwórz folder: otwarcie projektu CMake za pomocą opcji „Otwórz folder” automatycznie skonfiguruje środowisko do edytowania, kompilowania i debugowania języka C++.

  • Dalsza konfiguracja jest obsługiwana przy użyciu pliku CMakeSettings.json, który znajduje się w tym samym folderze co plik CMakeLists.txt (Rysunek 19).

CMake Open Folder
(Rysunek 19) CMake w opcji Otwórz folder

Obciążenia instalacji C++

  • Programowanie aplikacji klasycznych dla systemu Windows w języku C++:

    • Zapewniamy obecnie bardziej zaawansowane środowisko instalacji oryginalnego obciążenia C++. Dodaliśmy możliwe do wybrania składniki pozwalające na zainstalowanie tylko tych narzędzi, których potrzebujesz. Należy pamiętać, że wskazane w interfejsie użytkownika instalatora rozmiary instalacji składników nie są prawidłowe i zaniżają całkowity rozmiar instalacji.

    • Aby pomyślnie tworzyć projekty Win32 w obciążeniu C++ dla komputerów stacjonarnych, musisz zainstalować zarówno zestaw narzędzi, jak i zestaw SDK systemu Windows. Zainstalowanie zalecanych (zaznaczonych) składników „Zestaw narzędzi VC++ 2017 w wersji 141 (x86, x64)” oraz „Zestaw SDK systemu Windows 10 (10.0.14393)” da pewność, że będzie to możliwe. Jeśli potrzebne narzędzia nie zostaną zainstalowane, projekty nie będą pomyślnie tworzone i kreator będzie się zawieszać.

  • Programowanie dla systemu Linux w języku C++:

    • Popularne rozszerzenie Visual C++ for Linux Development stanowi obecnie cześć programu Visual Studio. Ta instalacja zawiera wszystko, czego potrzebujesz do tworzenia i debugowania aplikacji w języku C++ działających w środowisku systemu Linux.
  • Programowanie gier w języku C++:

    • Pełnych możliwości języka C++ można użyć do tworzenia profesjonalnych gier obsługiwanych przy użyciu zestawu funkcji DirectX lub Cocos2d.
  • Programowanie aplikacji mobilnych w języku C++ (systemy Android i iOS):

    • Program Visual Studio umożliwia obecnie programowanie i debugowanie aplikacji mobilnych przeznaczonych dla systemów Android oraz iOS.
  • Programowanie na platformie uniwersalnej systemu Windows:

    • Język C++ stanowi składnik opcjonalny obciążenia programowania zawartości dla platformy uniwersalnej systemu Windows. Obecnie uaktualnianie projektów C++ należy wykonywać ręcznie. Po otwarciu projektu przeznaczonego dla wersji 140 platformy uniwersalnej systemu Windows (UWP) w programie Visual Studio 2017 musisz wybrać zestaw narzędzi platformy w wersji 141 na stronach właściwości projektu, jeśli nie masz zainstalowanego programu Visual Studio 2015.

Zestaw narzędzi platformy Clang/C2

Zestaw narzędzi Clang/C2 dostarczany z programem Visual Studio 2017 obsługuje teraz przełącznik /bigobj, który ma kluczowe znaczenie podczas kompilowania dużych projektów. Oferuje on również kilka ważnych poprawek, zarówno we frontonie, jak i zapleczu kompilatora.

C# i Visual Basic

Rozszerzenia językowe

W tej wersji wprowadzono obsługę funkcji języków C# 7.0 i Visual Basic 15, m.in.:

Dla języka C#:

Dla języka Visual Basic:

  • Krotki wartości wprowadzają obsługę języka, aby zapewnić możliwość korzystania z krotek w celu tymczasowego grupowania zestawu wartości z kontrolą typów: Dim point As (x As Integer, y As Integer) = GetOffset().
  • Zużycie wartości zwracanej ByRef rozszerza język na potrzeby obsługi zużycia funkcji i właściwości z bibliotek, które zawierają wartości zwracane ByRef.
  • Literały binarne oraz separatory grup cyfr umożliwiają natywną reprezentację liczb binarnych. Jest to bardzo korzystne w przypadku masek bitowych i wyliczeń flag: &B1001_0011.

Aby uzyskać więcej informacji, obserwuj projektowanie języków w serwisach CSharpLang GitHub i VBLang GitHub, aby dowiedzieć się więcej na temat tych i innych proponowanych rozszerzeń języków.

Szybkie akcje i operacje refaktoryzacji

Program Visual Studio oferuje wiele operacji refaktoryzacji podnoszących wydajność i zwiększających czytelność kodu. Oto kilka z nich:

  • Uproszczenie inicjowania obiektu za pomocą inicjatora (Rysunek 20).
Use object initializer
(Rysunek 20) Użyj inicjatora obiektu
  • Przeniesienie wbudowanych deklaracji zmiennej out za pomocą nowej funkcji języka C#7 (Rysunek 21).
Move out variable inline
(Rysunek 21) Wyprowadzanie wbudowanej zmiennej
  • Upraszcza sprawdzanie wartości null i wyrażeń throw za pomocą operatora łączenia wartości null, korzystając z nowej funkcji języka C#7 (Rysunek 22).
Use throw expression with null-coalescing operator
(Rysunek 22) Używanie wyrażenia throw z operatorem łączenia wartości null
  • Przeniesienie typu do pasującego pliku: wyodrębnienie typu z jednego pliku i umieszczenie go w innym pliku o zgodnej nazwie jednym kliknięciem za pośrednictwem obiektu Ctrl+.
  • Zsynchronizowanie nazwy pliku i typu: jeśli nazwa pliku i typu nie są zsynchronizowane, można użyć obiektu Ctrl+.
  • Konwertowanie obiektu String.Format do interpolacji ciągów: wykorzystaj funkcję 6 języków języka C#, używając tej szybkiej akcji.
  • Dodawanie brakujących przypadków do przełącznika C# lub Visual Basic Select.
  • Konwertowanie właściwości do metody i na odwrót.
  • Dodawanie odwołania do pakietu: oferuje automatyczne pobieranie oraz instalowanie pakietu NuGet (i dodawanie przy użyciu przełącznika /Import) dla nieznanego typu. Aby włączyć tę funkcję, przejdź do pozycji Narzędzia > Opcje > Edytor > tekstu [C# / Basic] > Zaawansowane > sugerowanie przy użyciu typów w zestawach referencyjnych / Sugerowanie użycia dla typów w pakietach NuGet.
  • Oznaczanie metod asynchronicznych jako synchroniczne (gdy ma to zastosowanie).
  • Obsługa dopasowywania „rozmytego” dla błędnie wpisanych typów.
Konfiguracja i wymuszanie konwencji kodowania

Korzystając z obsługi polecenia EditorConfig w programie Visual Studio, we współpracy ze społecznością dodaliśmy ustawienia stylu kodu .NET do formatu pliku. Oznacza to, że można skonfigurować konwencje stylu kodu dla zespołu i zaewidencjonować je w systemie kontroli źródła w celu otrzymywania przez deweloperów błyskawicznych informacji o naruszeniach tych konwencji podczas pisania w edytorze. Wszystkie opcje stylu kodu są dostępne w pliku .editorconfig repozytorium Roslyn. Można również znaleźć je w dokumentacji. Możesz nadal konfigurować ustawienia stylu kodu specyficzne dla maszyny w Edytorze > tekstów Opcji > narzędzi > [C#/Basic] > Styl kodu, a te reguły są zastępowane, gdy element EditorConfig jest obecny i powoduje konflikty.

Dodaliśmy i zaktualizowaliśmy również analizatory stylu, aby pomóc użytkownikom w dostosowywaniu i wymuszaniu konwencji kodowania w zespole. Te zmiany obejmują następujące sytuacje:

  • nadawanie nazw regułom stylu,
  • używanie zmiennej var lub typów jawnych,
  • używanie zmiennej this. lub Me. w przypadku dostępu do elementu członkowskiego,
  • używanie wyrażeń w treści lub bloków.
  • używanie dopasowania wzorca do sprawdzania cast i null,
  • używanie jawnych nazw krotek.
  • uproszczenie sprawdzania wartości null przy użyciu wyrażeń throw, delegatów warunkowych, wyrażeń łączących i propagacji wartości null.
  • wymagane nawiasy klamrowe.

Uwaga: kilka z tych reguł stylu kodu jest konfigurowanych domyślnie jako Sugestie w edytorze (Rysunek 23).

Configure code style preferences and enforcement from EditorConfig
(Rysunek 23) Konfiguracja i wymuszanie preferencji stylu kodu przy użyciu pliku EditorConfig

Ulepszenia funkcji IntelliSense

To wydanie wprowadza również ulepszenia funkcji IntelliSense, które pozwalają zwiększyć produktywność podczas pracy z dużym rozwiązaniem lub nieznaną bazą kodu. Do funkcji IntelliSense dodaliśmy pasek ikon, który umożliwia filtrowanie listy składowych według typu (np. metody, właściwości czy klasy). Każdy przełącznik filtru ma swój skrót klawiaturowy, który można poznać, najeżdżając ikonę kursorem. Aby włączyć tę funkcję, przejdź do pozycji Narzędzia>Opcje>Edytor tekstów>[C# |Basic]>IntelliSense, a następnie wybierz opcje filtrowania i wyróżniania (Rysunek 24).

IntelliSense Completion Filtering
(Rysunek 24) Filtrowanie po ukończeniu pracy z funkcją IntelliSense

Inne ulepszenia Edytora

  • Długi ciąg można teraz podzielić na wiele połączonych ciągów, ustawiając kursor w środku ciągu i naciskając klawisz Enter.
  • Włożyliśmy dużo pracy w poprawienie czasu reakcji środowiska IDE w obecności operacji w tle, które służą do obliczania diagnostyki i informacji CodeLens.

F#

Obsługa funkcji języka F# 4.1

  • Krotki struktury, które współdziałają z krotkami języka C# 7/VB 15.
  • Wartości zwracane Byref, które obsługują zużycie wartości zwracanych ref C# 7.
  • Obsługa rekordu struktury za pomocą atrybutu [<Struct>] (Will Smith).
  • Obsługa unii rozłącznej struktury z pomocą atrybutu [<Struct>].
  • Nowy typ Result<'TSuccess, 'TFailure> z funkcjami pomocniczymi w elemencie FSharp.Core (Oskar Gewalli).
  • Słowo kluczowe fixed, które obsługuje przypinanie typu wskaźnika lokalnie na stosie.
  • Podkreślenia w literałach numerycznych (Avi Avni).
  • Argumenty atrybutów informacji o wywołującym (Lincoln Atkinson i Avi Avni).
  • Wzajemnie referencyjne typy i moduły w obrębie tego samego pliku za pośrednictwem obiektów namespace rec i module rec.
  • Niejawny sufiks „Module” w przypadku modułów, które mają taką samą nazwę jako typ.

Ulepszenia kompilatora języka F# i języka FSharp.Core

(Wiele z nich zostało wprowadzonych przez społeczność pasjonatów języka F#)

Nowy edytor oparty na obszarach roboczych Roslyn

(Wiele nowych funkcji IDE dzięki wyjątkowej społeczności pasjonatów języka F#)

Dodatkowe współtworzenie przez społeczność języka F#

Chcielibyśmy podziękować całej społeczności pasjonatów języka F# za testowanie kompilacji narzędzi języka F# w programie Visual Studio 2017, zgłaszanie usterek, prowadzenie dyskusji oraz wdrażanie poprawek i funkcji. Powodzenie języka F# w programie Visual Studio 2017 naprawdę nie byłoby możliwe bez społeczności pasjonatów języka F#. Zobacz pełną listę współautorów.

JavaScript i TypeScript

TypeScript 2.1

Narzędzie TypeScript 2.1 jest dostępne dla wszystkich projektów TypeScript w programie Visual Studio. Narzędzie TypeScript 2.1 zapewnia polecenie async/await niskiego poziomu, lepsze wnioskowanie o typie, rozszerzenie lokalnego obiektu i inne funkcje! Aby uzyskać więcej informacji o wersji, zapoznaj się z wpisem na blogu poświęconym tej wersji lub z pełnym dziennikiem zmian.

Usługa języka JavaScript

Jest dostępna i domyślnie włączona nowa usługa języka JavaScript (Rysunek 25). Nowa usługa oferuje ulepszoną funkcję IntelliSense oraz dodaje obsługę funkcji IntelliSense na potrzeby adnotacji komentarzy JSDoc i formatów modułów ES6 i Common JS. Ponadto obsługiwana jest składnia JSX i funkcje wersji ES2016, takie jak generatory, moduły i dekoratory. Aby uzyskać więcej informacji, zobacz ten wpis na blogu lub dokumentację JavaScript IntelliSense w witrynie GitHub.

Rich JavaScript IntelliSense for jQuery
(Rysunek 25) Rozbudowana funkcja IntelliSense języka JavaScript w bibliotece jQuery

Usprawnienia wydajności

Poprawa wydajności była jednym z najważniejszych zadań w tej wersji. Wprowadzono kilka optymalizacji usprawniających właściwości pamięci i skracających czas odpowiedzi. Cała usługa języka JavaScript/TypeScript została przeniesiona do procesu satelickiego poza devenv.exe w celu zapewnienia zwolnienia pamięci w największych projektach Visual Studio. Podczas pracy z dużymi projektami JavaScript zużycie pamięci w procesach programu Visual Studio będzie niższe, a awarie spowodowane brakiem pamięci będą zdarzały się rzadziej.

Debugowanie i diagnostyka

Uruchom do kliknięcia

Po prostu kliknij ikonę obok wiersza kodu podczas debugowania, aby uruchomić kod do tego wiersza (Rysunek 26). Nie musisz już ustawiać tymczasowych punktów przerwania lub wykonywać kilku kroków w celu wykonania kodu i zatrzymania na wybranym wierszu. Teraz po zatrzymaniu w stanie przerwania w obszarze debugera ikona Uruchom do kliknięcia zostaje wyświetlona obok wiersza kodu, nad którym znajduje się wskaźnik myszy. Przenieś wskaźnik myszy na ikonę i kliknij przycisk — od tej pory wykonywanie kodu będzie zatrzymywać się na tym wierszu. Można wyłączyć tę funkcję z menu głównego, klikając pozycję Debuguj>Opcje>Włącz uruchamianie.

Run to Click Icon
(Rysunek 26) Ikona Uruchom do kliknięcia

Dołącz do filtra procesu

Łatwo wyszukuj w oknie dialogowym Dołącz do procesu (Rysunek 27), aby szybko znaleźć proces, do którego chcesz dołączyć debuger. Lista uruchomionych procesów zostanie przefiltrowana w celu uzyskania elementów spełniających kryteria wyszukiwania. Filtr wyszukiwania jest umocowany i będzie pamiętać poprzednie wyszukiwanie po ponownym otwarciu okna dialogowego.

Attach to Process Filter
(Rysunek 27) Dołącz do filtra procesu

Ponownie dołącz do procesu

Teraz możesz szybko podłączyć się ponownie do procesów, które były wcześniej debugowane. Wyzwolenie nowego polecenia Debuguj/Ponownie dołącz do procesu (Shift+Alt+P) spowoduje natychmiastową próbę dołączenia debugera do ostatnich procesów z poprzedniej sesji debugowania, która została wywołana z okna dialogowego Dołączanie do procesu. Debuger ponownie dołączy do procesów, najpierw próbując dopasować poprzedni identyfikator procesu, a następnie dopasowując do poprzedniej nazwy procesu. Jeśli nie znaleziono żadnych dopasowań lub znaleziono wiele procesów o takiej samej nazwie, zostanie wyświetlone okno dialogowe „Dołączanie do procesu”, dzięki czemu można będzie wybrać zamierzony proces.

Nowy pomocnik wyjątków

Nowy pomocnik wyjątków (Rysunek 28) umożliwia wyświetlanie skróconych informacji w kompaktowym niemodalnym oknie dialogowym, które zapewnia błyskawiczny dostęp do wyjątków wewnętrznych. Podczas diagnozowania obiektu NullReferenceException można szybko sprawdzić wartość null bezpośrednio w Pomocniku wyjątków. Teraz możesz wykluczyć przerywanie dla typów wyjątków zgłoszonych z określonych modułów, klikając pole wyboru w celu dodania warunku w przypadku zatrzymania na zgłoszonym wyjątku. Przeczytaj ten wpis na blogu, aby uzyskać bardziej szczegółowe informacje dotyczące nowych zalet pomocnika wyjątków.

The New Exception Helper dialog
(Rysunek 28) Okno dialogowe nowego pomocnika wyjątków

Dodawanie warunków do ustawień wyjątków

Podczas konfigurowania debugera tak, aby przerywał działanie w przypadku zgłoszenia wyjątku, można dodać warunki, aby debuger przerywał działanie tylko wtedy, gdy wyjątki zostaną zgłoszone w określonych modułach (Rysunek 29).

Edit Conditions dialog box
(Rysunek 29) Okno dialogowe Edytowanie warunków

Usprawnienia ułatwień dostępu do debugera

Teraz możesz wydajniej korzystać z kilku okien debugera (stosu wywołań, zmiennych lokalnych, zmiennych automatycznych, wyrażeń kontrolnych i funkcji Quickwatch) przy użyciu czytników ekranu i innych ułatwień dostępu.

Zdarzenia IntelliTrace dla platformy .NET Core

Funkcja IntelliTrace obsługuje teraz zdarzenia MVC, ADO.NET i HttpClient dla aplikacji platformy ASP.NET Core. Będą one wyświetlane na karcie Zdarzenia w oknie Narzędzia diagnostyczne.

Aktualizacje okna Narzędzia diagnostyczne

Podczas uruchamiania sesji debugowania zobaczysz nowy widok Podsumowanie (Rysunek 30) dla aplikacji w oknie Narzędzia diagnostyczne. Z tego miejsca będziesz mieć możliwość:

Summary tab in Diagnostics Tools Window
(Rysunek 30) Karta Podsumowanie w oknie Narzędzia diagnostyczne

Aktualizacje profilera wydajności

Profiler wydajności może teraz zostać dołączony do uruchomionego procesu. Narzędzie Użycie procesora CPU, narzędzie Użycie procesora GPU i Kreator wydajności obsługują teraz dołączanie do uruchomionego procesu.

Aktualizacje narzędzia Użycie procesora CPU

Wprowadzono kilka ulepszeń do narzędzia Użycie procesora CPU:

  • Lepsza obsługa kodu zewnętrznego — narzędzie Użycie procesora CPU zapewnia obecnie lepszy wgląd w koszty funkcji bibliotek i struktur w przypadku wywołania przez kod użytkownika.
  • Widok funkcji (Rysunek 31) — widok, który określa pozycję funkcji w kontekście kosztu użycia procesora CPU.
Functions List
(Rysunek 31) Lista funkcji
  • Widok wywołujący/wywoływany (Rysunek 32) pozwala na badanie kosztów wywołań funkcji wykonanych do i z wybranej funkcji.
Caller / Callee View
(Rysunek 32) Widok wywołujący/wywoływany
  • Widok źródła wyświetla kod źródłowy funkcji, kiedy funkcja zostanie wybrana w narzędziu Użycie procesora CPU.

Obsługa debugowania Chrome

W przypadku uruchamiania debugowania projektów programu ASP.NET i wybrania jako przeglądarki programu Google Chrome program Visual Studio będzie debugował Twój kod JavaScript w przeglądarce Chrome. Jeśli zamiast tego wolisz używać narzędzi programistycznych w przeglądarce, możesz wyłączyć tę funkcję w obszarze Narzędzia > Opcje > debugowania.

Testy jednostkowe na żywo

Live Unit Testing (Rysunek 33) to funkcja w programie Visual Studio 2017 Enterprise, która wyświetla na żywo wyniki testów jednostek i pokrycie kodu w edytorze. Obsługuje platformy testowe MSTest, xUnit i Nunit dla projektów C# i VB przeznaczonych dla programu .NET Framework.

Live Unit Testing
(Rysunek 33) Live Unit Testing

Zobacz blog dotyczący funkcji Live Unit Testing, aby uzyskać więcej szczegółów.

Narzędzia do testowania

Kojarzenie automatyzacji z elementami roboczymi przypadków testowych za pomocą Eksploratora testów

Teraz można kojarzyć automatyzację z elementami roboczymi przypadków testowych (Rysunek 34), wybierając metodę testową w Eksploratorze testów. Nowe środowisko pozwala również wyświetlić wszystkie istniejące skojarzenia dla wybranej metody testowej.

Wystarczy kliknąć prawym przyciskiem myszy test w Eksploratorze testów...

Test Explorer Associate Automation
(Rysunek 34) Kojarzenie automatyzacji w Eksploratorze testów

...i podać identyfikator przypadku testowego, aby utworzyć skojarzenie (Rysunek 35).

Associate Automation
(Rysunek 35) Kojarzenie automatyzacji

W poprzednich wersjach programu Visual Studio można to było zrobić za pomocą formularza elementu roboczego. Obsługę opartą na formularzu elementu roboczego można włączyć, włączając tryb zgodności przy użyciu opcji Narzędzia | Opcje (Rysunek 36).

Work Item Form Compatibility mode
(Rysunek 36) Tryb zgodności formularza elementu roboczego

Team Explorer

Nowe funkcje usługi Git

Do programu Visual Studio 2017 dodaliśmy nowe funkcje usługi Git, które umożliwiają wykonanie większej części przepływu pracy na całej trasie bez opuszczania środowiska IDE. Można łatwo wyświetlać różnice dla zatwierdzeń wychodzących, wykonać wymuszone wypchnięcie, aby ukończyć zmianę bazy, lub wypchnąć zmienione zatwierdzenie, anulować ustawienia gałęzi nadrzędnej i kontynuować zmianę bazy poprawki przy użyciu programu Visual Studio. Ponadto wprowadziliśmy plik git.exe. Pozwala on zapewnić najbardziej aktualne funkcje. Obsługujemy protokół SSH, respektujemy opcje konfiguracji użytkownika i wyświetlamy w programie Team Explorer dokładnie to, co będzie widoczne w wierszu polecenia. Aby dowiedzieć się więcej o tych funkcjach, zapoznaj się z wpisem na blogu.

Nawiązywanie połączenia z programami VSTS i TFS

Na stronie startowej programu Visual Studio i w programie Team Explorer proces połączenia z projektami i klonowania repozytoriów w programach VSTS i TFS został spersonalizowany i usprawniony, dzięki czemu można łatwiej i szybciej znaleźć projekty i repozytoria, z którymi można nawiązać połączenie. Nasza nowa strona łączenia zawiera tylko te projekty i repozytoria, które zostały zamapowane i sklonowane na wszystkich serwerach programów VSTS i TFS (a nie każde repozytorium dla każdego projektu). Ponadto przed klonowaniem repozytoriów nie trzeba już łączyć się z projektem.

Po otwarciu okna dialogowego w celu nawiązania połączenia z programem VSTS i TFS zobaczysz przebudowany interfejs nawigacyjny. Widoczne będą także wszystkie dodane serwery programu TFS, a po nich wszystkie serwery programu VSTS, projekty i repozytoria dla wybranego konta użytkownika. W celu lepszej nawigacji wyniki są wyświetlane w postaci drzewa. Można łączyć się nie tylko z repozytoriami, ale również z kolekcjami i projektami.

Formularze elementów roboczych

Po nawiązaniu połączenia z usługą Visual Studio Team Services z programu Visual Studio 2017 i otwarciu elementu roboczego w przeglądarce sieci Web zostanie wyświetlony formularz elementu roboczego (Rysunek 37). Jeśli jednak połączenie zostanie nawiązane z programem Team Foundation Server 2015 lub starszym, zostaną wyświetlone formularze elementów roboczych w starszej wersji.

Work Item Form in Team Explorer
(Rysunek 37) Formularz elementu roboczego w programie Team Explorer

Rozszerzony przepływ pracy funkcji przesyłania opinii programu Visual Studio

Program Visual Studio 2017 obejmuje uaktualnione środowisko przesyłania opinii, co poprawia komunikację i współpracę. W ramach tego uaktualnienia zauważysz ulepszone pod względem współpracy środowisko zgłaszania problemów w programie Visual Studio uzupełnione o zaawansowany portal sieci Web na potrzeby kompleksowego rozwiązania do przesyłania opinii. Wszystkie opinie przekazane za pośrednictwem funkcji Zgłoś problem w środowisku IDE programu Visual Studio można teraz wyszukiwać, obserwować, głosować na nie, a także pobierać aktualności na ich temat. Kształt tych rozszerzonych środowisk wynika z wielu opinii otrzymanych od użytkowników oraz umożliwia komunikację dwukierunkową między naszymi zespołami i użytkownikami.

Rozszerzalność programu Visual Studio

Nowy format rozszerzalności

Technologia nowego instalatora w programie Visual Studio 2017 zapewnia użytkownikowi większą kontrolę nad instalowanymi narzędziami. Niektórzy użytkownicy mogą instalować tylko podstawowy edytor programu Visual Studio, a inni mogą instalować kilka lub kilkanaście obciążeń. Aby zagwarantować, że zostaną zainstalowane wstępnie wymagane funkcje i rozszerzenia, twórcy rozszerzenia będą teraz mogli podać w manifeście poszczególne składniki wymagane dla rozszerzenia.

Użytkownicy będą ostrzegani podczas próby instalacji rozszerzenia, które nie zostało zbudowane przy użyciu nowego formatu VSIX. Stary format VSIX nie określa koniecznych wymagań wstępnych i może nie działać, jeśli te wymagania wstępne są niedostępne w programie Visual Studio 2017. Nowy format VSIX jest wstecznie zgodny i może współpracować z wcześniejszymi wersjami programu Visual Studio aż do wersji Visual Studio 2012.

Projektant manifestu VSIX został zaktualizowany w celu odzwierciedlenia zmian w manifeście. Na karcie wymagań wstępnych (Rysunek 38) deweloperzy rozszerzenia mogą znaleźć listę zainstalowanych składników, które mogą określić jako wymaganie wstępne swojego rozszerzenia.

Prerequisite tab
(Rysunek 38) Karta wymagań wstępnych

Podczas instalacji rozszerzenia instalator VSIX (Rysunek 39) wskaże brakujące składniki i zainstaluje je obok rozszerzenia.

VSIXInstaller
(Rysunek 39) Instalator VSIX

Zbiorcze modyfikowanie rozszerzeń

W oknie dialogowym Rozszerzenia i aktualizacje (Rysunek 40) możesz teraz zaplanować instalację, aktualizację i dezinstalację wielu rozszerzeń, zanim będzie konieczne ponowne uruchomienie programu Visual Studio. W prawym dolnym rogu znajduje się podsumowanie zaplanowanych zadań. Aby usunąć zaplanowane modyfikacje, kliknij pozycję X obok rozszerzenia, którego instalacja została obecnie zaplanowana.

Extensions and Updates Dialog
(Rysunek 40) Okno dialogowe Rozszerzenia i aktualizacje

Gdy Instalator VSIX wykryje, że wszystkie okna programu Visual Studio są zamknięte, rozpocznie kończenie zaplanowanych modyfikacji (Rysunek 41).

Batched Modification Installer
(Rysunek 41) Instalator wsadowej modyfikacji

Obsługa Ngen

Teraz można wybrać instalację zestawów przy użyciu poleceń Ngen (Rysunek 42).

NGEN Properties
(Rysunek 42) Właściwości NGEN
  • Ngen — czy należy użyć polecenia Ngen w zestawie.
  • Aplikacja Ngen — aplikacja do przekazywania do polecenia Ngen za pośrednictwem przełącznika /ExeConfig.
  • Architektura Ngen — architektura docelowa dla obrazu natywnego. Do opcji należą: x86, x64 i all.
  • Priorytet Ngen — poziom priorytetu programu Ngen.

Instalowanie plików poza katalogiem rozszerzenia

Teraz możesz zainstalować pliki w wybranej liście folderów, które znajdują się poza katalogiem rozszerzenia (Rysunek 43).

VSIX Properties
(Rysunek 43) Właściwości VSIX
  • Uwzględnione w VSIX — uwzględnienie pliku w VSIX użytkownika.
  • Katalog główny instalacji — katalog główny do zainstalowania pliku. Do opcji należą: Default (instalacja wewnątrz katalogu rozszerzenia), PublicAssemblies, ReferenceAssemblies, MSBuild, Schemas, Licenses, RemoteDebugger i VSTargets.
  • Ścieżka docelowa — nazwa pliku, który należy zainstalować na komputerze użytkownika.
  • Ścieżka podrzędna VSIX — ścieżka podrzędna w katalogu głównym instalacji, w którym zostanie zainstalowany plik.

Menedżer roamingu rozszerzeń

Menedżer roamingu rozszerzeń, który stanowi nowość w programie Visual Studio 2017, pomaga śledzić ulubione rozszerzenia we wszystkich środowiskach deweloperskich. Roaming rozszerzeń pozwala na śledzenie zainstalowanych rozszerzeń przez utworzenie zsynchronizowanej listy w chmurze.

Po zalogowaniu się do programu Visual Studio możesz szybko wyświetlić listę rozszerzeń z pozycji Rozszerzenia narzędzi > i Aktualizacje, a następnie kliknąć pozycję Menedżer rozszerzeń mobilnych (Rysunek 44). Za pomocą tej funkcji można śledzić zainstalowane rozszerzenia i wybierać, które z nich mają zostać dodane do listy roamingu. W galerii pojawiają się codziennie nowe rozszerzenia, dzięki czemu to narzędzie umożliwia szybkie i łatwe konfigurowanie każdego środowiska deweloperskiego przy użyciu ulubionych rozszerzeń.

The new Roaming Extension Manager in the Visual Studio IDE
(Rysunek 44) Nowy Menedżer rozszerzenia roamingu w środowisku IDE programu Visual Studio

Korzystając z tej funkcji, można zauważyć 3 typy ikon:

  • Roamed Icon Ikona roamingu — oznacza rozszerzenie, które jest częścią listy roamingu, ale nie jest zainstalowane na tym komputerze. Można je zainstalować, klikając przycisk „Pobierz”.
  • Roamed and Installed Icon Ikona roamingu i instalacji — oznacza wszystkie rozszerzenia, które są częścią listy roamingu i zainstalowane w tym środowisku. Jeśli zdecydujesz, że nie chcesz korzystać z roamingu, możesz usunąć te rozszerzenia, klikając przycisk „Zatrzymaj roaming”.
  • Installed Icon Zainstalowana ikona — oznacza wszystkie rozszerzenia zainstalowane w tym środowisku, ale nie są częścią listy roamingu. Rozszerzenia można dodać do listy roamingu, klikając przycisk „Rozpocznij roaming”.

Te ikony będą określać bieżący stan listy. Rozszerzenia mogą być w dowolnym stanie, więc możesz je dostosowywać w dowolny sposób. Możemy także zrobić to za Ciebie! Wszystkie rozszerzenia pobrane po zalogowaniu się zostaną dodane do listy rozszerzeń korzystających z roamingu i zainstalowanych, w związku z czym będą znajdować się na Twojej liście roamingu i będą dostępne z dowolnego komputera.

Dostosowywanie szablonów elementów i projektów

W programie Visual Studio 2017 nastąpiła przełomowa zmiana sposobu, w jaki program Visual Studio korzysta z szablonów elementów i projektów. Zmiana ta znacznie zwiększa wydajność odnajdywania szablonów. Nowy mechanizm odnajdywania wymaga, aby wszystkie szablony elementów i projektów korzystające ze schematu „vstemplate” były zdefiniowane w plikach manifestu szablonu. Szablony programu Visual Studio, które nie zostaną zdefiniowane w pliku manifestu szablonu, nie będą już widoczne w oknach dialogowych Nowy projekt i Nowy element. Wprawdzie nowe narzędzia do obsługi rozszerzeń generują manifest podczas kompilowania projektu VSIX, ale jeśli masz szablony programu Visual Studio wydane jako część pakietu MSI, musisz dla nich ręcznie wygenerować plik manifestu szablonu. Aby uzyskać więcej informacji, zobacz stronę Uaktualnianie niestandardowych szablonów projektów i elementów dla programu Visual Studio 2017 w witrynie MSDN.

.NET Core i ASP.NET Core

Zawiera ostateczną wersję 1.0 nowych narzędzi programu .NET Core opartych na aparacie MSBuild. Za pomocą programu Visual Studio 2017 można utworzyć biblioteki .NET Standard, aplikacje i biblioteki .NET Core oraz projekty sieci web ASP.NET korzystające z nowego formatu csproj.

Zestaw narzędzi .NET Core jest automatycznie uwzględniany w obciążeniu „Opracowywanie zawartości dla platformy ASP.NET i sieci Web” oraz uwzględniany jako składnik opcjonalny w obciążeniu „Programowanie aplikacji klasycznych dla platformy .NET” w instalatorze. Jeśli użytkownik chce tylko tworzyć aplikacje .NET Core do użycia na wielu platformach, wystarczy jeśli zainstaluje narzędzia .NET Core i ASP.NET Core przy użyciu obciążenia „Programowanie dla wielu platform w środowisku .NET Core” z sekcji instalatora „Inne zestawy narzędzi”.

Funkcje wysokiego poziomu w tej wersji są następujące:

  • Obsługa MSBuild dla projektów .NET Core za pomocą uproszczonego formatu projektu csproj, który ułatwia ręczne edytowanie bez konieczności rozładowania projektu.
  • Edytowanie pliku csproj programu .NET Core jest proste. Wystarczy kliknąć prawym przyciskiem myszy projekt w Eksploratorze rozwiązań i wybrać polecenie „Edytuj”.
  • Obsługa symboli wieloznacznych pliku w pliku projektu, w którym nie trzeba wymieniać wszystkich nazw plików kodu źródłowego, dzięki czemu rozmiar pliku csproj jest niewielki.
  • Odwołania do pakietu NuGet są teraz częścią pliku csproj, łącząc wszystkie odwołania do projektu w jednym pliku.
  • Współdziałanie między projektami .NET Core, .NET Standard i .NET Framework. Na przykład projekt .NET Core może dodać odwołanie między projektami do projektu .NET Standard.
  • Wiele docelowych platform ze wspólnymi celami w jednym projekcie.
  • Istniejące projekty project.json programu .NET Core będą automatycznie migrować do pliku csproj po otwarciu w programie Visual Studio lub można je ręcznie migrować przy użyciu interfejsu wiersza polecenia.
  • Łatwa konfiguracja integracji kompilacji ciągłej aplikacji ASP.NET Core dzięki obsłudze platformy Docker oraz dostarczanie kompilacji ciągłej do usług Azure Container Service ze środowiska IDE programu Visual Studio.

Zobacz bloga programu .NET, aby uzyskać więcej szczegółów.

Tools for Universal Windows App Development

Zaktualizowany łańcuch narzędzi programu .NET Native

Ten zaktualizowany łańcuch narzędzi programu .NET Native dodaje kilka optymalizacji, które poprawiają wydajność środowiska uruchomieniowego na potrzeby aplikacji zarządzanych platformy uniwersalnej systemu Windows w programie Visual Studio. To wydanie zawiera ponad 600 poprawek usterek i funkcji dodanych w odpowiedzi na istotne opinie klientów oraz poprawiających ogólną jakość łańcucha narzędzi.

Pakiet 5.3.0 Microsoft.NETCore.UniversalWindowsPlatform

Ta aktualizacja bibliotek platformy .NET Core NuGet eliminuje wiele kluczowych problemów zgłaszanych przez klientów. Istniejące projekty platformy uniwersalnej systemu Windows można aktualizować do nowej wersji przy użyciu menedżera odwołań NuGet. Ponadto nowy pakiet .NET Core zawiera łańcuch narzędzi .NET Native.

Zestaw SDK i emulator rocznicowej aktualizacji systemu Windows 10

W tej wersji znajdują się zestaw Windows SDK i emulator systemu Windows Phone dla rocznicowej aktualizacji systemu Windows 10.

  • Elementy interfejsu użytkownika tworzone za pomocą zestawu narzędzi będą teraz tworzone z mniejszą liczbą tagów XAML, dzięki czemu zostanie utworzony czystszy i bardziej czytelny kod XAML.
  • Nowe narzędzie opcji w programie XAML Designer umożliwia deweloperom wybranie ustawień motywu interfejsu użytkownika oraz wysokiego kontrastu, których podgląd będzie wyświetlany na powierzchni projektowej.
  • Edytory wartości w oknie Właściwości akceptują teraz proste wyrażenia matematyczne, takie jak „60+20”. Wyrażenia te są natychmiast obliczane (w tym przypadku wynik to 80), a ich wartość wynikowa jest wprowadzana do kodu XAML.

Funkcja programu Manifest Designer do tworzenia wizualnych elementów zawartości

Program Manifest Designer (Rysunek 45) został poddany wizualnemu odświeżeniu i obecnie obejmuje dodaną funkcję generowania wizualnych elementów zawartości dla aplikacji platformy UWP. Teraz można użyć jednego obrazu źródłowego do utworzenia kafelków, logo, ikon i ekranów powitalnych w dowolnej skali, aby dopasować je do każdego typu urządzenia, na którym ma działać aplikacja.

Manifest Visual Asset Generator
(Rysunek 45) Generator wizualnych elementów zawartości manifestu

Analiza interfejsu użytkownika

Narzędzia platformy uniwersalnej systemu Windows obejmują teraz funkcję wykrywania typowych problemów związanych z dostępnością i wydajnością. Po włączeniu narzędzia „Analiza interfejsu użytkownika” w menu Wybierz narzędzia w oknie Narzędzia diagnostyczne problemy te zostaną zgłoszone razem z linkami do przydatnych artykułów wyjaśniających, jak i dlaczego te problemy należy rozwiązać. Po włączeniu analizy interfejsu użytkownika wydajność i dostępność interfejsu użytkownika wysuwają się na pierwszy plan podczas programowania aplikacji.

Xamarin

Program Xamarin 4.4 jest dołączony do programu Visual Studio 2017. Aby uzyskać więcej informacji, zobacz informacje o wersji programu Xamarin.

Ta wersja programu Xamarin dla programu Visual Studio 4.4 jest aktualizacją wersji programów Xamarin.iOS 10.8 i Xamarin.Android 7.2.

Poprawki usterek programu Xamarin

Ta wersja zawiera następujące poprawki:

  • Aplikacje rozszerzenia dla systemu iOS nie kompilują się, zwracając błąd „cannot read Entitlements data” (nie można odczytać danych uprawnień). (4.4.0.31)
  • Zawiera symbole dla raportów programu Watson. (4.4.0.6)
  • Wdrożenie w systemie Android kończy się niepowodzeniem, jeśli rozwiązanie zawiera także projekt Wix. (4.3.1.39)
  • Zakleszczenie przy otwieraniu niektórych projektów dla systemu iOS. (4.3.1.39)
  • Punkty przerwania są pomijane dla odwołań PCL drugiego poziomu. (4.3.1.39)
  • Rozwiązano problem z systemem iOS wynikający z braku zadania CodeSignNativeLibraries. (4.3.1.39)
  • Błąd podczas otwierania scenorysu po nawiązaniu połączenia z serwerem Mac. (4.3.1.39)
  • Projekt biblioteki klas dla systemu Android powinien zawierać właściwość „Kompilowanie przy użyciu systemu Android w wersji” na stronie właściwości. (4.3.1.39)
  • Program Visual Studio zawiesza się podczas przechodzenia do karty "Tools-Options-Xamarin-Other>>>". (4.3.1.39)
  • Program Visual Studio zawiesza się podczas ładowania rozwiązania międzyplatformowego w niektórych środowiskach. (4.3.1.1)
  • Brak odwołania do Microsoft.Csharp w szablonach Visual Studio Project. (4.3.1.1)
  • Nie może połączyć się z serwerem Mac, jeśli skonfigurowana powłoka użytkownika nie używa składni bash. (4.3.1.1)
  • Brak opcji „Submit to Test Cloud” (Prześlij do chmury testowej). Rozwiązano w wersjach Visual Studio 2013 i Visual Studio 2015. (4.3.1.1)
  • Debuger popełnia błędy, gdy nazwa zmiennej lub właściwości jest taka sama jak nazwa klasy innego obiektu. (4.3.1.1)
  • Nie można zmienić nazwy zestawu obrazów z katalogu zasobów. (4.3.1.1)
  • W projektach z rozszerzonymi wyrażeniami kontrolnymi zostaje wymuszone ukrycie folderu „Resources”. (4.3.1.1)
  • Folder „Assets.xcasset” w folderze „Resources” nie jest ukrywany w projektach tvOS. (4.3.1.1)

Visual Studio Tools for Apache Cordova

Ta wersja programu Visual Studio 2017 obejmuje następujące ulepszenia:

  • Symulacja Cordova — nowy oparty na przeglądarce symulator umożliwia szybkie kodowanie i natychmiastowe wyświetlenie wyników w przeglądarce (Rysunek 46). Ponowne ładowanie na żywo, symulacja wtyczek i obsługa platformy Ionic to funkcje, dzięki którym program Visual Studio zapewnia najszybszy przepływ pracy na rynku.
Cordova simulate
(Rysunek 46) Symulacja Cordova
  • Obsługa iOS 10 i XCode 8 — Aktualizacja agenta serwera remotebuild dla programowania w systemie iOS obejmuje teraz obsługę programu XCode 8.

  • Kolorowanie błędów — ze względu na to, że diagnozowanie błędów kompilacji często wymaga, by deweloperzy przeglądali dane wyjściowe kompilacji, zaczęliśmy kolorować błędy w oknie danych wyjściowych kompilacji, aby ułatwić odczytywanie (Rysunek 47). Ponadto dodaliśmy nagłówki, aby odróżnić kroki w procesie kompilacji i ułatwić deweloperom zidentyfikowanie, gdzie w procesie kompilacji wystąpił błąd.

Colorized Errors
(Rysunek 47) Błędy wyróżnione kolorem
  • Pozyskiwanie w ramach produktu — oprócz uproszczonej instalacji w celu zapewnienia szybszego rozpoczęcia tworzenia aplikacji Cordova dodaliśmy teraz w programie Visual Studio ścieżki umożliwiające pozyskiwanie dodatkowych elementów kompilacji w ramach postępu prac programistycznych (Rysunek 48). Jeśli nie zostały zainstalowane składniki systemu Android lub Windows, można je pobrać za pośrednictwem paska wdrażania, co spowoduje uruchomienie instalatora programu Visual Studio i przeprowadzenie instalacji.
In-product acquisition
(Rysunek 48) Pozyskiwanie w ramach produktu
  • Szybkie, niezawodne kompilacje — Nowy instalator programu Visual Studio w połączeniu z instalacją w trybie offline w pełni sprawdzonego łańcucha narzędzi składników innej firmy zapewnia szybsze kompilacje, które mogą również pozwalać na łatwiejsze rozwiązywanie problemów i naprawy.

Ważne

Narzędzia do kompilacji i emulatory dla systemów Android i Windows są teraz opcjonalne. Można je pozyskać dynamicznie poprzez pasek menu kompilacji/wdrażania. Ta wersja programu Visual Studio nie obsługuje projektów Sklepu Windows 8.1. Zalecamy zaktualizowanie projektów Cordova pod kątem systemu Windows 10. Minimalna obsługiwana wersja oprogramowania Cordova została podniesiona do wersji 6.0.0. Projekty przeznaczone dla oprogramowania Cordova w wersji niższej niż 6.0.0 trzeba uaktualnić w pliku config.xml, aby zapewnić możliwość ich kompilowania i wdrażania w programie Visual Studio 2017.

Narzędzia Node.js dla programu Visual Studio

Narzędzia Node.js dla programu Visual Studio zmieniają program Visual Studio w zaawansowane środowisko programistyczne Node.js. Ta wersja koncentruje się na stabilności, wydajności i ogólnej jakości produktu, a w tym na:

  • Lepszej integracji z nową usługą języka Salsa JavaScript.
  • Zmniejszeniu wykorzystania procesora CPU i pamięci oraz skróceniu czasów ładowania projektu.
  • Obsłudze plików szablonów Pug.
  • Bardziej aktualnych szablonach projektów.
  • Obsłudze środowiska platformy testowej Mocha 3.x.
  • Licznych poprawkach.

Dziękujemy wszystkim wspaniałym współpracowników, którzy umożliwili wydanie tej wersji narzędzi Node.js dla programu Visual Studio. Aby uzyskać więcej informacji, zapoznaj się z projektem typu open source Narzędzia Node.js w witrynie GitHub.

Visual Studio Tools for Unity

Visual Studio umożliwia pisanie i debugowanie gier Unity dla wszystkich platform. Program Visual Studio Tools for Unity 3 (Rysunek 49) jest teraz dostępny do zainstalowania z obciążeniem „Programowanie gier za pomocą aparatu Unity” w nowym instalatorze programu Visual Studio 2017. Program Visual Studio Tools for Unity 3 koncentruje się na poprawie edytowania kodu i obsługi debugowania dla deweloperów Unity, a także na ogólnej jakości produktu, w tym na:

  • Obsłudze technologii IntelliSense dla komunikatów Unity.
  • Kolorowaniu kodu komunikatów Unity.
  • Ulepszeniu szacowania wyrażenia w debugerze Unity.
  • Ulepszonych kreatorach komunikatów Unity obsługujących wszystkie typy Unity mogące odbierać komunikaty.
  • Licznych poprawkach błędów i optymalizacjach.
Code completion session for Unity messages
(Rysunek 49) Sesja kończenia kodu dla komunikatów Unity

Redgate

Narzędzia Redgate Data Tools są dołączone do programu Visual Studio

Aby rozszerzyć możliwości środowiska DevOps programu Visual Studio 2017 w celu tworzenia bazy danych SQL Server, narzędzia Redgate Data Tools zawierające narzędzia Redgate SQL Prompt Core, SQL Redgate Search i Redgate ReadyRoll Core, są teraz dostępne w obciążeniu przechowywania danych i przetwarzania.

  • Narzędzie Redgate ReadyRoll Core zawarte w programie Visual Studio Enterprise 2017 ułatwia tworzenie skryptów migracji, zarządzanie zmianami w bazie danych przy użyciu kontroli źródła, a także bezpieczne automatyzowanie wdrożeń zmian w bazach danych programu SQL Server w aplikacjach.
  • Narzędzie Redgate SQL Prompt Core zawarte w programie Visual Studio Enterprise 2017 pomaga szybciej i dokładniej zapisywać w środowisku SQL za pomocą inteligentnego uzupełniania kodu. Dodatek SQL Prompt pozwala automatycznie uzupełnić bazę danych, obiekty systemowe oraz słowa kluczowe i oferuje sugestie dla kolumn podczas wpisywania. Dzięki temu kod jest czystszy i występuje mniej błędów, ponieważ nie trzeba pamiętać wszystkich nazw kolumn ani aliasów.
  • Narzędzie Redgate SQL Search, zawarte we wszystkich wersjach programu Visual Studio 2017, zwiększa wydajność, ułatwiając szybkie odnajdywanie fragmentów i obiektów SQL w wielu bazach danych.

NuGet

Program Visual Studio 2017 zawiera program NuGet 4.0. Ta wersja koncentruje się na obsłudze odwołania do pakietu dla większości typów projektów, ulepszeniach jakości i ulepszeniach wydajności:

  • W projektach WPF, WindowsForms i UWP pakietami można teraz zarządzać za pomocą odwołań do pakietu.
  • Ulepszono obsługę przywracania pakietów NuGet dla uproszczonego przywracania rozwiązań. Teraz można wykonywać przywracanie bez konieczności ładowania jakiegokolwiek projektu.
  • W projektach .NET Core i ASP.NET Core pakiety są teraz zarządzane przy użyciu odwołań pakietu.
  • W programie Visual Studio 2017 lub nowszym plik NuGet.config dla całej maszyny znajduje się teraz w folderze %PROGRAMFILES(X86)%\NuGet\Config\NuGet.config. W przyszłości nuget.exe 4.0.0 + rozważy również nową lokalizację konfiguracji dla całej maszyny. Plik NuGet.config w danych programu nie będzie już miał niejawnego odwołania ani nie będzie rozważany dla hierarchicznego scalania pliku nuget.config.

Narzędzia dla aplikacji języka XAML

Tryb edytuj i kontynuuj języka XAML

Program Visual Studio umożliwia teraz edytowanie języka XAML po uruchomieniu aplikacji uniwersalnych systemu Windows lub programu WPF. Podczas debugowania aplikacji w programie Visual Studio można wprowadzać zmiany znaczników w edytorze kodu XAML, które zostaną odzwierciedlone w uruchomionej aplikacji bez konieczności ponownego kompilowania.

Ulepszenia dotyczące wydajności edytora XAML

  • Filtrowanie IntelliSense — podczas wpisywania kodu XAML na liście uzupełniania będą wyświetlane tylko pasujące typy i zostanie wybrany najlepiej dopasowany element.
  • IntelliSense dla rozszerzenia x:Bind — włączyliśmy uzupełnianie przez funkcję IntelliSense dla rozszerzenia x:Bind podczas tworzenia wiązania do ścieżki i zdarzeń.
  • Uzupełnianie przestrzeni nazw — jeśli odwołanie do przestrzeni nazw nie istnieje (Rysunek 50), nie będzie obsługi IntelliSense podczas wpisywania. Po zakończeniu wpisywania pojawi się porada pomocy z żarówką zawierająca propozycję wygenerowania i wstawienia prefiksu dla typu i dodania definicji przestrzeni nazw w dokumencie XAML.
Code completion session for IntelliSense_without_namespace
(Rysunek 50) Funkcja IntelliSense bez przestrzeni nazw
  • W przypadku typów, które wymagają prefiksu, funkcja IntelliSense zaoferuje autouzupełnianie prefiksu, jeśli odwołanie do przestrzeni nazw już istnieje.

  • Refaktoryzacja zmiany nazwy prefiksu przestrzeni nazw — możesz wywołać akcję zmiany nazwy (Rysunek 51) z menu kontekstowego lub za pomocą skrótu klawiaturowego Ctrl+R+R, gdy kursor znajduje się na prefiksie. Można także podejrzeć zmiany przed ich zastosowaniem.
Namespace prefix rename
(Rysunek 51) Zmiana nazwy prefiksu przestrzeni nazw

  • Usuwanie i sortowanie przestrzeni nazw — możesz teraz usunąć niepotrzebne przestrzenie nazw (Rysunek 52) i posortować je z poziomu menu kontekstowego lub za pomocą skrótu klawiaturowego Ctrl+R+G. Jeśli dokument XAML ma niepotrzebne przestrzenie nazw, pojawi się także ikona żarówki, która daje możliwość ich usunięcia.
lightbulb_remove unnecessary namespace
(Rysunek 52) Żarówka — usuwanie niepotrzebnych przestrzeni nazw

  • Obsługa pliku .editorconfig dla edytora XAML — w pliku .editorconfig można zdefiniować ustawienia dla parametrów indent_style, indent_size i tab_width, które będą używane zamiast ustawień zdefiniowanych w obszarze Narzędzia > Opcje.

  • Wizualizator struktury dla edytora XAML — wizualizator struktury (tj. prowadnice wcięcia) (Rysunek 53) jest obecnie wbudowany w program Visual Studio i osobne rozszerzenie nie jest wymagane. Ta funkcja pozwala zobaczyć kontekst bloku kodu, nad którym pracuje użytkownik, natychmiast i bez przewijania.

Structure Visualizer for XAML editor
(Rysunek 53) Wizualizator struktury dla edytora XAML

Ulepszenia wydajności dotyczące języka XAML

  • Zwiększona wydajność przełącznika karty XAML — wydajność przełącznika karty XAML uległa znacznemu zwiększeniu. W przykładowych projektach klientów czas przełączania skrócił się o ponad 90%.
  • Eliminowanie opóźnień podczas wpisywania w edytorze XAML — wpisywanie w języku XAML jest teraz szybsze niż kiedykolwiek wcześniej. Wykonaliśmy wiele działań w celu zmniejszenia opóźnień wpisywania w edytorze XAML i większość deweloperów powinna zauważyć, że edytor XAML oraz funkcja XAML IntelliSense reagują szybciej. Będzie to najbardziej widoczne podczas edycji pliku języka XAML w projektach korzystających z kontrolek innych firm lub dużych bibliotek kontrolek.

Data Tools i SQL Server

SQL Server Data Tools

W programie Visual Studio 2017 uwzględniono najnowszą aktualizację programu SQL Server Data Tools. Umożliwia ona obsługę najnowszych funkcji usługi Azure SQL Database i programu SQL Server 2016.

Ta wersja łączy łatwość programowania, testowania i wdrażania bazy danych we wszystkich obsługiwanych wersjach programu SQL Server i bazy danych platformy — zarówno lokalnie, jak i w chmurze — dzięki programowi Visual Studio. Wersja ta oferuje również udoskonalenia powierzchni programowalności bazy danych i ulepsza środowisko połączeń SQL, w którym teraz następuje automatyczne odnajdowanie programu SQL Server i baz danych SQL platformy Azure, z którymi można łączyć się za pomocą kliknięcia.

Ponadto w programie Visual Studio 2017 są stosowane typy uwierzytelniania usługi Azure SQL Database oraz uwierzytelnianie hasła i zintegrowane usługi Azure Active Directory.

Developer Analytics Tools

Program Visual Studio 2017 zawiera narzędzia Developer Analytics Tools w wersji 8.6 z następującymi ulepszeniami:

  • Wskaźniki CodeLens pokazują dane telemetryczne, zarówno dotyczące debugowania, jak i aktywne, w projektach wysyłających dane do zasobu usługi Application Insights.
  • Wskaźniki CodeLens wyjątków łączą się z usługą Application Analytics w celu pokazania znaczenia wyjątku dla użytkownika.
  • Wskaźniki CodeLens pokazują żądania, które wystąpiły podczas lokalnych sesji debugowania, w projektach zawierających zestaw SDK usługi Application Insights.
  • Wskaźniki CodeLens żądań i wyjątków są teraz dostępne z projektów Visual Basic.
  • Po opublikowaniu aplikacji za pomocą programu Visual Studio metryki na żywo będą teraz wyświetlane w wyskakującym powiadomieniu.
  • Informacje o cenach usługi Application Insights są teraz wyświetlane w oknie konfiguracji.
  • Zdarzenia dotyczące dostępności są teraz wyświetlane w narzędziach do wyszukiwania i pokazywania trendów.
  • Zdarzenia w narzędziach wyszukiwania i diagnostyki pokazują teraz częstotliwość ich wystąpienia, zliczaną na podstawie próbkowania adaptacyjnego w zestawie SDK.
  • Narzędzie CodeLens pokazuje wyjątki, które wystąpiły podczas lokalnych sesji debugowania w projektach zawierających zestaw SDK usługi Application Insights.
  • Nowy wygląd okna konfiguracji usługi Application Insights.
  • Narzędzie CodeLens do obsługi wyjątków zawiera link do usługi Application Analytics, co pozwala określić wpływ wyjątku na użytkowników.
  • Po dodaniu do projektu usługi Application Insights jest dodawany zestaw JavaScript SDK usługi Application Insights, który umożliwia zbieranie danych telemetrycznych widoku strony.
  • Adnotacje publikacji są teraz wysyłane do zasobu Application Insights w przypadku publikowania aplikacji za pomocą programu Visual Studio.
  • Znaczniki paska przewijania są teraz wyświetlane dla czerwonych i żółtych wskaźników CodeLens Application Insights.

Dowiedz się więcej o usłudze Application Insights w dokumentacji platformy Microsoft Azure.

Office Developer Tools for Visual Studio

Ta wersja zawiera narzędzia Office Developer Tools z następującymi najnowszymi funkcjami i aktualizacjami:

  • Nowe szablony dodatków pakietu Office przeznaczone dla aplikacji Excel, Word, PowerPoint i Outlook.
  • Obsługa nowych funkcji dodatków pakietu Office, takich jak polecenia dodatków, interfejs użytkownika sieci szkieletowej i nowa wersja Office.js.
  • Nowy kod startowy w szablonach, które pokazują, jak zacząć korzystać z nowych funkcji dodatków pakietu Office.
  • Obsługa programu SharePoint 2016 w szablonach dodatków oraz rozwiązań programu SharePoint.

Weryfikacja zależności architektury na żywo

Jeśli w programie Visual Studio Enterprise zostały skonfigurowane diagramy weryfikacji zależności (zwane również diagramami warstwowymi), podczas wprowadzania kodu w Edytorze kodu wysyłane są w czasie rzeczywistym powiadomienia (Rysunek 54) o wszelkich naruszeniach zasad zależności architektonicznych. Błędy będą wyświetlane na liście błędów, a w edytorze tekstów będą wyświetlane zygzaki, co pozwoli zobaczyć dokładną lokalizację naruszenia. Teraz prawdopodobieństwo wprowadzenia niechcianych zależności jest mniejsze.

Live Architecture Dependency validation
(Rysunek 54) Weryfikacja zależności architektury na żywo

Wiersz polecenia dla deweloperów

Skrypty wiersza polecenia dla deweloperów w programie Visual Studio 2017 zostały zaprojektowane od nowa w celu zapewnienia obsługi nowego środowiska instalacji:

  • Zmienne środowiskowe odzwierciedlają tylko zainstalowane obciążenia.
  • Skrót do wiersza polecenia dla deweloperów programu Visual Studio powinien być zgodny z poprzednimi wersjami.
  • Teraz można skonfigurować skrypty wiersza polecenia dla deweloperów za pomocą argumentów wiersza polecenia:
    • Aby uzyskać szczegółowe informacje, w wierszu polecenia wywołaj element common7\tools\vsdevcmd.bat -help (z katalogu instalacyjnego programu VS).

Zestaw Azure SDK dla platformy .NET

Zestaw Azure SDK dla programu .NET Visual Studio jest teraz dostępny do zainstalowania za pomocą nowego instalatora programu Visual Studio. Jeśli wcześniej zainstalowano zestaw Azure SDK dla platformy .NET za pomocą Instalatora platformy sieci Web, teraz można uzyskać te same składniki, instalując obciążenie Azure przy użyciu nowego Instalatora programu Visual Studio. Instalowane pakiety są na tym samym poziomie funkcji co wersja 2.9.5 zestawu SDK. Dla tej wersji programu Visual Studio i wszystkich przyszłych wersji zestaw Azure SDK dla platformy .NET będzie dostępny tylko z poziomu Instalatora programu Visual Studio.


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.1

wydana 14 marca 2017 r.

Najważniejsze problemy rozwiązane w wersji 15.0.1

Są to problemy zgłaszane przez klientów rozwiązane w wersji 15.0.1:


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.2

wydana 28 marca 2017 r.

Najważniejsze problemy rozwiązane w wersji 15.0.2

Są to problemy zgłaszane przez klientów rozwiązane w wersji 15.0.2:


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.3

wydana 31 marca 2017 r.

Podsumowanie aktualizacji w wersji 15.0.3

Zapewniamy teraz obsługę interfejsów API i narzędzi środowisk Xcode 8.3, iOS 10.3, watchOS 3.2 oraz tvOS 10.2 w rozszerzeniu Xamarin.VS dla programu Visual Studio 2017.


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.4

wydana 23 maja 2017 r.

Najważniejsze problemy rozwiązane w wersji 15.0.4

W scenariuszach instalacji w trybie offline nie jest już wymagany dostęp do Internetu.


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.5

wydana 18 września 2017 r.

Najważniejsze problemy rozwiązane w wersji 15.0.5

Są to problemy zgłaszane przez klientów rozwiązane w wersji 15.0.5:


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.6

wydana 14 listopada 2017 r.

Podsumowanie aktualizacji w wersji 15.0.6

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

Firma Microsoft wydała biuletyny zabezpieczeń dla platformy .NET Core i ASP.NET Core. Szczegółowe informacje znajdują się w odpowiednich anonsach w repozytoriach platform .NET Core i ASP.NET Core. Należy zwrócić uwagę na następujące informacje:

CVE-2017-8585 Źle sformułowany certyfikat może spowodować odmowę usługi

Istnieje luka w zabezpieczeniach platformy .NET Core 1.0, 1.1 i 2.0, dla której źle sformułowany certyfikat lub inne dane sformatowane zgodnie z ASN.1 mogą doprowadzić do odmowy usługi z powodu nieskończonej pętli w systemie Linux i macOS. Administratorom systemu doradza się zaktualizowanie ich środowisk uruchomieniowych programu NET. Core do wersji 1.0.8, 1.1.5 i 2.0.1. Deweloperom doradza się zaktualizowanie ich zestawów SDK platformy NET. Core do wersji 2.0.3 lub 1.1.5.

CVE-2017-8700 Obejście CORS może umożliwić ujawnienie informacji

Istnieje luka w zabezpieczeniach w programie ASP.NET Core 1.0 i 1.1, która umożliwia obejście funkcji udostępniania zasobów między różnymi źródłami (CORS), co może prowadzić do ujawnienia informacji.

CVE-2017-11879 Otwarcie przekierowania może spowodować podniesienie uprawnień

Istnieje luka w zabezpieczeniach w programie ASP.NET 2.0 Core, która umożliwia istnienie otwartego przekierowania, prowadzącego do podniesienia uprawnień.

CVE-2017-11770 Odmowa usługi

Istnieje luka w zabezpieczeniach w programie ASP.NET Core 1.0, 1.1 i 2.0, kiedy aplikacja jest obsługiwana za pośrednictwem sterownika Http.Sys systemu Windows, gdy źle sformułowane żądanie może prowadzić do odmowy usługi. Nowe projekty utworzone za pomocą programu ASP.NET Core 1.0 i ASP.NET Core 1.1 będą teraz korzystały z wersji pakietu, które zawierają wymienione powyżej aktualizacje zabezpieczeń. W przypadku istniejących projektów użytkownicy mogą zaktualizować ich pakiety do nowszych wersji za pomocą okna dialogowego Zarządzaj pakietami NuGet.


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.7

wydana 6 grudnia 2017 r.

Podsumowanie aktualizacji w wersji 15.0.7

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

Firma Microsoft wydała biuletyny zabezpieczeń dla programu ASP.NET Core. Szczegółowe informacje znajdują się w odpowiednich anonsach w repozytorium programu ASP.NET Core. Należy zwrócić uwagę na następujące informacje:

CVE-2017-8700 Obejście CORS może umożliwić ujawnienie informacji

Istnieje luka w zabezpieczeniach w programie ASP.NET Core 1.0 i 1.1, która umożliwia obejście funkcji udostępniania zasobów między różnymi źródłami (CORS), co może prowadzić do ujawnienia informacji. Nowe projekty utworzone za pomocą programu ASP.NET Core 1.0 lub ASP.NET Core 1.1 będą teraz korzystały z wersji pakietu, które zawierają wymienioną powyżej aktualizację zabezpieczeń. W przypadku istniejących projektów użytkownicy mogą zaktualizować ich pakiety do nowszych wersji za pomocą okna dialogowego Zarządzaj pakietami NuGet.


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.8

wydana 9 stycznia 2018 r.

Podsumowanie aktualizacji w wersji 15.0.8

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-0786 Pominięcie funkcji zabezpieczeń w weryfikacji certyfikatu X509

Firma Microsoft publikuje ten biuletyn zabezpieczeń, aby udostępnić informacje dotyczące luki w zabezpieczeniach w wersjach publicznych platformy .NET Core 1.0, 1.1 i 2.0. W tym biuletynie podano też wskazówki dla deweloperów dotyczące właściwego aktualizowania aplikacji. Ten biuletyn zabezpieczeń ma również zastosowanie do natywnej platformy .NET dla platformy uniwersalnej systemu Windows.

Firma Microsoft wie o istnieniu luki w zabezpieczeniach w wersjach publicznych platformy .NET Core, która umożliwia atakującemu przedstawienie certyfikatu oznaczonego jako nieważny do określonego celu w taki sposób, że składnik użyje go do tego celu. Ta akcja pomija tagowanie ulepszonego użycia klucza.

Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, zapewniając, że składniki platformy .NET Core w pełni weryfikują certyfikaty. Administratorom systemu doradza się zaktualizowanie ich środowisk uruchomieniowych platformy NET. Core do wersji 1.0.9, 1.1.6 i 2.0.5. Deweloperom doradza się zaktualizowanie ich zestawów SDK platformy NET. Core do wersji 2.1.4 lub 1.1.7.

CVE-2018-0764 Odmowa usługi podczas analizowania dokumentów XML

Firma Microsoft publikuje ten biuletyn zabezpieczeń, aby udostępnić informacje dotyczące luki w zabezpieczeniach w wersjach publicznych platformy .NET Core 1.0, 1.1 i 2.0. W tym biuletynie podano też wskazówki dla deweloperów dotyczące właściwego aktualizowania aplikacji.

Firma Microsoft wie o istnieniu luki w zabezpieczeniach mogącej powodować odmowę usługi we wszystkich wersjach publicznych platformy .NET Core, która wynika z niewłaściwego przetwarzania dokumentów XML. Tę lukę w zabezpieczeniach może wykorzystać atakujący i spowodować odmowę usługi dla aplikacji .NET. Zdalny nieuwierzytelniony atakujący może wykorzystać tę lukę, wysyłając do aplikacji platformy .NET Core specjalnie przygotowane żądanie.

Aktualizacja usuwa tę lukę w zabezpieczeniach, poprawiając obsługę przetwarzania dokumentów XML przez platformę .NET Core. Administratorom systemu doradza się zaktualizowanie ich środowisk uruchomieniowych platformy NET. Core do wersji 1.0.9, 1.1.6 i 2.0.5. Deweloperom doradza się zaktualizowanie ich zestawów SDK platformy NET. Core do wersji 2.1.4 lub 1.1.7.


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.9

wydana 2 lutego 2018 r.

Podsumowanie aktualizacji w wersji 15.0.9

  • Kompilator MSVC został zaktualizowany o obsługę przełącznika /Qspectre, który będzie automatycznie wstawiał barierę przewidywania, gdy kompilator wykryje wystąpienia luki Spectre w wariancie 1. Aby uzyskać więcej informacji o przełączniku /Qspectre, zapoznaj się z blogiem zespołu języka Visual C++.
  • Zaktualizowaliśmy zestaw Java™ Development Kit 8 do aktualizacji 161 (JDK w wersji 8u161) w celu naprawienia błędów pobierania.

Release Notes IconProgram Visual Studio 2017 w wersji 15.0.10

wydana 21 lutego 2018 r.

Podsumowanie aktualizacji w wersji 15.0.10

Program Team Explorer obsługuje zabezpieczenia TLSv1.2. Zaktualizowano składniki Git i Menedżer poświadczeń Git dostarczane razem z programem Visual Studio. Zaktualizowany został również opcjonalny składnik Git dla systemu Windows. Ta aktualizacja umożliwia usłudze Git łączenie się z użyciem standardu zabezpieczeń TLSv1.2 z usługami, które mają przestarzałą obsługę zabezpieczeń TLSv1 i TLSv1.1.


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.11

wydana 13 marca 2018 r.

Podsumowanie aktualizacji w wersji 15.0.11

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-0875 Biuletyny zabezpieczeń firmy Microsoft dla platformy .NET Core

Firma Microsoft wie o istnieniu luki w zabezpieczeniach w wersjach publicznych platformy .NET Core, w wyniku której złośliwy plik lub żądanie sieci Web może spowodować atak typu „odmowa usługi” (DoS).

  • Administratorom systemu zaleca się zaktualizowanie ich środowisk uruchomieniowych platformy NET. Core do wersji 1.0.10, 1.1.7 i 2.0.6. Deweloperom zaleca się zaktualizowanie ich zestawów SDK platformy NET. Core do wersji 1.1.8 lub 2.1.101.

Release Notes IconProgram Visual Studio 2017 w wersji 15.0.12

wydana 10 kwietnia 2018 r.

Podsumowanie aktualizacji w wersji 15.0.12

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-1037 Biuletyny zabezpieczeń firmy Microsoft dla luki w zabezpieczeniach programu Microsoft Visual Studio polegającej na ujawnieniu informacji

Istnieje luka w zabezpieczeniach dotycząca ujawnienia informacji, która polega na tym, że program Visual Studio nieprawidłowo ujawnia ograniczoną zawartość niezainicjowanej pamięci podczas kompilowania plików bazy danych programu (PDB). Osoba atakująca, która skorzystała z takiego ujawnienia informacji, może wyświetlić niezainicjowaną pamięć wystąpienia programu Visual Studio użytego do kompilowania pliku PDB.

Aby wykorzystać lukę w zabezpieczeniach, osoba atakująca potrzebuje dostępu do odpowiedniego pliku PDB utworzonego za pomocą zagrożonej wersji programu Visual Studio. Osoba atakująca nie może w żaden sposób wymusić na deweloperach takiego ujawnienia informacji.

Aktualizacja zabezpieczeń usuwa lukę w zabezpieczeniach, poprawiając sposób generowania plików PDB podczas kompilowania projektu.


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.13

wydana 26 kwietnia 2018 r.

Podsumowanie aktualizacji w wersji 15.0.13

  • Zaktualizowaliśmy zestaw Java™ Development Kit 8 do aktualizacji 172 (JDK w wersji 8u172).

Release Notes IconProgram Visual Studio 2017 w wersji 15.0.14

wydana 31 maja 2018 r.

Podsumowanie aktualizacji w wersji 15.0.14

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-11235 Biuletyn zabezpieczeń firmy Microsoft dotyczący luk w zabezpieczeniach usługi Git

Usunęliśmy luki w zabezpieczeniach usługi Git, które zostały ujawnione przez społeczność Git. Luka w zabezpieczeniach może prowadzić do wykonania dowolnego kodu, gdy użytkownik sklonuje złośliwe repozytorium.


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.15

wydana 10 lipca 2018 r.

Podsumowanie aktualizacji w wersji 15.0.15

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-8172 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w programie Visual Studio

Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu, która może prowadzić do wykorzystania maszyny użytkownika po otwarciu specjalnie przygotowanego projektu lub pliku zasobów. Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, poprawiając sposób sprawdzania źródłowej adiustacji pliku.

CVE-2018-8260 Luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w programie .NET Framework

Istnieje luka w zabezpieczeniach dotycząca zdalnego wykonywania kodu w oprogramowaniu platformy .NET, która może prowadzić do wykorzystania maszyny użytkownika przez umożliwienie osobom atakującym uruchamiania dowolnego kodu w kontekście bieżącego użytkownika. Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach, poprawiając sposób sprawdzania źródłowej adiustacji pliku na platformie .NET.

CVE-2018-8232 Luka w zabezpieczeniach polegająca na nieuprawnionej modyfikacji w programie Microsoft Macro Assembler na platformie .NET

Luka w zabezpieczeniach polegająca na nieuprawnionej modyfikacji związana z nieprawidłową weryfikacją kodu przez program Microsoft Macro Assembler. Aktualizacja zabezpieczeń usuwa tę lukę w zabezpieczeniach przez sprawdzenie, czy program Microsoft Macro Assembler prawidłowo weryfikuje logikę kodu.

CVE-2018-8171 Luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń programu ASP.NET Core

Luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń programu ASP.NET Core istnieje, gdy liczba niepoprawnych prób zalogowania nie zostanie zweryfikowana, co może prowadzić do podejmowania przez osobę atakującą nieskończonych prób uwierzytelnienia. Aktualizacja usuwa tę lukę w zabezpieczeniach, weryfikując liczbę niepoprawnych prób logowania.


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.16

wydana 2 sierpnia 2018 r.

Podsumowanie aktualizacji w wersji 15.0.16

  • W ramach tej wersji jest teraz instalowany zestaw Java™ Development Kit 8, aktualizacja 181 (JDK w wersji 8u181).

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-8356 Luka w zabezpieczeniach dotycząca obejścia funkcji zabezpieczeń platformy .NET Core

Firma Microsoft wie o luce w zabezpieczeniach dotyczącej obejścia funkcji zabezpieczeń, która występuje w sytuacji, gdy platforma .NET Core nie zweryfikuje poprawnie certyfikatów. Osoba atakująca, która pomyślnie wykorzystała tę lukę w zabezpieczeniach, może przedstawić wygasły certyfikat w przypadku zakwestionowania. Aktualizacja usuwa tę lukę w zabezpieczeniach, poprawiając obsługę weryfikacji certyfikatów przez platformę .NET Core.


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.17

wydana 14 sierpnia 2018 r.

Podsumowanie aktualizacji w wersji 15.0.17

Powiadomienie o biuletynie zabezpieczeń programu Visual Studio 2017 w wersji 15.0

CVE-2018-0952 Luka w zabezpieczeniach dotycząca podniesienia poziomu uprawnień standardowego modułu zbierającego centrum diagnostyki

W usłudze Visual Studio istnieje luka w zabezpieczeniach dotycząca podnoszenia poziomu uprawnień, co może prowadzić do uzyskania uprawnień systemowych przez użytkownika nie będącego administratorem podczas zapisywania plików. Osoba atakująca, która wykorzysta tę lukę, może zapisywać pliki jako system, mając dostęp tylko na poziomie użytkownika. Ta aktualizacja zabezpieczeń rozwiązuje ten problem, personifikując bieżącego użytkownika w celu weryfikacji dostępu do lokalizacji pliku.


Release Notes IconProgram Visual Studio 2017 w wersji 15.0.18

wydana 28 sierpnia 2018 r.

Najważniejsze problemy rozwiązane w wersji 15.0.18


Znane problemy

Bardzo uważnie wysłuchujemy opinii użytkowników. Odwiedź witrynę Społeczność deweloperów, aby wyszukać najnowsze problemy, zarejestrować nowe problemy i ocenić te, które już istnieją.


Opinie i sugestie

Chcemy poznać Twoje zdanie! Problemy możesz zgłaszać za pomocą opcji Zgłoś problem w prawym górnym rogu instalatora lub bezpośrednio w środowisku IDE programu Visual Studio. Ikona Report a Problem Icon znajduje się w prawym górnym rogu. Zgłaszanie sugestii dotyczących produktów i śledzenie problemów jest możliwe w społeczności deweloperów programu Visual Studio, gdzie można też zadawać pytania, znajdować odpowiedzi i proponować nowe funkcje. Możesz też uzyskać bezpłatną pomoc dotyczącą instalacji za pośrednictwem naszej pomocy technicznej przez czat na żywo.


Blogi

Skorzystaj ze szczegółowych informacji i zaleceń dostępnych w witrynie blogów dotyczących narzędzi programistycznych, aby być na bieżąco ze wszystkimi nowymi wersjami i zyskać dostęp do szczegółowych wpisów dotyczących szerokiego zakresu funkcji.

Developer Tools Blogs


Historia informacji o wersji programu Visual Studio 2017

Więcej informacji na temat poprzednich wersji programu Visual Studio 2017 można znaleźć na stronie Historia informacji o wersji programu Visual Studio 2017.


Początek strony