Visual Studio Icon Informacje o wersji 15.5 programu Visual Studio 2017


Społeczność deweloperów | Wymagania systemowe | Zgodność | Kod możliwy do rozpowszechniania | Postanowienia licencyjne | Blogi | Znane problemy



Uwaga

To nie jest najnowsza wersja programu Visual Studio. Aby pobrać najnowszą wersję, odwiedź informacje o bieżącej wersji programu Visual Studio 2019.


Aby pobrać program Visual Studio 2017, kliknij przycisk pobierania i po wyświetleniu monitu zaloguj się za pomocą swojej subskrypcji programu Visual Studio. Jeśli nie masz subskrypcji programu Visual Studio, możesz ją bezpłatnie utworzyć, klikając pozycję „Utwórz nowe konto Microsoft” na stronie logowania. Zalecamy używanie programu Visual Studio 2019, aby mieć dostęp do najnowszych funkcji i poprawek błędów.

Odwiedź stronę starszej wersji, aby pobrać inne produkty Visual Studio 2017.


Co nowego w wersji 15.5

Blog dotyczący programu Visual Studio to oficjalne źródło informacji o produkcie pochodzących od zespołu inżynierów ds. programu Visual Studio. Szczegółowe informacje na temat wydań programu Visual Studio w wersji 15.5 można znaleźć w następujących wpisach:

Informacje o wersji 15.5 programu Visual Studio 2017


Podsumowanie istotnych nowych funkcji w wersji 15.5

Najważniejsze problemy rozwiązane w wersji 15.5

Problemy zgłaszane przez klientów, które zostały rozwiązane w tej wersji:

Zobacz wszystkie problemy zgłaszane przez klientów, które zostały rozwiązane w programie Visual Studio 2017 w wersji 15.5.

The Developer Community Portal


Szczegółowe informacje o nowościach w wersji 15.5

Release Notes Icon Program Visual Studio 2017 w wersji 15.5.0

wydany 4 grudnia 2017 r.

Nowe funkcje w wersji 15.5

Środowisko IDE programu Visual Studio

Instalator i instalacja
  • Instalator obecnie generuje punkt przywracania systemu Windows podczas instalacji.
  • Aplet Dodaj/Usuń programy zawiera teraz wpisy dla każdej instalacji programu Visual Studio. Instalator programu Visual Studio obsługuje teraz modyfikowanie i odinstalowywanie dla każdego wpisu.
  • Instalowanie z układu offline nie wymaga już instalowania certyfikatów pośrednich na rozłączonym komputerze.
  • Dodaliśmy ulepszenia niezawodności i możliwości anulowania podczas procesu instalacji i aktualizacji.
Zaktualizowane okno dialogowego błędu

Zaktualizowaliśmy okno dialogowe błędu, aby wyświetlić więcej informacji, które pomogą w rozwiązywaniu problemów z instalacją dzięki użyciu potencjalnych rozwiązań z programu Visual Studio Developer Community. (Rysunek 1).

New installer error dialog box
(Rysunek 1) Nowe okno dialogowe błędu instalatora
Wydajność
  • Skrócone czasy ładowania dużych projektów w językach C# i Visual Basic.
  • Skrócony czas przełączania konfiguracji między debugowaniem i wydawaniem.
  • Skrócono czas dodawania oraz usuwania plików i folderów w projektach platformy .NET Core oraz zarządzania nimi.
  • Wycofano uproszczone ładowanie rozwiązań, ponieważ skrócono czas ładowania rozwiązania bez tej funkcji.
Usługi połączone
  • Zaktualizowaliśmy dostawcę usługi Azure Storage tak, aby obsługiwał projekty ASP.NET Core przeznaczone dla oprogramowania .NET Core.

Aktualizacje programu Team Explorer

Najnowsze aktualizacje programu Team Explorer zostały zainspirowane przez opinie z witryny UserVoice.

Można teraz pracować z modułami podrzędnymi i drzewami roboczymi usługi Git oraz konfigurować elementy fetch.prune i pull.rebase w programie Team Explorer. Program Visual Studio traktuje teraz drzewa robocze i moduły podrzędne usługi Git jak normalne repozytoria. Wystarczy dodać je do listy repozytoriów lokalnych i można zaczynać kodowanie!

Pamiętaj, że w przypadku modułów podrzędnych nadal nie można wykonywać żadnych akcji, które wymagają obsługi wielu repozytoriów (takich jak równoczesne wyświetlanie pliku w repozytorium nadrzędnym i pliku w module podrzędnym).

Ponadto można teraz łatwiej ustawić domyślne zachowanie usługi Git, aby przeprowadzać oczyszczanie przy każdym pobraniu i zmieniać bazę przy każdym ściągnięciu. Oczyszczanie przy każdym pobraniu powoduje usuwanie lokalnych gałęzi śledzenia, które już nie istnieją na serwerze, i pomaga zachować czyste i aktualne listy gałęzi. Zmienianie bazy przy każdym ściągnięciu umożliwia przechowywanie historii zatwierdzania w formie liniowej i łatwiejszej do obserwowania. Te opcje można znaleźć w ustawieniach globalnych i ustawieniach repozytorium.

