Visual Studio Icon Visual Studio 2015 Update 3 – Versionshinweise

Von Bedeutung

Diese Version wird nicht mehr unterstützt. Um die neueste Version herunterzuladen, besuchen Sie bitte https://visualstudio.microsoft.com/downloads/.

Visual Studio 2015-Releases

Sie können Versionshinweise für alle Versionen von Visual Studio 2015 anzeigen:

Herunterladen von Visual Studio 2015

Sie können Visual Studio 2015 von My.VisualStudio.com herunterladen. My.VisualStudio.com erfordert ein kostenloses Dev Essentials-Abonnement oder ein Visual Studio-Abonnement.

Symbol Visual Studio 2015 Update 3

Veröffentlichungsdatum: 27. Juni 2016

Zusammenfassung der Neuerung in diesem Release


Neues in diesem Release

Tools für Apache Cordova

Hinweis

Die mit Visual Studio 2015 Update 3 installierte Node.js Version ist veraltet. Wenn Sie auf eine neuere Version aktualisieren möchten, erfahren Sie mehr darüber, wie Sie Node.jssicher aktualisieren .

Visual Studio 2015 Update 3 enthält Tools für Apache Cordova Update 10, einschließlich der folgenden Verbesserungen. und Update 10. Die neuesten Nachrichten zu unseren Tools finden Sie in unserem Entwicklerblog auf GitHub.

  • Wir haben Unterstützung für Cordova 6.1.1, die Standardversion für neue Projekte, hinzugefügt.
  • Wir haben die Cordova Plugin Registry eingestellt, die in Cordova 4.x verwendet wurde, was bedeutet, dass wir jetzt mindestens Cordova 5.x oder höher benötigen, um Plug-Ins hinzuzufügen.
  • Die Liste "Core Plugins" wurde aktualisiert und enthält jetzt Plug-Ins für Unternehmensszenarien, z. B. Intune, Azure Engagement, Sicherheit und lokalen SQLite-Speicher.
  • Sie können jetzt Plug-Ins aus dem Konfigurations-Designer entweder über den npm-Paketnamen oder die ID hinzufügen.

cordova-add-plugin-byid

  • Sie können auch Plug-Ins hinzufügen, die Parameter aus dem Konfigurations-Designer erfordern.

Plug-In-Parameter

Entwickleranalysetools

Wir haben die folgenden Verbesserungen in Developer Analytics Tools v7.0.2 hinzugefügt:

  • Application Insights Trends, ein Tool zum Ermitteln von Trends in der Telemetrie Ihrer App.
  • Ausnahme-Telemetrie in CodeLens.
  • Produktions-Telemetrieinformationen wurden zu Ausnahmen in Diagnosetools hinzugefügt.
  • Unterstützung für das Hinzufügen von Application Insights zu ASP.NET Core RC2-Projekten aus Visual Studio.
  • Diagnosetools-Ereignisse für ASP.NET 5 RC1- und ASP.NET Core RC2-Projekte.
  • Automatische Aktualisierungen der Application Insights-Suche, wenn Detailfilter, Zeitbereiche und Ereignisse ausgewählt werden.
  • Wechseln Sie zu Code aus Anfragen in der Suche.
  • Verbesserte Anmeldeerfahrung für HockeyApp.

Weitere Informationen finden Sie in den Technischen Versionshinweisen in der Microsoft Azure-Dokumentation.

Debuggen und Diagnose

Die Unterstützung von Diagnosetools für Apps, die auf OneCore-Geräten ausgeführt werden, einschließlich HoloLens und IOT, wurde in Update 3 hinzugefügt.

Verbesserungen bei C++-Edit-and-Continue:

  • Bessere Leistung und Zuverlässigkeit, wenn FASTLINK aktiviert ist.
  • Erfolgreiche Anwendung von Codeänderungen an statischen Bibliotheken erzeugt keinen veralteten Code mehr.
  • C4656-Warnungen werden bei der Neukompilierung nicht mehr für irrtümlich als positiv erkannte Typänderungen angezeigt.
  • Unterstützung für das Hinzufügen eines neuen Typs mit demselben Namen, der mehrere Kompilierungseinheiten überschreitet.

Verbesserungen beim Debuggen der XAML-Benutzeroberfläche:

  • Wenn sich der Fokus in Ihrer App ändert, bewirkt das neue Feature "Fokus nachverfolgen" in der Live Visual Tree, dass die Markierung in der Visuellen Live-Struktur auf das aktuell fokussierte Element aktualisiert wird.

