Visual Studio IconVisual Studio 2015 Update 3 — informacje o wersji

Postanowienia | licencyjne — społeczność deweloperów blogów | programu Visual Studio

Uwaga

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


Wydania programu Visual Studio 2015

Informacje o wersji można wyświetlić dla wszystkich wersji programu Visual Studio 2015:

Pobierz program Visual Studio 2015

Możesz pobrać program Visual Studio 2015 ze strony My.VisualStudio.com. Portal My.VisualStudio.com wymaga bezpłatnej subskrypcji programu Dev Essentials lub subskrypcji programu Visual Studio.


Release Notes IconVisual Studio 2015 Update 3

Data wydania: 27 czerwca 2016 r.

Podsumowanie nowości w tej wersji


Nowości w tej wersji

Narzędzia dla oprogramowania Apache Cordova

Uwaga

Wersja Node.js zainstalowana w programie Visual Studio 2015 Update 3 jest nieaktualna. Aby zaktualizować nowszą wersję, dowiedz się więcej o tym, jak Sejf aktualizować Node.js.

Program Visual Studio 2015 Update 3 zawiera narzędzia Tools for Apache Cordova Update 10 z ulepszeniami wymienionymi poniżej. Zawiera także aktualizację Update 10. Aby uzyskać najnowsze informacje o narzędziach firmy Microsoft, odwiedź Blog deweloperów firmy Microsoft w witrynie GitHub.

  • Dodano obsługę oprogramowania Cordova 6.1.1. Jest to wersja domyślna dla nowych projektów.
  • Wycofano rejestr wtyczek oprogramowania Cordova, który był używany w oprogramowaniu Cordova 4.x, co oznacza, że dodawanie wtyczek wymaga oprogramowania Cordova 5.x lub nowszego.
  • Lista podstawowych wtyczek została zaktualizowana i obecnie zawiera wtyczki dla scenariuszy dla przedsiębiorstw, takich jak usługa Intune, Azure Engagement, zabezpieczenia i lokalny magazyn bazy danych SQLite.
  • Teraz istnieje możliwość dodawania wtyczek przy użyciu projektanta konfiguracji według nazwy pakietu npm lub identyfikatora.

cordova-add-plugin-byid

  • Można także dodawać wtyczki wymagające parametrów przy użyciu projektanta konfiguracji.

plugin-parameters

Developer Analytics Tools

Dodano następujące ulepszenia w narzędziach Developer Analytics Tools 7.0.2:

  • Application Insights Trends, narzędzie do znajdowania trendów w danych telemetrycznych aplikacji.
  • Dane telemetryczne dotyczące wyjątków w funkcji CodeLens.
  • Informacje o telemetrii produkcji dodane do wyjątków w narzędziach diagnostycznych.
  • Obsługa dodawania usługi Application Insights do projektów platformy ASP.NET Core RC2 z poziomu programu Visual Studio.
  • Zdarzenia narzędzi diagnostycznych dla platformy ASP.NET 5 RC1 i ASP.NET Core RC2.
  • Automatyczne odświeżanie wyszukiwania usługi Application Insights po wybraniu szczegółów filtrów, przedziałów czasu i zdarzeń.
  • Przechodzenie do kodu z żądań w obszarze wyszukiwania.
  • Ulepszony interfejs logowania do platformy HockeyApp.

Aby uzyskać więcej informacji, zobacz informacje techniczne o wersji w dokumentacji platformy Microsoft Azure.

Debugowanie i diagnostyka

W programie Update 3 dodano narzędzia diagnostyczne z obsługą aplikacji uruchamianych na urządzeniach z systemem OneCore, w tym HoloLens i IOT.

Ulepszenia dotyczące funkcji Edytuj i kontynuuj dla języka C++:

  • Wyższa wydajność i niezawodność przy włączonej technologii FASTLINK.
  • Pomyślne stosowanie zmian kodu w bibliotekach statycznych nie powoduje tworzenia nieodświeżonego kodu.
  • Ostrzeżenia C4656 nie będą już wyświetlane dla fałszywych rozpoznań zmian typu podczas ponownej kompilacji.
  • Obsługa dodawania nowych typów o tej samej nazwie w wielu jednostkach kompilacji.

Ulepszenia debugowania interfejsu użytkownika XAML:

  • Po każdej zmianie fokusu w aplikacji nowa funkcja śledzenia fokusu w dynamicznym drzewie wizualnym spowoduje zaktualizowanie zaznaczonego elementu w dynamicznym drzewie wizualnym zgodnie z elementem mającym aktualnie fokus.