Biuletyny zabezpieczeń oprogramowania .NET Core i ASP.NET

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, ASP.NET Core 1.1 i ASP.NET Core 2.0 korzystają teraz 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.

Zestaw narzędzi kompilatora MSVC

W programie Visual Studio 2017 15.5 zestaw narzędzi kompilatora MSVC został zaktualizowany do wersji 14.12, która jest zgodna z zestawem narzędzi 14.11 programu 15.4. Jeśli po uaktualnieniu programu Visual Studio 2017 do wersji 15.5 wystąpi problem z kompilowaniem kodu, możesz wymusić instalację zestawu narzędzi w wersji 14.11 obok zestawu narzędzi w wersji 14.12. Zestaw narzędzi programu Visual Studio 2017 15.4 (14.11) można wybrać w obszarze Poszczególne składniki po zainstalowaniu obciążenia aplikacji klasycznych języka C++.

Co nowego w języku C#

Kompilator języka C# obsługuje teraz zestaw funkcji języka w wersji 7.2, takich jak na przykład:

  • Obsługa typu Span<T> używanego w usługach Kestrel i CoreFX za pośrednictwem modyfikatora ref struct.
  • Modyfikator readonly struct: wymusza użycie atrybutu readonly dla wszystkich elementów członkowskich struktury. Powoduje to dodanie warstwy poprawności do kodu i umożliwia kompilatorowi unikanie niepotrzebnego kopiowania wartości podczas uzyskiwania dostępu do elementów członkowskich.
  • Parametry in/zwroty ref readonly: umożliwia bezpieczne przekazywanie i zwracanie struktur niemodyfikowalnych z tą samą wydajnością co w przypadku modyfikowalnych wartości ref.
  • Modyfikator dostępu private protected: ogranicza dostęp do części wspólnej elementów protected i internal.
  • Argumenty nazwane inne niż końcowe: argumentów nazwanych można teraz używać w środku listy argumentów bez konieczności przekazywania wszystkich następujących po nich argumentów według nazwy.

Visual Studio Tools dla programu Xamarin

Ta wersja zawiera zaktualizowaną obsługę zestawów Xamarin SDK dla systemów iOS i Android:

Bieżący widok uruchamiania na żywo

Tworzenie interfejsów użytkownika opartych na języku XAML stało się jeszcze łatwiejsze dzięki naszej nowej funkcji bieżącego widoku uruchamiania na żywo (rysunek 2) . Możesz obserwować proces tworzenia interfejsu użytkownika podczas wpisywania tekstu w emulatorze systemu Android bez konieczności zapisywania, kompilowania lub ponownego wdrażania aplikacji.

(Rysunek 2) Bieżący widok uruchamiania na żywo
Xamarin Live Player

Aplikacja Xamarin Live Player umożliwia deweloperom ciągłe wdrażanie, testowanie i debugowanie swoich aplikacji bezpośrednio w urządzeniach z systemami iOS i Android. Po pobraniu aplikacji Xamarin Live Player (dostępnej w sklepie App Store lub Google Play) można sparować urządzenie z programem Visual Studio i rozpocząć kompilowanie aplikacji mobilnych przy użyciu tylko programu Visual Studio i urządzenia przenośnego. Dzięki optymalizacji pod kątem rozwiązania Xamarin.Forms można teraz modyfikować kod XAML i w kilka minut zobaczyć zmiany w urządzeniu bez konieczności kompilowania lub oczekiwania na pełne wdrożenie. W tej wersji oferujemy szereg rozszerzeń funkcjonalności naszej platformy Xamarin Live, w tym:

  • Inteligentniejsze debugowanie i uruchamianie na żywo: aplikacja Live Player teraz automatycznie dopasowuje projekt startowy do odpowiedniej platformy podczas debugowania do aplikacji Xamarin Live Player (Rysunek 3) . Na przykład jeśli wybrano system iOS i urządzenie Live Player sparowane z telefonem Google Pixel, środowisko IDE zaleci zmianę projektu startowego na system Android.
  • Stan wdrożenia: możesz teraz śledzić stan „Debugowanie” do aplikacji Xamarin Live Player przy użyciu stanów wdrożenia na pasku stanu.
  • Integracja konsoli i okna błędu: dane wyjściowe rejestrowane w aplikacji są teraz wyświetlane w oknie konsoli, a błędy będą wyświetlane w oknie błędów w programie Visual Studio.
  • Menu kontekstowe i skrót klawiaturowy na potrzeby uruchamiania na żywo: chcieliśmy ułatwić natychmiastowe wizualizowanie interfejsu użytkownika języka XAML, dlatego dodaliśmy menu kontekstowe i skrót klawiaturowy — dzięki nim możesz szybko i łatwo wyświetlać podgląd stron XAML.
  • Przełączanie dokumentów podczas uruchamiania na żywo: w przypadku kompilowania interfejsów użytkownika typowa czynność to przełączanie między różnymi dokumentami XAML. Zmiana aktywnego dokumentu w programie Visual Studio powoduje automatyczne uruchomienie na żywo każdej otwartej strony XAML, dzięki czemu można prosto przełączać się między różnymi stronami, co jest od razu odzwierciedlane w urządzeniu.