Visual Studio-IDE

Abonnements und Product Keys

Wir haben Feedback in "Update 3" von Kunden behoben, die Abonnements über eine Online-Identität oder Produktschlüssel verwenden, um die IDE auf folgende Weise zu entsperren:

  • Sie müssen nicht mehr https://my.visualstudio.com besuchen, um Ihr zugewiesenes Visual Studio Cloud-Abonnement zu aktivieren, und können die Visual Studio-IDE sofort nutzen, sobald das Abonnement zugewiesen ist.
  • Wir haben die Fehlerbehandlung beim Anwenden eines Product Keys verbessert.
  • Alle Benutzerkonten und Lizenzierungsvorgänge werden jetzt mithilfe von HTTPS gesichert.
  • Wir haben im Dialogfeld "Kontoeinstellungen" Verbesserungen an der Barrierefreiheit vorgenommen, um ein Abonnement zu aktivieren und einen Product Key einzugeben.
  • Eine erneute Authentifizierung ist alle ca. 8 Tage nicht mehr erforderlich, um das Personalisierungskonto aktiv zu halten und Roamingeinstellungen zu synchronisieren.

Tools für universelle Windows-Apps

Visual Studio 2015 Update 3 bietet mehrere Verbesserungen an den Tools für universelle Windows-Apps. Eine wichtige Verbesserung ermöglicht es Ihnen, sich mit Azure Active Directory-Anmeldeinformationen für ein AAD Store-Konto anzumelden, wenn Sie ein Paket erstellen, das an den Windows Store übermittelt werden soll. Nachdem das Projekt dem Windows Store zugeordnet wurde, müssen Sie sich nicht mehr anmelden, um ein Paket zu erstellen, das an den Store übermittelt werden soll.

.NET Native für universelle Windows-Apps

.NET Native 1.4 ist eine kleinere Wartungsversion, die die Leistung verbessert, mehrere Fehler behebt, die von Kunden gemeldet wurden, und die Kompilierungszeiten von Release-Builds großer Apps verbessert. XAML-Anwendungen und Unity-Spiele , die .NET Native 1.4 verwenden, haben eine bessere Laufzeitleistung. Diese Verbesserungen wurden durch schnellere Spiegelung und systemeigene API-Aufrufe erzielt.

Architektur-Werkzeuge

Wir haben Feedback von Kunden zur Verbesserung der Leistung und Zuverlässigkeit bearbeitet.

Domänenspezifische Grafische Designer (einschließlich EDMX und DBML)

Unter Windows 10 reagiert Visual Studio nicht mehr, wenn Sie große EDMX- oder DBML-Diagramme öffnen oder bearbeiten möchten, während die Bildschirmtastatur angezeigt wird.

Codemappe

  • Visual Studio ist nicht mehr unresponsive, wenn Sie versuchen, die Codezuordnung für die Lösung zu generieren, falls die Lösung Installationsprojekte (.vdproj) enthält.
  • Visual Studio reagiert nicht mehr, wenn Sie einen Codezuordnungsbefehl aus dem Code-Editor ausführen und das Codezuordnungsfenster schließen, sobald es angezeigt wird.

Layerüberprüfung

  • Beim Erstellen einer Lösung mit einem Modellierungsprojekt, das ein Layerdiagramm mit einer Validate-Aktion enthält, wird ein CPU-Kern nach Abschluss des Builds nicht mehr verwendet.
  • Sie können jetzt ein Layerdiagramm überprüfen, wenn das übergeordnete Modellierungsprojekt auf PCL-Bibliotheken verweist (z. B. ODP.Net).

Node.js Tools für Visual Studio

Node.js Tools 1.2 RC für Visual Studio ist jetzt zum Download verfügbar. Wir erwarten, dass diese Version deutlich verbesserte Stabilität und Leistung bietet, einschließlich der Reduzierung von Abstürzen außerhalb des Arbeitsspeichers, die in früheren Versionen zu sehen sind.

Weitere Highlights sind:

  • Schneller, besser ES6 IntelliSense
  • Zuverlässigeres Debuggen
  • Verbesserte Komponententests (einschließlich Bandunterstützung)
  • .npm-Befehl in verschiedenen Projekttypen

Vollständige Informationen und Downloads finden Sie auf der Seite Node.js Tools 1.2 RC Release.

Web-Entwickler-Tools

Wenn das Kontrollkästchen "Bearbeiten und Fortfahren" deaktiviert ist, wird für ASP.NET Webanwendungsprojekte der IIS Express-Prozess nicht mehr beendet, wenn Sie das Debuggen beenden.