Visual Studio IDE

Subskrypcje i klucze produktów

W wersji Update 3 uwzględniono opinie klientów korzystających z subskrypcji przy użyciu tożsamości online lub kluczy produktów do odblokowywania środowiska IDE w następujący sposób:

  • Użytkownik nie musi już odwiedzać strony https://my.visualstudio.com w celu aktywowania przypisanej subskrypcji chmury programu Visual Studio i może rozpocząć korzystanie z programu Visual Studio IDE natychmiast po przypisaniu subskrypcji.
  • Ulepszono obsługę błędów podczas stosowania klucza produktu.
  • Wszystkie operacje dotyczące konta użytkownika i licencji są teraz zabezpieczone przy użyciu protokołu HTTPS.
  • W oknie dialogowym Ustawienia konta poprawiono ułatwienia dostępu w zakresie aktywowania subskrypcji i wprowadzania klucza produktu.
  • Ponowne uwierzytelnianie co ok. 8 dni nie jest już wymagane do zachowania aktywnego konta personalizacji i synchronizowania ustawień mobilnego dostępu.

Narzędzia dla aplikacji uniwersalnych systemu Windows

Program Visual Studio 2015 Update 3 zawiera kilka ulepszeń narzędzi dla aplikacji uniwersalnych systemu Windows. Najważniejsze ulepszenie: podczas tworzenia pakietu do przesłania do Sklepu Windows można teraz zalogować się przy użyciu poświadczeń usługi Azure Active Directory do konta Sklepu usługi AAD. Po skojarzeniu projektu ze Sklepem Windows nie trzeba już logować się, aby utworzyć pakiet do przesłania do Sklepu.

Platforma .NET Native dla aplikacji uniwersalnych systemu Windows

.NET Native 1.4 jest wersją pomocniczą obsługi, która zwiększa wydajność, rozwiązuje kilka usterek zgłoszonych przez klientów i poprawia czasy tworzenia kompilacji wydania dużych aplikacji. Aplikacje XAML i gry Unity korzystające z platformy .NET Native 1.4 będą miały lepszą wydajność środowiska uruchomieniowego. Te ulepszenia zostały osiągnięte dzięki przyspieszeniu wywołań natywnych interfejsów API i interfejsów API odbicia.

Narzędzia architektury

Uwzględniono opinie klientów dotyczące poprawy wydajności i niezawodności.

Projektanci graficzni dla określonych domen (w tym dla plików EDMX i DBML)

W systemie Windows 10 program Visual Studio już nie przestaje odpowiadać podczas otwierania lub próby edycji dużych diagramów w formacie EDMX lub DBML przy wyświetlonej klawiaturze ekranowej.

Mapa kodu

  • Program Visual Studio już nie przestaje odpowiadać podczas próby wykonania polecenia „Generuj mapę kodu dla rozwiązania”, jeśli rozwiązanie zawierało projekty instalatora (vdproj).
  • Uruchomienie polecenia mapy kodu w edytorze kodu i zamknięcie okna mapy kodu bezpośrednio po jego wyświetleniu już nie powoduje awarii programu Visual Studio.

Walidacja warstw

  • W przypadku kompilowania rozwiązania z projektem modelowania zawierającym diagram warstwowy przy użyciu akcji Waliduj rdzeń procesora CPU nie jest już używany po zakończeniu kompilacji.
  • Teraz możliwa jest walidacja diagramu warstwowego, gdy jego nadrzędny projekt modelowania zawiera odwołania do bibliotek PCL (na przykład ODP.Net).

Narzędzia Node.js dla programu Visual Studio

Narzędzia Node.js Tools 1.2 RC for Visual Studio są teraz dostępne do pobrania. Oczekujemy, że ta wersja zapewni znacznie lepszą stabilność i wydajność, w tym zmniejszenie liczby awarii spowodowanych brakiem pamięci, które występowały we wcześniejszych wersjach.

Inne najważniejsze funkcje obejmują:

  • Szybsza, lepsza funkcja IntelliSense ES6
  • Bardziej niezawodne debugowanie
  • Ulepszone środowiska testów jednostkowych (w tym obsługa taśm)
  • Polecenie .npm w większej liczbie typów projektów

Aby uzyskać pełne informacje i pliki do pobrania, zobacz stronę wersji RC narzędzi Node.js Tools 1.2.

Narzędzia dla deweloperów sieci Web

W przypadku projektów aplikacji internetowej ASP.NET, gdy pole wyboru „Włącz funkcję Edytuj i kontynuuj” nie jest zaznaczone, proces programu IIS Express nie będzie już przestawać działać po każdym zatrzymaniu debugowania.