Xamarin Live Player
(Rysunek 3) Animacja parowania, wdrożenia i trybów edycji na żywo aplikacji Xamarin Live Player
Szablony

Plik -> Nowy projekt -> Aplikacja mobilna (rysunek 4) właśnie stało się łatwiejsze dzięki aktualizacjom międzyplatformowego kreatora szablonów dla aplikacji systemów iOS, Android i Windows, takim jak na przykład:

  • Obsługa programu .NET Standard — teraz można utworzyć nową międzyplatformową aplikację Xamarin, która używa programu .NET Standard 2.0 jako strategii udostępniania kodu.
  • Pole wyboru Platformy docelowe — wybierz interesujące Cię platformy w obszarze Plik -> Nowy.
  • PackageReference — wszystkie szablony teraz domyślnie używają PackageReference, nowego prostego sposobu zarządzania pakietami NuGet w aplikacjach platformy Xamarin.
  • Ulepszenia wydajności rozwijania — szablony powinny być teraz rozwijane znacznie szybciej niż wcześniej. W najbardziej ekstremalnych przypadkach może czas rozwijania może poprawić się nawet 40 razy.
File -> New -> Mobile App
(Rysunek 4) Plik -> Nowy -> Ustawienia aplikacji mobilnej
Zdalny symulator systemu iOS

Zdalny symulator systemu iOS umożliwia proste debugowanie i testowanie aplikacji systemu iOS w symulatorze całkowicie z poziomu programu Visual Studio w systemie Windows. Obsługuje on wszystkie funkcje symulatora systemu iOS na komputerze Mac i oferuje jeszcze więcej możliwości — w tym obsługę wielodotyku. Począwszy od programu Visual Studio 2017 w wersji 15.5, zdalny symulator systemu iOS jest dostępny we wszystkich wersjach programu Visual Studio, w tym w bezpłatnej wersji Community Edition.

Menedżer zestawów Xamarin Android SDK

Zarządzanie zestawami Android SDK właśnie stało się prostsze menedżerowi zestawów Xamarin Android SDK. Nowego menedżera zestawów SDK można używać po przejściu do pozycji Narzędzia -> Android -> Menedżer zestawów Android SDK w programie Visual Studio.

Ulepszenia narzędzi języka F#