Visual C++

Verbesserungen wie neue Überprüfungen und Warnmeldungen für den C++-Compiler sowie Unterstützungs- und Leistungsverbesserungen für C# und Visual Basic-Codierung wurden in Update 3 aufgenommen.

C++-Compiler

  • Wir überprüfen nun den Zugriff auf einen gelöschten trivialen Kopier-/Verschiebungskonstruktor. Ohne die Überprüfung rufen wir möglicherweise fälschlicherweise den standardmäßigen Kopier-Ctor (in dem die Implementierung fehlerhaft sein kann) auf und verursachen potenzielle Laufzeitfehler bei der Codegenerierung.
  • Std::is_convertible erkennt nun ordnungsgemäß die Selbstzuweisung eines Klassentyps, wenn der Kopierkonstruktor gelöscht oder privat ist.
  • Als der letzte Schritt des Abschaffens der ATL-Attributunterstützung in Visual Studio 2008 begann, haben wir dem Compiler eine neue Warnung zur Abschaffung hinzugefügt. Bei Visual Studio 2015 Update 3 werden Verwendungen von attributiertem ATL-Code standardmäßig eine Warnung der Stufe 1 generieren. C4467
  • Bei der Verwendung von PCH-Dateien wird jetzt eine neue Warnung erzeugt, wenn -I Include-Verzeichnisse zwischen -Yc und -Yu Kompilierungen im Compiler nicht übereinstimmen. C4599
  • Bei der Verwendung von PCH-Dateien erzeugen nicht übereinstimmende #include-Direktiven in Quelldateien zwischen -Yc- und -Yu-Kompilierungsvorgängen jetzt eine Warnung. C4598

Weitere Informationen dazu, wie sich diese Änderungen auf Ihren vorhandenen Code auswirken können, finden Sie im Visual C++-Portierungs- und Upgradehandbuch auf MSDN.