Visual C++

Ulepszenia, takie jak nowe funkcje sprawdzania i komunikaty ostrzegawcze dla kompilatora języka C++, a także ulepszenia wydajności i obsługa kodowania w językach C# i Visual Basic, zostały uwzględnione w wersji Update 3.

Kompilator C++

  • Teraz sprawdzany jest dostęp do usuniętego elementu ctor prostego kopiowania/przenoszenia. Bez sprawdzania mogło nastąpić nieprawidłowe wywołanie domyślnego elementu ctor kopiowania (w którym implementacja może być niewłaściwie sformułowana) i spowodować potencjalne wygenerowanie złego kodu środowiska uruchomieniowego.
  • Teraz element Std::is_convertible prawidłowo wykrywa przypisanie własne typu klasy, gdy konstruktor kopiujący został usunięty lub jest prywatny.
  • W ostatniej fazie kończenia obsługi biblioteki ATL z atrybutami, co zostało zapoczątkowane w programie Visual Studio 2008, dodano do kompilatora nowe ostrzeżenie o końcu obsługi. W programie Visual Studio 2015 Update 3 użycie kodu biblioteki ATL z atrybutami spowoduje wygenerowanie domyślnie włączonego ostrzeżenia poziomu 1. C4467
  • W przypadku korzystania z plików PCH niezgodne katalogi dołączania -I dla kompilatora między kompilacjami z opcjami -Yc i -Yu spowodują teraz wygenerowanie nowego ostrzeżenia. C4599
  • W przypadku korzystania z plików PCH niezgodne dyrektywy #include w plikach źródłowych między kompilacjami z opcjami -Yc i -Yu spowodują teraz wygenerowanie ostrzeżenia. C4598

Aby uzyskać więcej informacji na temat możliwego wpływu tych zmian na istniejący kod, zobacz Przewodnik przenoszenia i uaktualniania kodu Visual C++ w witrynie MSDN.