W programie Visual Studio 2017 w wersji 15.5 skoncentrowaliśmy się na obsłudze narzędzi języka F# dla projektów zestawu .NET Core SDK. Obsługiwane są teraz następujące funkcje:

  • Można tworzyć nowe aplikacje konsoli oprogramowania .NET Core, biblioteki oprogramowania .NET Standard oraz projekty testów jednostkowych .NET Core po wybraniu pozycji Plik > Nowy projekt.
  • Dodaliśmy obsługę istniejących projektów oprogramowania .NET Core i .NET Standard.
  • Dodaliśmy obsługę istniejących projektów .NET Core SDK przeznaczonych dla wersji programu .NET Framework.
  • Odwołania między projektami są obsługiwane.
  • Dodaliśmy obsługę internetowych projektów zestawów SDK (np. projektów ASP.NET Core w języku F# lub projektu używającego szablonu Giraffe).
  • Można teraz kliknąć prawym przyciskiem narzędzia publikowania w internetowych projektach zestawów SDK.
  • Obsługiwane jest automatyczne generowanie potoku ciągłej integracji i ciągłego wdrażania przy użyciu narzędzi usług Visual Studio Team Services.

Wprowadzono również sporo ulepszeń narzędzi Visual F#, które nie są skoncentrowane na projektach .NET Core SDK. Obejmują one:

  • Polecenie Przejdź do definicji z języka F# do języka C# (autorzy: Saul Rennison i Vasily Kirichenko).
  • Kolorowanie dla motywu Niebieski (dodatkowy kontrast) (autorzy: Microsoft i Vasily Kirichenko).
  • Rozmiar stron właściwości jest teraz automatycznie prawidłowo ustawiany na różnych monitorach.
  • Automatyczne ustawianie inteligentnego wcięcia dla nowych wierszy, gdy wcięcie ma wartość „Inteligentne” (autor: Duc Nghiem Xuan).
  • Automatyczne usuwanie wcięcia nawiasów zamykających, gdy wcięcie ma wartość „Inteligentne” (autor: Saul Rennison).
  • Pola wyliczenia mogą być teraz wyświetlane jako symbole w etykietkach narzędzi i obszarach znajdowania wszystkich odwołań, przechodzenia do wszystkich i zmiany nazwy wstawionego elementu (autor: Vasily Kirichenko).
  • Komentarze dokumentacji XML oddzielane symbolami nowego wiersza nie są dołączane do bieżącego komentarza dokumentacji XML w oknach wyświetlanych po umieszczeniu na nich wskaźnika myszy (autor: Vasily Kirichenko).
  • Dokumentacja XML dla słowa kluczowego ref została poprawiona (autor: CHBen).
  • Wiele poprawek usterek i ulepszeń wydajności.

Wszelkie problemy należy zgłaszać w naszym repozytorium GitHub.

Zmiany instalatora języka F#

Zmieniliśmy sposób uzyskiwania środowiska języka F#:

  • W przypadku instalowania obciążenia wymagającego programu .NET Core 2.0 domyślnie jest również instalowana obsługa języka F#. Teraz służą do tego obciążenia programów .NET Core i ASP.NET oraz platformy Azure.
  • Nazwa pola wyboru „Obsługa języka F#” w obciążeniach tworzenia aplikacji klasycznych .NET, przetwarzania i magazynowania danych oraz aplikacji analitycznych i przeznaczonych do badania danych została zmieniona na „Obsługa pulpitu języka F#”.

Ulepszenia kompilatora języka F# 4.1

W tej wersji wprowadziliśmy szereg poprawek usterek kompilatora języka F# 4.1:

  • Ulepszenia generowania plików PDB w kompilatorze języka F#, które rozwiązują pięć znanych problemów dotyczących debugowania F# powstałych w roku 2014.
  • Naprawiono problem polegający na nieprawidłowym rozpoznawaniu pól rekordu przez kompilator (autor: Vasily Kirichenko).
  • Zadanie StartAsTask teraz prawidłowo oczekuje na ukończenie anulowania (autor: Matthias Ditrich).
  • Odwołania do zestawu są teraz tworzone, jeśli typ jest używany tylko w atrybucie.
  • Sumy rozłączne struktur o pojedynczym przypadku o takiej samej nazwie przypadku nie są już dyskretnie konwertowane na typ obiektu.
  • Możliwa nieskończona pętla asynchroniczna w procesie MailboxProcess. Problem z odbieraniem został rozwiązany.

Ulepszenia języka Visual C++

Masz teraz możliwość importowania istniejących projektów CMake i konfiguracji pamięci podręcznej do środowiska IDE, wybierając kolejno pozycje Plik > Otwórz > CMake.

Obsługa otwierania folderu dla operacji eksportu kompilatora online ARM

Wybierz opcję w obciążeniu języka Linux C++ dla projektów osadzonych i IoT. Umożliwi to edytowanie i kompilowanie projektów przeznaczonych dla mikrokontrolerów ARM. Obsługujemy otwieranie projektów eksportowanych w ramach systemu GCC z kompilatora online ARM. Można je będzie następnie kompilować lokalnie między sobą w programie Visual Studio. Aby uzyskać więcej informacji, zapoznaj się z wpisem w naszym blogu dotyczącym programowania w usłudze ARM przy użyciu języka Visual C++.

Zadania zdalne

Funkcja otwierania folderu obsługuje teraz zadania zdalne. Są to zadania wykonywane w systemie zdalnym za pośrednictwem protokołu Secure Shell (SSH). Te zadania można skonfigurować do kopiowania plików na maszynie docelowej w celu wykonywania czynności, takich jak kompilowanie kodu przy użyciu programu make w systemie Linux. Aby uzyskać więcej informacji, zapoznaj się z wpisem w naszym blogu dotyczącym korzystania z zadań zdalnych w programie Visual Studio.

Ulepszenia standardowej biblioteki szablonów

W witrynie internetowej otwartych standardów można znaleźć szereg stron dla grup tworzących otwarte standardy. Dodaliśmy te ulepszenia do standardowej biblioteki szablonów w zakresie standardu języka C ++17:

  • not_fn(): dokument P0005R4 zaleca akceptowanie integratora funkcji not_fn z dokumentu Library Fundamentals TS v2 jako elementu zamiennego dla starych elementów logicznych negacji not1 i not2.
  • Zmiana sformułowania elementu enable_shared_from_this: P0033R1 Re-enabling shared_from_this.
  • Szczątkowe części biblioteki są oznaczane jako przestarzałe: P0174R2. Szereg funkcji standardowej biblioteki języka C++ wraz z upływem lat został zastąpiony dodatkami lub nie spełniały one swojego oczekiwanego celu. W tym dokumencie zaproponowano oznaczenie funkcji, dla których są dostępne lepsze, prostsze lub bardziej przejrzyste opcje, jako przestarzałych.
  • Usuwanie obsługi alokatora w funkcji std::function: P0302R1. Funkcja std::function szablonu klasy ma kilka konstruktorów akceptujących argument alokatora, ale semantyka jest niejasna i wystąpiły problemy techniczne dotyczące przechowywania alokatora w kontekście typu wymazanego, a następnie odzyskiwania tego alokatora później na potrzeby dowolnych alokacji wymaganych podczas przydzielania kopii. Te konstruktory powinny być usuwane.
  • Poprawki dotyczące elementu not_fn(): P0358R1. Zaproponowano nowe sformułowanie funkcji std::not_fn, które — wśród innych ulepszeń — zapewnia obsługę propagacji kategorii wartości w przypadku wywołania otoki.
  • shared_ptr<T[]>, shared_ptr<T[N]>: P0414R2. Scalanie zmian (shared_ptr) z dokumentu Library Fundamentals do wersji C++17.
  • Naprawianie elementu shared_ptr dla tablic: P0497R0. Poprawki obsługi elementu shared_ptr dla tablic.
  • Oznaczanie elementu shared_ptr::unique() jako przestarzałego: P0521R0. Proponowane rozwiązanie dla urzędu certyfikacji 14 (shared_ptr use_count/unique).
  • Oznaczanie elementu codecvt jako przestarzałego: P0618R0, <codecvt> nie jest najlepszym sposobem rozwiązywania problemów z transkodowaniem Unicode, ten składnik biblioteki powinien zostać zlikwidowany (załącznik D).
  • Usuwanie specyfikacji wyjątków dynamicznych: P0003R5. Specyfikacje wyjątków dynamicznych zostały oznaczone jako przestarzałe w wersji C++11. Funkcja jest usuwana z wersji C ++17 przy równoczesnym zachowaniu (nadal) przestarzałej specyfikacji throw() wyłącznie jako aliasu dla elementu noexcept(true).
  • Łączenie map i zestawów: P0083R3. Ten projekt umożliwia wykonywanie operacji łączenia wszelkiego rodzaju, przenoszenie elementów (w tym kluczy mapy) poza kontener oraz korzystanie z szeregu innych użytecznych operacji i projektów. Jest to rozszerzenie kontenerów asocjacyjnych i nieuporządkowanych asocjacyjnych na potrzeby obsługi modyfikowania węzłów. Jest to czysty dodatek do biblioteki standardowej.
  • Wyjaśnienie dotyczące elementu insert_return_type: P0508R0. Kontenery asocjacyjne z unikatowymi kluczami i kontenery nieuporządkowane z unikatowymi kluczami mają wstawienie funkcji elementu członkowskiego, które zwraca typ zagnieżdżony insert_return_type. Ten typ zwracany jest specjalizacją typu określoną w tej sekcji.
  • Zmienne śródwierszowe standardowej biblioteki szablonów: P0607R0.
Ulepszenia kompilatora języka Visual C++

Kompilator języka Visual C++ obsługuje około 75% funkcji wersji C++17, w tym wiązania strukturyzowane, wyrażenia lambda constexpr, if constexpr, zmienne wbudowane, wyrażenia zwijania, literałów typu hexfloat i dodawanie elementu noexcept do systemu typów. Są one dostępne w obszarze przełącznika /std:c++17. Tryb zgodności /permissive- obejmuje częściową obsługę dwuetapowego wyszukiwania nazw i ulepszoną usługę rozwinięcia pakietu na potrzeby szablonów ze zmienną liczbą argumentów. Ponadto tryb /permissive- został dodany jako nowe menu rozwijane Język we właściwościach projektu dla projektów C++.

Ulepszenia optymalizatora języka Visual C++

Zespół ds. generowania kodu C++ wprowadził ulepszenia istniejących optymalizacji kompilatora i dodał nowe optymalizacje w wersji 15.5.

Wybierz ulepszenia konsolidatora:

  • Nowa implementacja elementu /OPT:ICF jest szybsza: przyspieszenia czasu łączenia aż do 9%.
  • Wprowadziliśmy poprawki konsolidacji przyrostowej. Konsolidacja przyrostowa nigdy nie będzie przebiegać wolniej niż konsolidacja pełna.

Wybierz ulepszenia istniejących optymalizacji:

  • Ulepszyliśmy algorytm heurystyczny wektoryzowania wyrażeń warunkowych.
  • Wprowadziliśmy ulepszenia optymalizacji przełącznika loop-if-unswitching.
  • Wprowadziliśmy ulepszenia odwijania pętli.
  • Ulepszyliśmy generowanie kodu dla minimalnej/maksymalnej liczby zmiennoprzecinkowej.

Wybierz nowe funkcje optymalizacji:

  • Ulepszyliśmy i wyeliminowaliśmy nadmiarowe (i częściowo nadmiarowe) instrukcje optymalizatora architektury SSA.
  • Zoptymalizowaliśmy wektoryzację magazynów warunkowych wartości skalarnych.
  • Połączyliśmy wywołania funkcji sin(x) i cos(x) w funkcji sincos(x).

Język Visual C++ obsługuje rozszerzenia AVX-512 firmy Intel, w tym instrukcje dotyczące długości wektora, które udostępniają nowe funkcje w rozszerzeniach AVX-512 w rejestrach w wersji 128- i 256-bitowej.

Publikujemy ponad 20 nowych funkcji sprawdzania podstawowych wytycznych dotyczących języka C++ w analizie kodu języka C++. Funkcje te obejmują sprawdzanie poprawności wskaźnika inteligentnego, prawidłowego użycia inicjatorów globalnych i użycia flag konstrukcji, takich jak goto i bad_cast.

Niektóre numery ostrzeżeń, które można znaleźć w wersji 15.3, nie są już dostępne w wersji 15.5. Ostrzeżenia te zostały zastąpione bardziej szczegółowymi operacjami sprawdzania.

Wbudowana obsługa platformy Google Test i biblioteki Boost.Test

Zapisuj, odnajduj i uruchamiaj testy jednostkowe Google Test i Boost.Test w programie Visual Studio. Domyślnie Eksplorator testów obsługuje teraz platformę Google Test i bibliotekę Boost.Test. Jeśli uaktualniasz z poprzedniej instalacji programu Visual Studio, otwórz Instalator programu Visual Studio, kliknij polecenie „Modyfikuj” w wystąpieniu programu Visual Studio i zaznacz pola „Test Adapter for Google Test” i „Test Adapter for Boost.Test” w obszarze „Programowanie aplikacji klasycznych w języku C++”. Łatwo utwórz nowy projekt Google Test: wybierz kolejno pozycje Plik > Nowy > Projekt > Visual C++ > Test > Google Test.

Aby uzyskać więcej informacji, zapoznaj się ze stronami How to use Google Test for C++ in Visual Studio (Jak używać platformy Google Test dla języka C++ w programie Visual Studio) i How to use Boost.Test for C++ in Visual Studio (Jak używać biblioteki Boost.Test dla języka C++ w programie Visual Studio w witrynie Microsoft Docs.

Narzędzia Visual Studio Web Tools

  • Udoskonalono formatowanie składni Razor.
  • Ulepszyliśmy środowisko publikowania aplikacji platformy ASP.NET na maszynach wirtualnych Azure Virtual Machines.

Narzędzia kontenerów Docker

  • Narzędzia programu Visual Studio dla kontenerów Docker obsługują teraz wieloetapowe pliki Dockerfile, dzięki czemu tworzenie zoptymalizowanych obrazów kontenera zostało uproszczone.
  • Jeśli używasz programu Visual Studio na komputerze z systemem Windows 10 w wersji 1709 lub systemem Windows Server w wersji 1709, obrazy kontenera będą domyślnie korzystać z systemu Windows Server w wersji 1709. Można to zmienić, edytując plik Dockerfile. Pamiętaj, że obrazy kontenera, które korzystają ze starszych wersji systemu Windows, będą uruchamiane tylko w systemie Windows 10 w wersji 1709 i systemie Windows Server w wersji 1709 w trybie izolacji funkcji Hyper-V. Więcej szczegółów można znaleźć na stronie Windows Container Version Compatibility (Zgodność wersji kontenerów systemu Windows).
  • Domyślnie program Visual Studio będzie automatycznie ściągać, kompilować i uruchamiać niezbędne obrazy kontenera w tle podczas otwierania projektu obsługującego platformę Docker. Tę opcję można wyłączyć za pomocą ustawienia Automatycznie uruchom kontenery w tle w programie Visual Studio.

Ulepszenia języka TypeScript/JavaScript

Obsługa usługi Angular 2

Deweloperzy usługi Angular 2 mogą teraz wyświetlać błędy, zakończenia i nawigację kodu we wbudowanych szablonach i plikach szablonów NGML. Zobacz przykładowe repozytorium, aby zapoznać się z omówieniem i instrukcjami.

Usprawnienia wydajności

Dodaliśmy pole wyboru Analizuj tylko projekty zawierające pliki otwarte w edytorze w obszarze strony Opcje projektu na stronie edytora tekstu w języku JavaScript/TypeScript. Ta opcja poprawi wydajność i niezawodność w dużych rozwiązaniach. Pamiętaj, że gdy to pole wyboru jest zaznaczone, będzie trzeba przeprowadzić kompilację rozwiązania, aby wyświetlić kompletną listę błędów języka TypeScript we wszystkich plikach.

Rozwiązaliśmy problem powodujący, że usługa językowa TypeScript/JavaScript zużywa więcej pamięci niż planowano, co może spowodować załadowanie niewłaściwej wersji języka TypeScript w rozwiązaniach dotyczących wielu projektów.

Narzędzia programu Windows Communication Foundation (WCF)

Dostawca usługi połączonej WCF Web Service Reference (rysunek 5) jest teraz częścią programu Visual Studio 15.5.

WCF Web Service Reference
(Rysunek 5) WCF Web Service Reference

Aby korzystać z tego narzędzia, kliknij prawym przyciskiem myszy element projektu Zależności w projekcie platformy .Net Core i wybierz opcję Dodaj połączone usługi, a następnie wprowadź adres usługi internetowej, dla której chcesz wygenerować kod. Wygenerowany kod serwera proxy klienta WCF jest zapisywany w pliku C# automatycznie dodawanym do projektu. Dzięki temu kod oparty na platformie .NET Core może łatwo komunikować się z usługą internetową.

Aby uzyskać szczegółowe informacje, odwiedź w usłudze GitHub stronę informacji o wersji rozszerzenia WCF Web Service Reference.

Debugowanie i diagnostyka

Debugowanie aplikacji w produkcji przy użyciu debugera migawki

Punkty przyciągania i punkty rejestrowania umożliwiają debugowanie względem aplikacji ASP.NET i ASP.NET Core uruchomionych w usłudze Azure App Services przy minimalnym wpływie na aplikację.

  • Ustaw punkty przyciągania (rysunek 6) , aby przechwytywać stan aplikacji, w tym Elementy lokalne, Czujki i Stos wywołań. W przeciwieństwie do punktów przerwania aplikacja nie jest zatrzymywana w momencie trafienia punktu przyciągania.
Snappoints image
(Rysunek 6) Punkty przyciągania
  • Punkty rejestrowania (rysunek 7) umożliwiają rejestrowanie nowych wiadomości z aplikacji bez konieczności dodawania kodu lub ponownego wdrażania aplikacji.
Logpoints
(Rysunek 7) Punkty rejestrowania
Obsługa osadzonego źródła i osadzonych plików PDB

Przy użyciu osadzonego źródła debuger programu Visual Studio może teraz wyodrębniać pliki źródłowe dla zarządzanych danych binarnych bezpośrednio z plików PDB i korzystać z nich. Łącząc osadzone źródło z osadzonymi plikami PDB, możesz tworzyć w pełni autonomiczne pliki binarne obsługujące debugowanie. Dowiedz się więcej o używaniu/osadzaniu przełącznika kompilatora.

Teraz można również debugować za pomocą funkcji Edytuj i kontynuuj dla kodu zarządzanego podczas kompilowania przy użyciu osadzonych plików PDB.

Krok do tyłu podczas debugowania przy użyciu środowiska IntelliTrace

Nowa funkcja debugowania typu Krok do tyłu w funkcji IntelliTrace umożliwia automatyczne utworzenie migawki aplikacji w każdym punkcie przerwania i kroku debugera. Dzięki temu można wrócić do poprzednich punktów przerwania lub kroków i wyświetlić stan aplikacji z przeszłości.

Ta funkcja jest dostępna w rocznicowej aktualizacji systemu Windows 10 lub nowszej. Obecnie obsługuje debugowanie dla platform ASP.NET i WinForms, programu WPF, zarządzanych aplikacji konsolowych oraz zarządzanych bibliotek klas (rysunek 8) . Aby włączyć tę funkcję, przejdź do ustawień Narzędzia > Opcje > IntelliTrace, a następnie wybierz pozycję Migawki i zdarzenia funkcji IntelliTrace.

Stepback
(Rysunek 8) Krok do tyłu podczas debugowania przy użyciu funkcji IntelliTrace

Uzyskiwanie dostępu do zasobów platformy Azure w programie Visual Studio przy włączonym dostępie warunkowym

Program Visual Studio obsługuje teraz dostęp do zasobów platformy Azure z włączonym dostępem warunkowym, który wymaga uwierzytelniania za pomocą funkcji 2FA, nawet jeśli samo konto nie wymaga uwierzytelniania 2FA. Wcześniej jeśli logowanie do konta wymagało uwierzytelniania 2FA, program Visual Studio monitował o użycie funkcji 2FA, po czym można było uzyskać dostęp do wszystkich zasobów, które wymagały uwierzytelniania 2FA. Jeśli jednak konto nie wymagało uwierzytelniania 2FA, program Visual Studio nie mógł uzyskać dostępu do tych zasobów 2FA.

Teraz — gdy konta nie wymagają uwierzytelniania 2FA, ale zasoby tak — można uwierzytelnić konto w programie Visual Studio bez użycia funkcji 2FA, podczas pierwszej próby uzyskania dostępu do zasobu platformy Azure wymagającego uwierzytelniania 2FA program Visual Studio wyświetla monit o ponowne uwierzytelnienie i wymaga uwierzytelniania 2FA przed uzyskaniem dostępu do zasobu.

Obsługa narzędzi pakietu Office w Sklepie Windows

Projekty internetowych dodatków pakietu Office i projekty VSTO obsługują teraz programowanie przy użyciu pakietu Office w Sklepie Windows. Można tworzyć, kompilować, debugować i publikować projekty dodatków internetowych i projekty VSTO za pomocą pakietu Office w Sklepie Windows.

  • Aktualizacja Fall Creators Update (wersja 1709) dla systemu Windows 10 lub systemu Windows Server 2016 jest wymagana do używania narzędzi pakietu Office z pakietem Office w Sklepie Windows.

Visual Studio Tools for Unity

  • Projekty Unity są teraz automatycznie ponownie ładowane w programie Visual Studio po dodaniu skryptu do środowiska Unity lub jego usunięciu.
  • Rozwiązano problem z generowaniem projektu Player podczas pracy z grą platformy uniwersalnej systemu Windows z zapleczem IL2CPP/.NET 4.6.
  • Wprowadzono opcję użycia debugera Mono udostępnianego przez platformę Xamarin i program Visual Studio for Mac na potrzeby debugowania programu Unity Editor.

Live Unit Testing

  • Kompilacje funkcji Live Unit Testing są teraz przeprowadzane poza procesem, co pozwala na efektywniejsze wykorzystanie pamięci w programie Visual Studio.

Tworzenie pakietów systemu Windows

W projekcie tworzenia pakietów można teraz dołączać aplikacje i składniki platformy uniwersalnej systemu Windows, co pozwala korzystać z najnowszych funkcji systemu Windows 10 z poziomu istniejących aplikacji klasycznych. Aby dołączyć składniki UWP, możesz wykonać działanie Add Reference na aplikacji UWP (rysunek 9) .

Windows Packaging Project with UWP reference
(Rysunek 9) Projekt tworzenia pakietów w systemie Windows z odwołaniem do platformy UWP

Kreator pakietu umożliwia generowanie plików, które są potrzebne, aby przesłać aplikację mostka dla aplikacji klasycznych do sklepu — podobnie jak w przypadku istniejących projektów UWP.


Release Notes IconProgram Visual Studio 2017 w wersji 15.5.1

wydany 7 grudnia 2017 r.

Najważniejsze problemy rozwiązane w wersji 15.5.1

Problemy zgłaszane przez klientów, które zostały rozwiązane w tej wersji:


Release Notes IconProgram Visual Studio 2017 w wersji 15.5.2

wydany 14 grudnia 2017 r.

Najważniejsze problemy rozwiązane w wersji 15.5.2

Problemy zgłaszane przez klientów, które zostały rozwiązane w tej wersji:


Release Notes IconProgram Visual Studio 2017 w wersji 15.5.3

wydany 9 stycznia 2018 r.

Podsumowanie aktualizacji w wersji 15.5.3

Biuletyny zabezpieczeń firmy Microsoft dla platformy .NET Core

  • CVE-2018-0786 Pominięcie funkcji zabezpieczeń w weryfikacji certyfikatu X509 Firma Microsoft opublikowała 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 opublikowała 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.

Najważniejsze problemy rozwiązane w wersji 15.5.3

Problemy zgłaszane przez klientów, które zostały rozwiązane w tej wersji:


Release Notes IconProgram Visual Studio 2017 w wersji 15.5.4

wydany 16 stycznia 2018 r.

Najważniejsze problemy rozwiązane w wersji 15.5.4

Problemy zgłaszane przez klientów, które zostały rozwiązane w tej wersji:


Release Notes IconProgram Visual Studio 2017 w wersji 15.5.5

wydany 25 stycznia 2018 r.

Podsumowanie aktualizacji w wersji 15.5.5

  • Kompilator MSVC został zaktualizowany o obsługę przełącznika /Qspectre, który 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++.

Najważniejsze problemy rozwiązane w wersji 15.5.5

Problemy zgłaszane przez klientów, które zostały rozwiązane w tej wersji:


Release Notes IconProgram Visual Studio 2017 w wersji 15.5.6

wydany 29 stycznia 2018 r.

Podsumowanie aktualizacji w wersji 15.5.6


Release Notes IconProgram Visual Studio 2017 w wersji 15.5.7

wydany 20 lutego 2018 r.

Podsumowanie aktualizacji w wersji 15.5.7

  • 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.

Najważniejsze problemy rozwiązane w wersji 15.5.7

Problemy zgłaszane przez klientów, które zostały rozwiązane w tej wersji:

  • Projekty przeznaczone dla platformy .NET Core 2.1 lub nowszych platform nie są obsługiwane przez program Visual Studio 2017 w wersji 15.5.
  • Rozwiązano problem, w którym instalacja zestawu SDK dla platformy .NET Core 2.1 lub nowszej spowodowałaby zniknięcie opcji tworzenia aplikacji internetowych platformy ASP.NET Core 2.0.

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ą. Zobacz wszystkie znane problemy i ich rozwiązania dostępne w programie Visual Studio 2017 w wersji 15.5.

Visual Studio 2017 Known Issues


Opinie i sugestie

Chcemy poznać Twoją opinię! 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. Program 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