C++-Bibliotheken

  • Wir haben die Leistung des Debugmodus wiederhergestellt, wenn Bereiche trivialer Objekte zerstört werden, die in Update 2 zurückgefallen sind, z. B. in vector.

  • Wir haben die austauschbaren Eigenschaften aus dem C++17-Arbeitspapier des Vorschlags P0185 Hinzufügen [nothrow-]austauschbarer Eigenschaften implementiert. Als spekulatives C++17-Feature sind die Traits (is_swappable, is_swappable_with, is_nothrow_swappable und is_nothrow_swappable_with) nur sichtbar, und die Einschränkungen von std::swap sind nur aktiv, wenn mit /std:c++latest kompiliert wird.

  • Wir haben ETW-Ereignisaufrufe aus vcruntime140.dll und statischen Bibliotheken entfernt, die zuvor während des Prozessstarts und dllmain ausgelöst wurden.

  • Wir haben die Länge von Symbolnamen in den üblichen Mechanismen für STL-Container, wie z. B. std::vector, verringert, um die Wahrscheinlichkeit von C4503-Warnungen zu reduzieren. Der folgende Typ generiert z. B. keine Warnung mehr: concurrency::concurrent_unordered_map<wstring, vector<pair<uint64_t, vector<uint8_t>>>>.

  • ATL/MFC/AMP/PPL: Viele Konformitätskorrekturen im Zusammenhang mit der zweistufigen Suche, wie folgt:

    • _com_ptr_t verfügt jetzt über einen Move-Konstruktor und einen Move-Zuweisungsoperator.

    • MFC: Feste Behandlung von HMENU-Werten, die gelegentlich verhinderten, dass Menüs in 64-Bit-Anwendungen ordnungsgemäß angezeigt werden.

    • ATL/MFC: Gibt die folgenden Warnungen nicht mehr aus:

    • Funktionsüberschreibung/Ausblenden: C4263, C4264, C4266

    • Nicht übereinstimmende Ausnahmespezifikation: C4986

    • /analyze: C6386

    • ATL: Alle Variationen von AtlThrow sind jetzt ordnungsgemäß mit __declspec(noreturn). Dadurch wird verhindert, dass fehlerhafte SAL-Warnungen ausgegeben werden.

    • ATL: Mehrere SAL-Anmerkungen wurden behoben/verbessert.

    • /std:c++latest ermöglicht die folgenden neuen Features: P0025R1 "clamp()", P0185R1 "is_swappable, is_nothrow_swappable" und P0272R1 "Non-const basic_string::data()".

    • /std:c++latest steuert außerdem das Entfernen der folgenden alten Features: N4190 „Entfernen von auto_ptr, random_shuffle() und alten <funktionalen> Sachen“, P0004R1 „Entfernen von veralteten Iostreams-Aliassen“, LWG 2385 „function::assign-Allocator-Argument macht keinen Sinn“, und verschiedene nicht standardmäßige Features (der std::tr1-Namespace, einige Nur-TR1-Mechanismen und die std::identity-Struktur).

    • Stille fehlerhafte Codegenerierung in atomic/atomic auf x86 wurde behoben.

    • Der STL vermeidet jetzt die Verwendung threadsicherer "magischer Statiken", außer wenn es unbedingt erforderlich ist, um Codegen zu verbessern.

    • Tuples perfekter Weiterleitungskonstruktor vermeidet jetzt, den Kopierkonstruktor zu übertreffen, wodurch Compilerfehler in bestimmten Szenarien behoben werden.

  • Coroutines:

    • Abgeschafft folgende: __yield_value & __await Schlüsselwörter. Verwenden Sie stattdessen co_await / co_yield.
    • Hinweis zur Veralterung hinzugefügt für: to_address und from_promise Mitglieder der Klasse coroutine_handle. Verwenden Sie statt coroutine_handle::to_address() jetzt coroutine_handle::address().
    • Verwenden Sie statt coroutine_handle::from_promise(Promise *P) jetzt coroutine_handle::from_promise(Promise &P).
  • Wir haben die Leistung der folgenden Punkte verbessert: std::equal und std::lexicographical_compare, indem wir memcmp und memchr verstärkt einsetzen, was zu großen Leistungsverbesserungen in einigen Szenarien geführt hat. Beispiel: equal(char, char, char) auf 64-Bit-Plattformen.

    • Debug-Builds werden erheblich verbessert, indem die Anzahl der Aufrufe von Verwaltungsfunktionen in unserem Iterator-Debugging-System verringert wird.
    • string::push_back hat sich im Vergleich zu Update 2 in Release-Builds um weitere 40% verbessert, mit erheblich stärkeren Verbesserungen bei Debug-Builds. (Dies ist zusätzlich zu umfangreichen Leistungsverbesserungen hier, die in Update 2 ausgeliefert wurden).
    • Debug-Builds in allen Standardalgorithmen wurden verbessert, indem mehrere Typen von leeren Metaprogrammieraufrufen mit Vorlagen eliminiert wurden (z. B. _Iter_cat) und die Anzahl der Kopien bei Algorithmen, die Prädikate verwenden, reduziert wurde.
    • std::mismatch unter _ITERATOR_DEBUG_LEVEL 1 und 2, indem der zweite Bereich, sofern möglich, vor der Iteration überprüft wird.
  • Wir haben eine verbesserte Diagnose für _SCL_INSECURE_DEPRECATE Nachrichten auf die verbleibenden Algorithmen angewendet. In Update 2 wurde nur eine geringe Anzahl von Algorithmen an den neuen Abkündigungsmechanismus angeschlossen. Dies verbessert auch die Debugerfahrung beim Debuggen in den Standardalgorithmen, da es keine Vorprozessorinteraktion mehr _ITERATOR_DEBUG_LEVEL gibt, die mehrere Kopien von Standardalgorithmen deklariert. Wir haben auch Folgendes behoben:

    • Wir haben das Problem behoben, bestimmte Funktionen wie "mismatch(iter, iter, T[])" aufgrund der Interaktion zwischen unseren nicht-standardmäßigen _ITERATOR_DEBUG_ARRAY_OVERLOADS-Algorithmen und den dualen Bereichsalgorithmen nicht kompilieren zu können.
  • Wir haben Verstöße gegen die standardmäßig deaktivierte Warnung C4242 im STL behoben.

  • Wir haben ein mögliches Integer-Überlaufproblem in std::pop_heap behoben.

  • Ein potenzieller Hang unter "/clr:pure" wurde behoben, der durch vom CLR eingefügte LoadLibrary-Aufrufe während der gehaltenen Locale-Sperre aufgetreten ist.

C++/CLI-Debugging

  • Der C++/CLI-Ausdrucksauswerter unterstützt jetzt Debuggerfeatures wie Natvis, die zuvor nur für reine native Apps unterstützt wurden. Jetzt in einer gemischt verwalteten/nativen App, wenn Objekte in einem Variablenfenster (oder innerhalb einer Dateninfo) aufgelistet werden, werden sie genauso wie in einer rein nativen App erweitert, wie sie von den Typvisualisierungen definiert werden.