Biblioteki języka C++

  • Przywróciliśmy wydajność trybu debugowania podczas niszczenia zakresów trywialnych obiektów, które uległy pogorszeniu w aktualizacji Update 2, na przykład w znaku wektorowym<>.

  • Wdrożyliśmy cechy zamienialne z dokumentu roboczego języka C++17, z propozycji P0185 Dodając [nothrow-]swappable cech. Jako rozważana funkcja standardu C++17, cechy (is_swappable, is_swappable_with, is_nothrow_swappable i is_nothrow_swappable_with) są tylko widoczne, a ograniczenia dotyczące obiektu std::swap są tylko aktywne podczas kompilowania przy użyciu opcji /std:c++latest.

  • Z biblioteki vcruntime140.dll oraz bibliotek statycznych usunięto wywołania zdarzeń funkcji ETW, które były wcześniej uruchamiane podczas uruchamiania procesu oraz funkcji dllmain.

  • Usunięto symbol długości nazwy w typowych mechanizmach używanych przez kontenery STL, takich jak std::vector, zmniejszając prawdopodobieństwo ostrzeżeń C4503. Na przykład następujący typ nie generuje już ostrzeżenia: concurrency::concurrent_unordered_map<wstring, wektor<uint64_t<, vector<uint8_t>>>>.

  • ATL/MFC/AMP/PPL: wiele poprawek dotyczących zgodności związanych z wyszukiwaniem dwufazowym. Są to następujące poprawki:

    • Element _com_ptr_t ma teraz konstruktor przenoszący oraz przenoszący operator przypisania.

    • MFC: naprawiono obsługę wartości HMENU, które czasami uniemożliwiały prawidłowe wyświetlanie menu w aplikacjach 64-bitowych.

    • ATL/MFC: następujące ostrzeżenia nie są już emitowane:

    • Zastępowanie/ukrywanie funkcji: C4263, C4264, C4266

    • Niezgodność specyfikacji wyjątku: C4986

    • /analyze: C6386

    • ATL: wszystkie odmiany funkcji AtlThrow są teraz prawidłowo oznaczone przy użyciu atrybutu __declspec(noreturn). Zapobiega to błędnemu emitowaniu ostrzeżeń SAL.

    • ATL: naprawiono/ulepszono kilka adnotacji SAL.

    • Element /std:c++latest zapewnia następujące nowe funkcje: P0025R1 „clamp()”, P0185R1 „is_swappable, is_nothrow_swappable” oraz P0272R1 „Non-const basic_string::data()”.

    • /std:c++latest kontroluje również usunięcie następujących starych funkcji: N4190 "Usuwanie auto_ptr, random_shuffle() i stare <rzeczy funkcjonalne> ", P0004R1 "Usuwanie przestarzałych aliasów Iostreams", LWG 2385 "function::assign argument alokatora nie ma sensu", a różne funkcje inne niż standardowe (std::tr1 przestrzeń nazw, niektóre maszyny tylko TR1 i struktura std::identity).

    • Naprawiono dyskretne nieprawidłowe generowanie kodu w int64_t niepodzielnej</niepodzielnej<uint64_t>> na x86.

    • STL unika teraz bezpiecznych wątkowo „magicznych danych statycznych”. Są one używane tylko wtedy, gdy jest to bezwzględnie konieczne, co poprawia generowanie kodu.

    • Konstruktor doskonałego przekazywania dalej krotek unika teraz priorytetowego działania względem konstruktora kopiującego, dzięki czemu naprawiono błędy kompilatora w niektórych scenariuszach.

  • Koprocedury:

    • Przestarzałe następujące słowa kluczowe: __yield_value i __await . Użycie w zamian parametru co_await / co_yield.
    • Dodano powiadomienie o wycofaniu do składowych to_address i from_promise klasy coroutine_handle. Zamiast elementu coroutine_handle::to_address() należy używać elementu coroutine_handle::address().
    • Zamiast elementu coroutine_handle::from_promise(Promise *P) należy używać elementu coroutine_handle::from_promise(Promise &P).
  • Zwiększono wydajność następujących funkcji : std::equal i std::lexicographical_compare przez bardziej agresywne wysyłanie do funkcji memcmp i memchr, co pozwala uzyskać duży przyrost wydajności w niektórych scenariuszach, na przykład dotyczących funkcji equal(char,char,char i char) na platformach 64 bitowych.

    • Znacząco zwiększono wydajność debugowania kompilacji dzięki zmniejszeniu liczby wywołań funkcji ewidencjonowania w mechanizmie debugowania iteratora.
    • string::p ush_back poprawił kolejne 40% w porównaniu z aktualizacją Update 2 w kompilacjach wersji z bardziej znaczącymi ulepszeniami kompilacji debugowania. (Oprócz znaczącej poprawy wydajności wprowadzonej w wersji Update 2).
    • Ulepszono kompilacje debugowania dla wszystkich standardowych algorytmów przez wyeliminowanie kilku typów pustych wywołań obsługi szablonów metaprogramowania (na przykład _Iter_cat) oraz wszystkich algorytmów przyjmujących predykaty, zmniejszając liczbę kopii predykatu.
    • Element std::mismatch w obiekcie _ITERATOR_DEBUG_LEVEL o wartości 1 i 2 ze sprawdzeniem drugiego zakresu, jeśli to możliwe, przed iteracją.
  • Zastosowano ulepszoną diagnostykę dla komunikatów _SCL_INSECURE_DEPRECATE do pozostałych algorytmów (w wersji Update 2 tylko niewielką liczbę argumentów podłączono do nowego mechanizmu wycofywania z użycia). Poprawia to również działanie debugowania algorytmów standardowych, ponieważ nie ma żadnej interakcji z preprocesorem _ITERATOR_DEBUG_LEVEL powodującej zadeklarowanie wielu kopii algorytmów standardowych. Naprawiono również następujące problemy:

    • Naprawiono brak możliwości skompilowania niektórych funkcji, takich jak mismatch(iter, iter, T[]), ze względu na interakcję między niestandardowym elementem _ITERATOR_DEBUG_ARRAY_OVERLOADS i algorytmami dwuzakresowymi.
  • Naprawiono naruszenia domyślnie wyłączonego ostrzeżenia C4242 w STL.

  • Naprawiono potencjalny błąd przepełnienia dla liczb całkowitych w obiekcie std::pop_heap.

  • Naprawiono potencjalne zawieszanie się w przypadku użycia flagi /clr:pure ze względu na wywołania metody LoadLibrary wstawiane do środowiska CLR podczas blokady ustawień regionalnych.

Debugowanie C++/CLI

  • Ewaluator wyrażeń C++/CLI teraz obsługuje funkcje debugera, takie jak Natvis, które były wcześniej obsługiwane tylko w przypadku aplikacji całkowicie natywnych. Teraz w mieszanych aplikacjach zarządzanych/natywnych, gdy obiekty są wyszczególnione w oknie zmiennej (lub wewnątrz etykietki danych), będą rozszerzane tak jak w aplikacjach całkowicie natywnych, zgodnie z definicją w wizualizatorach typu.

cpp-cli-debug

