Visual Studio 2015 Update 3: Versionshinweise
Lizenzbedingungen | Visual Studio-Blog | Entwicklercommunity
Hinweis
Dies ist nicht die neueste Version von Visual Studio. Das neueste Release können Sie über die aktuellen Versionshinweise für Visual Studio 2019 herunterladen.
Visual Studio 2015-Releases
Sie können Versionshinweise für alle Versionen von Visual Studio 2015 anzeigen:
- 27. Juni 2016 – Visual Studio 2015 Update 3
- 30. März 2016 – Visual Studio 2015 Update 2
- 30. November 2015 – Visual Studio 2015 Update 1
- 20. Juli 2015 Visual Studio 2015
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.
Visual Studio 2015 Update 3
Veröffentlichungsdatum: 27. Juni 2016
Zusammenfassung der Neuerung in diesem Release
- Tools für Apache Cordova
- Analysetools für Entwickler
- Debuggen und Diagnose
- Visual Studio-IDE
- Tools für universelle Windows-Apps
- Architekturtools
- Visual C++
- Node.js-Tools für Visual Studio
- Web-Entwicklertools
- TypeScript
- C# und Visual Basic
- Team Explorer
- Xamarin
Zugehörige Versionen
Neues in diesem Release
Tools für Apache Cordova
Hinweis
Die Node.js-Version, die mit Visual Studio 2015 Update 3 installiert wurde, ist veraltet. Weitere Informationen zum Update auf ein neueres Release finden Sie unter Sicheres Aktualisieren von Node.js.
Visual Studio 2015 Update 3 enthält Tools für Apache Cordova Update 10, einschließlich der folgenden Verbesserungen. und Update 10. Die neuesten Informationen zu unseren Tools finden Sie in unserem Entwicklerblog auf GitHub.
- Unterstützung für Cordova 6.1.1, die Standardversion für neue Projekte, wurde hinzugefügt.
- Wir haben die Cordova-Plug-In-Registrierung zurückgezogen, die in Cordova 4.x verwendet wurde, was bedeutet, dass aktuell Cordova 5.x oder höher zum Hinzufügen von Plug-Ins erforderlich ist.
- Die Core Plug-In-Liste wurde aktualisiert und enthält jetzt Plug-Ins für Enterprise-Szenarien, wie etwa Intune, Azure-Engagement, Sicherheit und SQLite mit lokalem Speicher.
- Sie können jetzt Plug-Ins aus dem Config-Designer entweder anhand des NPM-Paketnamens oder anhand der ID hinzufügen.
- Zudem können Sie Plug-Ins hinzufügen, für die Parameter vom Config-Designer erforderlich sind.
Analysetools für Entwickler
Folgende Verbesserungen zu Developer Analytics Tools v7.0.2 wurden hinzugefügt:
- Application Insights-Trends, ein Tool zum Ermitteln von Trends in der Telemetrie Ihrer App.
- Ausnahmetelemetrie in CodeLens.
- Produktionstelemetriedaten 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.
- Diagnosetoolsereignisse 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 sind.
- Aus Anforderungen in der Suche zum Code wechseln.
- Verbesserte Benutzeroberfläche zur HockeyApp-Anmeldung.
Weitere Informationen finden Sie in den technischen Versionsanmerkungen in der Microsoft Azure-Dokumentation.
Debuggen und Diagnose
In Update 3 wurde Unterstützung für die Diagnosetools für Anwendungen hinzugefügt, die auf OneCore-Geräten ausgeführt werden, einschließlich HoloLens und IoT.
Verbesserungen für C++-Bearbeiten und Fortfahren:
- Bessere Leistung und Zuverlässigkeit, wenn FASTLINK aktiviert ist.
- Die erfolgreiche Übernahme von Codeänderungen auf statische Anwendungen führt nicht mehr zu veraltetem Code.
- Es werden keine C4656-Warnungen mehr für falsch positive Typänderungen während der Neukompilierung angezeigt.
- Unterstützung für das Hinzufügen eines neuen Typs mit gleichem Namen über mehrere Kompilierungseinheiten hinweg.
Verbesserungen beim XAML-UI-Debuggen:
- Bei jedem Fokuswechsel in Ihrer App bewirkt das neue Fokus nachverfolgen-Feature in der visuellen Echtzeitstruktur die Aktualisierung auf das Element, das aktuell den Fokus hat.
Visual Studio-IDE
Abonnements und Product Keys
In Update 3 wurde Feedback von Kunden berücksichtigt, die Abonnements mithilfe von Online-IDs oder Product Keys zum Entsperren der IDE verwenden, und zwar in folgender Weise:
- Sie können Visual Studio-IDE sofort verwenden, sobald das Visual Studio Cloud-Abonnement zugewiesen wurde, und müssen nicht mehr zu https://my.visualstudio.com navigieren, um das zugewiesene Abonnement zu aktivieren.
- Die Problembehandlung beim Anwenden eines Product Keys wurde verbessert.
- Alle Vorgänge, die Benutzerkonten und Lizenzierung betreffen, sind nun über HTTPS gesichert.
- Die Barrierefreiheit im Dialogfeld "Kontoeinstellungen" beim Aktivieren eines Abonnements und beim Eingeben eines Product Keys wurde verbessert.
- Eine erneute Authentifizierung alle 8 Tage ist nicht mehr erforderlich, damit das Personalisierungskonto aktiv bleibt und Roamingeinstellungen synchronisiert werden.
Tools für universelle Windows-Apps
Visual Studio 2015 Update 3 enthält eine Reihe von Verbesserungen an den Tools für universelle Windows-Apps. Eine wichtige Verbesserung ermöglicht Ihnen jetzt, sich mit Azure Active Directory-Anmeldeinformationen für ein AAD Store-Konto anzumelden, wenn Sie ein Paket zum Einreichen beim Windows Store erstellen. Nachdem das Projekt dem Windows Store zugeordnet wurde, müssen Sie sich nicht mehr anmelden, um ein Paket für die Einreichung beim Store zu erstellen.
.NET Native für universelle Windows-Apps
.NET Native 1.4 ist eine kleineres Service Release, das die Leistung verbessert, mehrere von Kunden gemeldete Fehler behebt und die Versionsbuild-Kompilierungszeiten großer Apps verbessert. XAML-Anwendungen und Unity-Spiele, die .NET Native 1.4 verwenden, verfügen jetzt über eine bessere Leistung zur Laufzeit. Diese Verbesserungen wurden erreicht, indem sowohl Reflektion als auch Aufrufe der systemeigenen API schneller gemacht wurden.
Architekturtools
Wir haben uns mit dem Feedback von Kunden befasst, um Leistung und Zuverlässigkeit zu verbessern.
Domänenspezifische grafische Designer (einschließlich EDMX und DBML)
Das Problem, dass Visual Studio nicht mehr reagierte, wenn Sie unter Windows 10 große EDMX- oder DBML-Diagramme öffnen oder zu bearbeiten versuchten, während die Bildschirmtastatur angezeigt wurde, ist behoben.
Code Map
- Das Problem, dass Visual Studio nicht mehr reagierte, wenn Sie versuchten, „Code Map für Projektmappe generieren“ auszuführen und die Projektmappe Installerprojekte (.vdproj) enthielt, ist behoben.
- Das Problem, dass Visual Studio nicht mehr reagierte, wenn Sie einen Code Map-Befehl aus dem Code-Editor ausführten und anschließend das Code Map-Fenster schlossen, sobald es angezeigt wurde, ist behoben.
Ebenenüberprüfung
- Beim Erstellen einer Projektmappe mit einem Modellierungsprojekt, das ein Ebenendiagramm mit einer Überprüfen-Aktion enthält, wird nach dem Abschließen des Builds kein CPU-Kern mehr genutzt.
- Sie können jetzt eine Überprüfung eines Ebenendiagramms ausführen, wenn dessen übergeordnetes Modellierungsobjekt auf PCL-Bibliotheken (z. B. ODP.Net) verweist.
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, aufweist und die in früheren Versionen aufgrund ungenügenden Arbeitsspeichers ausgelösten Out-of-Memory-Abstürze verringert werden.
Hier weitere Highlights:
- Schnelleres, besseres ES6-IntelliSense
- Zuverlässigeres Debuggen
- Verbesserte Erfahrungen bei Komponententest (einschließlich Bandunterstützung)
- .npm-Befehl in weiteren Projekttypen
Vollständige Informationen und Downloads finden Sie auf der Seite Node.js Tools 1.2 RC.
Web-Entwicklertools
Für ASP.NET-Webanwendungsprojekte wird der IIS Express-Prozess jetzt nicht mehr bei jedem Anhalten des Debugvorgangs beendet, wenn das Kontrollkästchen „Bearbeiten und Fortfahren aktivieren“ deaktiviert ist.
Visual C++
Update 3 bietet Erweiterungen, z. B. neue Prüfungen und Warnmeldungen für den C++-Compiler sowie die Verbesserungen bei Unterstützung und Leistung für C#- und Visual Basic-Codierung.
C++ Compiler
- Wir überprüfen jetzt den Zugriff eines gelöschten trivialen Kopier-/Bewegungskonstruktors. Ohne diese Überprüfung wird der nicht funktionierende Kopierkonstruktor (dessen Implementierung möglicherweise ein falsches Format aufweist) möglicherweise fälschlicherweise aufgerufen führt zur Laufzeit zur Generierung von ungültigem Code.
Std::is_convertible
erkennt die Selbstzuweisung eines Klassentyps jetzt richtig, wenn der Kopierkonstruktor gelöscht wird oder privat ist.- Als letzte Phase beim Abschließen der Veraltung der Unterstützung von attributiertem ATL, die in Visual Studio 2008 begann, wurde dem Compiler eine neue Veraltungswarnung hinzugefügt. Ab Visual Studio 2015 Update 3 löst die Verwendung von attributiertem ATL-Code eine standardmäßig aktivierte Warnung der Ebene 1 aus. C4467
- Bei der Verwendung von PCH-Dateien lösen Zuordnungsfehler bei -I Includeverzeichnissen für den Compiler zwischen -Yc- und -Yu-Kompilierungen jetzt eine neue Warnung aus. C4599
- Bei der Verwendung von PCH-Dateien führen nicht übereinstimmende #include-Anweisungen in Quelldateien zwischen -Yc- und -Yu-Kompilierungen jetzt zu einer Warnung. C4598
Weitere Informationen über mögliche Auswirkungen dieser Änderungen auf Ihren vorhandenen Code finden Sie unter Visual C++-Handbuch: Portieren und Aktualisieren auf MSDN.
C++-Bibliotheken
Die Leistung im Debugmodus beim Zerstören von Bereichen von trivialen Objekten, die in Update 2 zu einem Regress geführt hatten (etwa bei „vector<char>“), wurde wiederhergestellt.
Die austauschbaren Merkmale aus dem C++17-Arbeitspapier aus Vorschlag P0185 – Hinzufügen von austauschbaren nothrow-Merkmalen wurden implementiert. Als spekulatives C++17-Feature sind die Merkmale (
is_swappable
,is_swappable_with
,is_nothrow_swappable
undis_nothrow_swappable_with
) nur sichtbar, und die Einschränkungen fürstd::swap
sind nur aktiv, wenn die Kompilierung mit/std:c++latest
erfolgt.Die ETW-Ereignisaufrufe wurden aus „vcruntime140.dll“ und statischen Bibliotheken entfernt, die bisher während des Prozessstarts und bei dllmain auslösten.
Die Beschränkung der Symbolnamenlänge in von STL-Containern häufig verwendeten Mechanismen, z.B. „std::vector“, wurde entfernt und somit die Wahrscheinlichkeit von C4503-Warnungen reduziert. Der folgende Typ generiert beispielsweise keine Warnung mehr: concurrency::concurrent_unordered_map<wstring, vector<pair<uint64_t, vector<uint8_t>>>>
ATL/MFC/AMP/PPL: Viele Behebungen von Kompatibilitätsproblemen im Zusammenhang mit dem zweistufigen Nachschlagen, wie hier dargestellt:
_com_ptr_t
verfügt jetzt über einen Bewegungskonstruktor und einen Bewegungszuweisungsoperator.MFC: Die Behandlung von HMENU-Werten, die gelegentlich die ordnungsgemäße Darstellung von Menüs in 64-Bit-Anwendungen verhindert haben, wurde behoben.
ATL/MFC: Die folgenden Warnungen werden nicht mehr ausgegeben:
Funktionsüberschreibung/-ausblendung: C4263, C4264, C4266
Nicht übereinstimmende Ausnahmespezifikation: C4986
/analyze: C6386
ATL: Alle Varianten von „AtlThrow“ werden jetzt ordnungsgemäß mit
__declspec(noreturn)
gekennzeichnet. Dies verhindert eine Ausgabe von falschen SAL-Warnungen.ATL: Verschiedene SAL-Warnungen wurden behoben/verbessert.
/std:c++latest
aktiviert die folgenden neuen Features: P0025R1 „clamp()“, P0185R1 „is_swappable, is_nothrow_swappable“ und P0272R1 „Non-const basic_string::data().“."/std:c++latest" steuert darüber hinaus die Entfernung der folgenden alten Features: N4190 "Removing auto_ptr, random_shuffle(), And Old <functional> Stuff", P0004R1 "Removing Deprecated Iostreams Aliases", LWG 2385 "function::assign allocator argument doesn't make sense" und verschiedene nicht standardmäßige Features (der Namespace "std::tr1", einige nur mit TR1 zu verwendende Komponenten und die Struktur "std::identity").
Die lautlose Generierung von ungültigem Code in "atomic<int64_t>/atomic<uint64_t>" auf x86 wurde behoben.
STL vermeidet jetzt die Verwendung von threadsicheren "magic statics", wenn dies nicht unbedingt erforderlich ist, wodurch die Codegenerierung verbessert wird.
Der perfekte Tuple-Weiterleitungskonstruktor steht jetzt nicht mehr im Wettbewerb mit dem Kopierkonstruktor, was Compilerfehler in bestimmten Szenarien behebt.
Coroutinen:
- Folgendes wurde als veraltet definiert: Schlüsselwörter
__yield_value
und__await
. Verwenden Sie stattdessenco_await / co_yield
. - Ein Veraltungshinweis wurde hinzugefügt:
to_address
- undfrom_promise
-Mitglieder dercoroutine_handle
-Klasse. Verwenden Sie stattcoroutine_handle::to_address()
jetztcoroutine_handle::address()
. - Verwenden Sie statt
coroutine_handle::from_promise(Promise *P)
jetztcoroutine_handle::from_promise(Promise &P)
.
- Folgendes wurde als veraltet definiert: Schlüsselwörter
Hier wurde die Leistung verbessert:
std::equal
undstd::lexicographical_compare
durch aggressivere Verteilung auf memcmp und memchr, was in einigen Szenarien zu deutlichen Leistungsverbesserungen führt. Beispiel: equal(char,char,char, char) auf 64-Bit-Plattformen.- Debugbuilds erheblich durch Verringern der Anzahl von Buchhaltungsfunktionsaufrufen in den Interna des Iteratordebuggers.
- string::push_back wurde im Vergleich mit Update 2 in Releasebuilds um weitere 40 % verbessert, bei noch erheblicheren Verbesserungen in Debugbuilds. (Dies zusätzlich zu den erheblichen Leistungsverbesserungen in diesem Punkt, die in Update 2 realisiert wurden.)
- Debugbuilds wurden quer über alle Standardalgorithmen verbessert, indem eine Reihe von Aufrufen von Leervorlagen zur Metaprogrammierungsunterstützung entfernt wurde (z. B.
_Iter_cat
), quer über alle Algorithmen, die Prädikate annehmen, hinweg, indem die Anzahl der Prädikatkopien verringert wurde. std::mismatch
unter_ITERATOR_DEBUG_LEVEL
1 und 2 durch Bereichsprüfung des zweiten Bereichs vor der Iteration, sofern möglich.
Die Diagnose wurde für
_SCL_INSECURE_DEPRECATE
-Nachrichten für die verbleibenden Algorithmen verbessert (in Update 2 war nur eine kleine Anzahl Algorithmen in den neuen Veraltungsmechanismus eingehängt). Dadurch verbessert sich auch das Debugverhalten beim Debuggen in Standardalgorithmen, da keine_ITERATOR_DEBUG_LEVEL
-Präprozessorinteraktion mehr auftritt, bei der mehrere Kopien von Standardalgorithmen deklariert werden. Ferner wurden folgende Probleme behoben:- Bestimmte Funktionen, wie etwa „mismatch(iter, iter, T[])“, konnten bislang aufgrund der Wechselwirkungen zwischen den nicht standardmäßigen
_ITERATOR_DEBUG_ARRAY_OVERLOADS
- und Zweibereichsalgorithmen nicht kompiliert werden. Dies wurde behoben.
- Bestimmte Funktionen, wie etwa „mismatch(iter, iter, T[])“, konnten bislang aufgrund der Wechselwirkungen zwischen den nicht standardmäßigen
Verstöße gegen die standardmäßig deaktivierte Warnung C4242 in der STL wurden behoben.
Ein Fehler im Zusammenhang mit einem möglichen Integerüberlauf in „std::pop_heap“ wurde behoben.
Ein mögliches Hängen unter „/clr:pure“ aufgrund von per CLR eingefügten LoadLibrary-Aufrufen beim Halten der lokalen Sperre wurde behoben.
C++/CLI-Debugging
- Die C++/CLI-Ausdrucksauswertung unterstützt jetzt Debuggerfunktionen wie Natvis, die zuvor nur für reine systemeigene Apps unterstützt wurden. Wenn Objekte in einer gemischten verwalteten/systemeigenen App in einem Variablenfenster (oder in einem DataTip) aufgelistet werden, werden diese jetzt genau wie in einer reinen systemeigenen App gemäß der Typ-Schnellansichten erweitert.
Clang/C2-Plattformtoolset
Clang 3.8-Version wurde in Clang/C2 integriert und ein gehostetes 64-Bit-Toolset wird bereitgestellt.
C++ MDD
Wir haben Unterstützung für die neueste Android NDK-Version R11C und die Möglichkeit zum Upgrade der aktuellen Projekte auf das neueste NDK als Zielplattform aktiviert.
TypeScript
Visual Studio 2015 Update 3 enthält TypeScript 1.8.34. Ein Fehler aufgrund von ungenügendem Arbeitsspeicher bei einigen großen TypeScript-Projekten, die AngularJS verwenden, wurde behoben.
C# und Visual Basic
Wir haben in die Reduzierung der Speicherbeanspruchung und die Verbesserung der Leistung der Codediagnose investiert. Dies reduziert einen Großteil der in früheren Versionen aufgrund ungenügenden Arbeitsspeichers ausgelösten Out-of-Memory-Abstürze. Wir haben die Leistung bei der Ausführung von Codediagnose für eine gesamte Projektmappe verbessert. Weitere Informationen zu Leistungsverbesserungen bei der Codediagnose finden Sie auf der Seite Gewusst wie: Aktivieren und Deaktivieren der Analyse gesamter Projektmappen für verwalteten Code auf MSDN.
Zu den weiteren Verbesserungen zählen die folgenden:
- Eine Option zum Hinzufügen eines Verweises auf ein NuGet-Paket als schnelle Problembehebung:
- Sie können diese Option unter „Extras“ > „Optionen“ > „Text-Editor“ > „C#“ > „Erweitert“ unter „Using-Direktiven“ aktivieren:
- Die Unterstützung für portable Klassenbibliotheken mit dem .NET-Plattformstandard als Zielplattform wurde verbessert.
- Leistungsverbesserungen der C# GoTo-Implementierung und bei „Alle Verweise suchen“ wurden hinzugefügt. Sie können diese ausprobieren, indem Sie ein Objekt auswählen, mit der rechten Maustaste darauf klicken und es dann im Menü auswählen.
- Wenn Sie eine Aktion "Alle korrigieren" auf "document/project/solution" anwenden, wird jetzt eine Statusleiste angezeigt.
- Verbesserte Leistung beim Neuladen von C#- und VB-Projekten in großen Projektmappen. Weitere Informationen und Tipps finden Sie unter Performance considerations for large solutions.
Team Explorer
Mehrere Fehler in Team Explorer wurden 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 Symbol „Zu untergeordnetem Element wechseln“ deaktiviert werden, wenn der neueste Commit den Fokus hält.
- Wenn Sie Verzweigungen mit „Git.exe“ ändern, kann Visual Studio abstürzen oder in einem unbekannten Status wechseln.
- Beim Anzeigen des Verlaufs einer Verzweigung in einem Git-Repository weist die Hervorhebung im Verlaufsdiagramm Störungen auf.
- Beim Erstellen einer Verzweigung in Team Explorer führt die Tastenkombination ALT+B für „Verzweigung erstellen“ zu einem Konflikt mit dem Build-Menü.
- In einer Situation mit einer hohen Speicherauslastung führt der Versuch, ein Objekt zu entpacken, das größer als der verfügbare Arbeitsspeicher ist, in Git zu dem Fehler „Objekt nicht gefunden – kein passendes ungebundenes Objekt vorhanden (<sha1>)“ anstelle eines Fehlers aufgrund von ungenügendem Arbeitsspeicher.
- Rechtschreibfehler in der Fehlermeldung „... Wenn Sie diese Projektmappe öffnen möchten, ...“.
- Wenn Sie den Verlauf einer Verzweigung anzeigen und mit der rechten Maustaste auf den ersten Commit im Verlauf klicken, wird Cherry-Pick deaktiviert.
- Wenn Sie eine Pull-Anforderung auf der Seite mit den Team Explorer-Verzweigungen erstellen, wird im Kontextmenü 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 Fehlerkorrekturen bietet diese Version Unterstützung für tvOS. Außerdem wurden die Unterstützung des Katalogs der iOS-Objekte und die XML-Bearbeitungsumgebung verbessert und Selektoren für SSL/TLS- und HttpClient-Implementierungen beim Erstellen von iOS-Apps hinzugefügt. Weitere Informationen finden Sie in den Versionshinweisen zu Xamarin.