cpp-cli-debug

Clang/C2-Plattformtoolset

Wir haben die Clang 3.8-Version in Clang/C2 integriert und ein 64-Bit-Gehostetes Toolset bereitgestellt.

C++ MDD

Wir haben unterstützung für die neueste Android NDK-Version R11C und die Funktion zum Upgrade der aktuellen Projekte auf die neueste NDK aktiviert.

TypeScript

Visual Studio 2015 Update 3 enthält TypeScript 1.8.34. Wir haben einen Speichermangel bei einigen großen TypeScript-Projekten behoben, die AngularJS verwenden.

C# und Visual Basic

Wir haben investiert, um den Speicherbedarf zu reduzieren und die Leistung der Codediagnose zu verbessern. Dadurch werden viele Speicherabstürzen reduziert, die in früheren Versionen aufgetreten sind. Wir haben die Leistung der Ausführung der Codediagnose für eine gesamte Lösung verbessert. Weitere Informationen zu Codediagnoseleistungsverbesserungen finden Sie auf der MSDN-Seite "Aktivieren und Deaktivieren der vollständigen Lösungsanalyse für verwalteten Code ".

Zu den weiteren Verbesserungen gehören:

  • Eine Option zum Hinzufügen eines Verweises auf ein NuGet-Paket als Schnellkorrektur:

Nuget-Glühbirne

  • Sie können diese Option über "Extras > Optionen > Text-Editor > C# > Erweitert" unter "Verwenden von Direktiven" aktivieren.

plugin-byid

  • Wir haben die Unterstützung für portable Klassenbibliotheken für .NET Platform Standard verbessert.
  • Wir haben Leistungsverbesserungen für die C# GoTo Implementation und "Alle Verweise suchen" hinzugefügt. Sie können diese ausprobieren, indem Sie ein Objekt auswählen, mit der rechten Maustaste darauf klicken und diese dann im Menü auswählen.
  • Wenn Sie eine Aktion "Alle korrigieren" auf Dokument/Projekt/Lösung anwenden, wird nun eine Statusanzeige angezeigt.
  • Verbesserte Leistung beim Erneutladen von C#- und VB-Projekten in großen Lösungen. Weitere Informationen und Tipps finden Sie unter: Leistungsüberlegungen für große Lösungen.

Team Explorer

Im Team Explorer wurden mehrere Fehler behoben:

  • Der Inhalt einer Datei, die aus einem Git-Repository gelöscht wurde, kann nicht angezeigt werden.
  • Beim Anzeigen des Verlaufs einer Verzweigung sollte das 'Zum Kind wechseln'-Symbol deaktiviert werden, wenn der Fokus auf dem neuesten Commit liegt.
  • Beim Ändern von Branches mit Git.exe kann Visual Studio abstürzen oder in einen unbekannten Zustand gelangen.
  • Beim Anzeigen des Verlaufs einer Verzweigung in einem Git-Repository weist die Hervorhebung im Verlaufsdiagramm Störungen auf.
  • Beim Erstellen einer Verzweigung im Team-Explorer tritt die ALT+B-Verknüpfung für "Verzweigung erstellen" mit dem Menü "Erstellen" in Konflikt.
  • Bei hoher Speicherauslastung zeigt Git beim Versuch, ein Objekt zu entpacken, das größer als der verfügbare Speicher ist, einen Fehler von "Objekt nicht gefunden – kein übereinstimmendes loses Objekt (<sha1>)" anstelle eines Speicherfehlers.
  • Tippfehler in der Fehlermeldung "... Damit die Lösung geöffnet wird...".
  • Wenn Sie den Verlauf eines Zweigs anzeigen und mit der rechten Maustaste auf den ersten Commit in der Chronik klicken, ist Cherry Pick deaktiviert.
  • Beim Erstellen einer Pullanforderung über das Kontextmenü der Team Explorer-Zweigseite wird die aktuelle Verzweigung anstelle der ausgewählten Verzweigung verwendet.

Xamarin für Visual Studio

Visual Studio 2015 Update 3 enthält jetzt Xamarin 4.1. Zusätzlich zu einer Reihe von Fehlerbehebungen fügt diese Version Unterstützung für tvOS hinzu, verbessert die Unterstützung des iOS-Ressourcenkatalogs, verbessert die XML-Bearbeitungserfahrung und fügt Selektoren für SSL/TLS- und HttpClient-Implementierungen beim Erstellen von iOS-Apps hinzu. Weitere Informationen finden Sie in den Versionshinweisen zu Xamarin.