Zestaw narzędzi platformy Clang/C2

Zintegrowano wersję oprogramowania Clang 3.8 wewnątrz platformy Clang/C2 i zapewniono zestaw narzędzi z hostowaniem 64-bitowym.

Środowisko MDD dla języka C++

Włączono obsługę najnowszego zestawu NDK systemu Android w wersji R11C oraz możliwość uaktualnienia bieżących projektów pod kątem najnowszego zestawu NDK.

TypeScript

Program Visual Studio 2015 Update 3 obejmuje obsługę języka TypeScript 1.8.34. Rozwiązano problem powodujący błąd braku pamięci w przypadku niektórych dużych projektów języka TypeScript korzystających z narzędzia AngularJS.

C# i Visual Basic

Zainwestowaliśmy w zmniejszenie zużycia pamięci i poprawę wydajności diagnostyki kodu. Zmniejsza to znacznie liczbę awarii spowodowanych brakiem pamięci, które występowały w poprzednich wersjach. Poprawiono wydajność działania diagnostyki kodu uruchomionej dla całego rozwiązania. Aby dowiedzieć się więcej o ulepszeniach wydajności diagnostyki kodu, przeczytaj informacje na stronie Porady: włączanie i wyłączanie pełnej analizy rozwiązania dla zarządzanego kodu w witrynie MSDN.

Wprowadzono następujące dodatkowe ulepszenia:

  • Opcja dodawania odwołania do pakietu NuGet jako szybkiej poprawki:

nuget-bulb

  • Tę opcję można włączyć w menu Narzędzia > Opcje > Edytor > tekstu C# > Zaawansowane, w obszarze "Using Directives":

plugin-byid

  • Ulepszono obsługę bibliotek klas przenośnych przeznaczonych dla platformy .NET Standard.
  • Zwiększono wydajność poleceń Przejdź do implementacji i Znajdź wszystkie odwołania dla języka C#. Możesz je wypróbować, zaznaczając obiekt, klikając go prawym przyciskiem myszy i wybierając je z menu.
  • Podczas stosowania akcji „Napraw wszystkie wystąpienia” do dokumentu/projektu/rozwiązania jest teraz wyświetlany pasek postępu.
  • Poprawiono wydajność podczas ponownego ładowania projektów języków C# i VB w dużych rozwiązaniach. Aby uzyskać więcej informacji i porad, przeczytaj artykuł Performance considerations for large solutions (Zagadnienia dotyczące wydajności w przypadku dużych rozwiązań).

Team Explorer

Naprawiono kilka błędów w programie Team Explorer:

  • Nie można wyświetlić zawartości pliku, który został usunięty z repozytorium Git.
  • Podczas wyświetlania historii gałęzi ikona Przejdź do elementu podrzędnego powinna być wyłączona, gdy fokus jest umieszczony na najnowszym zatwierdzeniu.
  • Podczas zmiany gałęzi przy użyciu programu Git.exe program Visual Studio może ulec awarii lub przejść w stan nieznany.
  • Podczas wyświetlania historii gałęzi w repozytorium Git występują błędy wyróżnienia na wykresie historii.
  • Podczas tworzenia gałęzi w programie Team Explorer skrót Alt+B dla polecenia Utwórz gałąź powoduje konflikt z menu Kompiluj.
  • W sytuacji wysokiego użycia pamięci podczas próby rozpakowania obiektu większego niż dostępna pamięć usługa Git zgłasza błąd "Nie znaleziono obiektu — brak pasującego luźnego obiektu (<sha1>)" zamiast błędu braku pamięci.
  • Wpisz literówkę w komunikacie o błędzie "... Aby otworzyć to rozwiązanie ...".
  • Podczas wyświetlania historii gałęzi po kliknięciu prawym przyciskiem myszy pierwszego zatwierdzenia w historii selekcjonowanie jest wyłączone.
  • Podczas tworzenia żądania ściągnięcia z programu Team Explorer menu kontekstowe strony gałęzi używa bieżącej gałęzi zamiast wybranej gałęzi.

Program Xamarin dla Visual Studio

Program Visual Studio 2015 Update 3 zawiera obecnie program Xamarin 4.1. Oprócz szeregu poprawek błędów ta wersja dodaje obsługę systemu tvOS, ulepsza obsługę katalogu zasobów systemu iOS, ulepsza środowisko edytowania plików XML i dodaje selektory dla implementacji protokołów SSL/TLS i HttpClient podczas tworzenia aplikacji dla systemu iOS. Aby uzyskać więcej informacji, zobacz informacje o wersji programu Xamarin.