Visual Studio IconAnmerkungen zu Visual Studio 2015


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:

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.


Release Notes IconVisual Studio 2015

Freigegeben am Juli 20, 2015

Zusammenfassung der Neuerung in diesem Release

Sonstige Änderungen:

Details zu den Neuerungen in dieser Version

Visual C++ für plattformübergreifende Mobile-Entwicklung

Jetzt ist es einfach, den gesamten plattformspezifischen Code über mehrere Anwendungsplattformen hinweg freizugeben, wiederzuverwenden, zu erstellen, bereitzustellen und zu debuggen, alles mit einer einheitlichen Lösung in Microsoft Visual Studio. Hier sind nur einige wenige Dinge, die Sie tun können:

  • Erstellen Sie Projekte aus Vorlagen für Android Native Activity-Anwendungen oder für freigegebene Codebibliotheken, die Sie auf mehreren Plattformen und in nativen Xamarin-Android-Anwendungen verwenden können.

  • Verwenden Sie plattformspezifisches IntelliSense, um APIs zu erkunden und korrekten Code für Android- oder Windowsziele zu generieren.

  • Konfigurieren Sie Ihren Build für x86- oder ARM-systemeigene Plattformen.

  • Stellen Sie Ihren Code auf angeschlossenen Android-Geräten bereit, oder verwenden Sie den leistungsstarken Android-Emulator von Microsoft zum Testen.

  • Im Visual Studio-Debugger können Sie Haltepunkte setzen, Variablen überwachen, den Stapel anzeigen und Code schrittweise durchlaufen.

  • Zeigen Sie das Nachrichtenprotokoll von einem Android-Gerät mithilfe des LogCat-Viewers an. (Logcat ist ein Diagnosetool und unerlässlich für eine gute Bearbeitungs->Build->Debug-Erfahrung.)
    Verwenden Sie Logcat, um Folgendes auszuführen:

    • Suchen Sie mithilfe der Suchleiste nach bestimmten Protokollnachrichten.
    • Verwenden Sie „Autoscroll umschalten“, um bevorstehende Protokollnachrichten einfach anzuzeigen.
    • Löschen Sie vorherige Protokollausgabemeldungen.
    • Wählen Sie zwischen verschiedenen Protokollebenen aus.
  • Schreiben Sie C++-Code für die iOS-Plattform und nutzen Sie die Vorteile unserer fortschrittlichen Funktionen für die Codeerstellung wie z. B. die Codefreigabe, plattformübergreifende IntelliSense-, Umgestaltungs- und Vorschaudefinition. Der iOS-Support ist noch in Bearbeitung, daher achten Sie bald auf weitere Informationen. Sie können uns Feedback senden, indem Sie Herstellen einer Verbindung für Fehler verwenden. Darüber hinaus können Sie uns Ihre schnellen Gedanken senden, indem Sie Send-a-Smile in der Visual Studio-IDE verwenden.

Außerdem haben wir Folgendes hinzugefügt oder aktualisiert:

  • Support für Android-API Ebene 21 (Lollipop).
  • Eine neue Vorlage, die auf der Unterstützung von Dateien für Android basiert, welche die Verwendung eines externen Build-Systems (einschließlich NDK- BUILD) ermöglicht.
  • Vorkompilierte Header in allen Vorlagen (einschließlich dynamischer freigegebener Bibliothek, statischer Bibliothek und plattformübergreifender mobiler Vorlagen).

Visual Studio-Tools für Apache Cordova

Die Microsoft Visual Studio Tools for Apache Cordova, früher bekannt als Multi-Device Hybrid Apps für Microsoft Visual Studio, erleichtern das Erstellen, Debuggen und Testen von plattformübergreifenden Anwendungen für Android, iOS, Windows und Windows Phone mit einem einfachen Microsoft Visual Studio-Projekt.

Alle Funktionen, die in früheren CTPs verfügbar sind, sind jetzt in Visual Studio 2015 RC verfügbar, einschließlich der folgenden Verbesserungen:

  • Update für die Sicherung von Ripple – keine Neuerstellung nötig!
  • Debuggen einer iOS-Version Ihrer Anwendung aus Visual Studio, wenn sie auf dem iOS-Simulator oder einem verbundenen Gerät auf einem Mac bereitgestellt wird
  • Verbesserte Sicherheit und vereinfachte Konfiguration für den enthaltenen Remote-iOS-Build-Agent
  • Eine verbesserte Plug-in-Verwaltung mit Support für das Hinzufügen benutzerdefinierter Plugins zu Ihrem Projekt aus Git oder dem Dateisystem
  • Auswählen plattformspezifischer Konfigurationsoptionen aus einem verbesserten config.xml-Designer
  • Unterstützung für Apache Cordova 4.0.0.

Wir haben auf Ihr Feedback gehört und die Anzahl der Geräte, auf denen Sie debuggen können, wie folgt erweitert:

  • Android 4.4, Android 4.3 und früher mit jsHybugger
  • iOS 6, 7 und 8
  • Windows Store 8.1

Dann haben wir unseren Debugging-Support weiter ausgebaut. Sie können jetzt Ihre Apache Cordova-Anwendungen debuggen, die auf Windows Phone 8.1 abzielen.

Sie können Haltepunkte setzen, Variablen untersuchen, die Konsole verwenden und andere Debugging-Aufgaben auf Ihrem Windows Phone 8.1-Emulator oder angeschlossenen Gerät durchführen.

Debugging with Visual Studio Tools for Apache Cordova

Wir haben CLI-Interoperabilität für die RC-Version hinzugefügt. Cordova-Projekte in Visual Studio werden jetzt mit Änderungen synchronisiert, die an Ihrem Projektordner auf dem Datenträger vorgenommen wurden. Änderungen können von Visual Studio unabhängig davon fließen, ob Sie mit Drittanbietertools oder auf anderen Betriebssystemen arbeiten. (Die Standarddateistruktur für Cordova-Projekte basiert auf der Struktur, die von den Apache Cordova Befehlszeilentools erwartet wird, wodurch es einfacher ist, direkt mit der Apache Cordova CLI oder anderen Tools zu arbeiten, die diese Ordnerstruktur erwarten.)

Visual Studio-Emulator für Android

Sie können den Visual Studio-Emulator für Android entweder in einem plattformübergreifenden Projekt in Visual Studio (Xamarin oder C++) oder in Microsoft Visual Studio Tools für Apache Cordova verwenden. Mit dem Emulator können Sie ohne Hyper-V-Konflikte zwischen verschiedenen Plattformemulatoren wechseln. Es unterstützt eine Vielzahl von Sensoren und Simulationen, einschließlich GPS/Ort, Beschleunigungsmesser, Bildschirmdrehung, Zoom, SD-Karte, Kamera, Multitouch und Netzwerkzugriff. Es unterstützt auch Android-Versionen 4.4 (KitKat, API Ebene 19) und 5.0 (Lollipop, API Level 21).

Der Visual Studio-Emulator für Android unterstützt sowohl die WLAN-Simulation als auch die Möglichkeit, aus verschiedenen Gerätehardwarekonfigurationen auszuwählen.

Wir haben die folgenden neuen Funktionen für RTM hinzugefügt:

  • Neue Plattformen. Jellybean (API 17) und Lollipop 5.1 (API 22)-Bilder sind verfügbar.
  • Befehlszeilenschnittstelle Wenn Sie zu %programfiles(x86)%\Microsoft Emulator Manager\1.0\emulatorcmd.exe in einer Eingabeaufforderung navigieren, können Sie mit dem Emulator-Manager (Liste, Installation, Startprofile usw.) ohne Benutzeroberfläche interagieren.
  • Zip-Bibliotheken mit Drag & Drop. Wenn Sie eine flashbare Zip-Datei auf den Emulator ziehen, wird sie jetzt automatisch entpackt und installiert.
  • Registerkarte SD-Karte. Mit dieser neuen Registerkarte im Fenster „Zusätzliche Tools“ können Sie Daten in die SD-Karte übertragen und von dieser abrufen.
  • Erwerben Sie auf eigene Faust. Der Emulator kann auf einem Computer installiert werden, ohne dass Sie Visual Studio installieren müssen. Im Startmenü wird eine Verknüpfung zum Emulatormanager angezeigt, sodass Sie sie starten und aus einer beliebigen Entwicklungstoolkette verwenden können.

Weitere Informationen finden Sie unter Visual Studio Emulator für Android.

Visual Studio-Tools für die Entwicklung universeller Windows-Anwendungen

Die Visual Studio-Tools für die Entwicklung universeller Windows-Anwendungen sind in das Visual Studio-Setup integriert. Mit diesen Tools können Sie Windows-Anwendungen erstellen, die auf allen Windows 10-Geräten ausgeführt werden – dem Smartphone in Ihrer Tasche, dem Tablet oder Laptop in Ihrer Tasche, dem PC auf Ihrem Schreibtisch, den IoT-Geräten und bald auch den Xbox-Konsolen in Ihrem Haus, dem Surface Hub und mehr. Darüber hinaus können Sie diese Tools auch verwenden, um Windows-Desktopanwendungen zu erstellen, die Windows 10-APIs nutzen. Weitere Informationen finden Sie unter Was ist neu in Visual Studio-Tools für Universal Windows-Anwendungen.

Weitere Informationen zur Entwicklung von Windows-Anwendungen finden Sie im Leitfaden zu universellen Windows-Anwendungen und im Windows Developer-Center. Informationen zu den neuesten Windows-Builds und SDKs finden Sie im Windows-Insider-Portal.

Visual C++

In dieser Version wurden der C++-Compiler und die Standardbibliothek mit verbessertem Support für C++11 und erster Unterstützung für bestimmte C++14-Funktionen aktualisiert. Diese schließen darüber hinaus vorläufige Unterstützung für bestimmte Features ein, deren Implementierung im C++17-Standard erwartet wird.

Darüber hinaus wurden mehr als 500 Compilerfehler behoben, darunter viele von Kunden über die Microsoft Entwicklercommunity übermittelte – vielen Dank!

Sprachfunktionen

Wir haben die folgenden neuen Funktionen hinzugefügt, um den Compiler näher an den C++-Standard zu bringen:

  • Fortsetzbare Funktionen (fortsetzen/erwarten) Die Schlüsselwörter „fortsetzen“ und „erwarten“ bieten Support auf Sprachebene für asynchrone Programmierung und ermöglichen fortsetzbare Funktionen. Diese Funktion ist derzeit nur für x64-Ziele verfügbar. Vorgeschlagen für C++17 [N3858]
  • Generische (polymorphe) Lambda-Ausdrücke Die Parametertypen von Lambda-Funktionen können jetzt mit „auto“ angegeben werden. Der Compiler interpretiert „auto“ in diesem Zusammenhang so, dass der Funktionsaufruf-Operator der Schließung eine Vorlage für eine Mitgliedsfunktion ist und dass jede Verwendung von „auto“ im Lambda-Ausdruck einem bestimmten Vorlagentyp-Parameter entspricht. C++14
  • Generalisierte Lambda-Erfassungsausdrücke Auch als „init-capture“ bezeichnet. Das Ergebnis eines arbiträren Ausdrucks kann jetzt einer Variablen in der Erfassungsklausel eines Lambda-Ausdrucks zugeordnet werden. Dies ermöglicht die Erfassung von Typen, die nur zur Verschiebung dienen, nach dem Wert und ermöglichen einem Lambda-Ausdruck, arbiträre Datenelemente in seinem Schlussobjekt zu definieren. C++14
  • Binäre Literale werden jetzt unterstützt. Diesen Literalen steht ein Präfix 0B oder 0b voran, und sie bestehen lediglich aus den Ziffern 0 und 1. C++14
  • Ableitung des Rückgabetyps Der Rückgabetyp normaler Funktionen kann jetzt abgeleitet werden. Das trifft auch auf Funktionen mit mehreren return-Anweisungen und auf rekursive Funktionen zu. Diesen Funktionsdefinitionen wird das automatische Schlüsselwort wie in Funktionsdefinitionen mit einem nachfolgenden Rückgabetyp vorangestellt, der nachfolgende Rückgabetyp wird jedoch nicht angegeben. C++14
  • decltype(auto) Typableitung mithilfe des Schlüsselworts „auto“ zum Initialisieren von Ausdrücken entfernt Verweisqualifizierer und CV-Qualifizierer der obersten Ebene aus dem Ausdruck. Mit "decltype(auto)" werden Ref- und CV-Qualifizierer beibehalten; er kann nun überall dort verwendet werden, wo "auto" verwendet werden kann, ausgenommen bei der Einführung von Funktionen mit abgeleitetem oder nachstehendem Rückgabetyp. C++14
  • Implizite Generation von speziellen Bewegungsmemberfunktionen Bewegungskonstruktoren und Bewegungszuweisungsoperatoren werden jetzt implizit generiert, wenn es die Bedingungen zulassen, wodurch der Compiler sich hinsichtlich rvalue-Verweisen vollständig C++11-konform verhält. C++11
  • Vererbung für Konstruktoren Eine abgeleitete Klasse kann jetzt festlegen, dass sie die Konstruktoren ihrer Basisklasse „Basis“ erbt, indem sie die Anweisung mithilfe von „Base::Base;“ in ihrer Definition verwendet. Eine ableitende Klasse kann nur alle Konstruktoren ihrer Basisklasse erben, es gibt keine Möglichkeit, nur bestimmte Konstruktoren der Basis zu erben. Eine ableitende Klasse kann nicht von mehreren Basisklassen erben, wenn sie über Konstruktoren mit identischer Signatur verfügen, noch kann die ableitende Klasse einen Konstruktor definieren, der eine mit einem geerbten Konstruktor identische Signatur aufweist. C++11
  • Abfrage und Steuerung der Ausrichtung Die Ausrichtung einer Variablen kann mithilfe des Operators „alignof()“ abgefragt und mithilfe des Spezifizierers „alignas()“ gesteuert werden. alignof() gibt die Bytegrenze für Instanzen des Typs zurück, die zugewiesen werden müssen. Für Verweise gibt sie die Ausrichtung des referenzierten Typs zurück und gibt für Arrays die Ausrichtung des Elementtyps zurück. „alignas()“ steuert die Ausrichtung einer Variablen. Als Argument wird eine Konstante oder ein Typ angenommen, wobei ein Typ die verkürzte Schreibung von „alignas(alignof(type))“ darstellt. C++11
  • Erweitertes sizeof Die Größe einer Klassen- oder Strukturvariable kann jetzt ohne eine Instanz der Klasse oder Struktur mit sizeof() ermittelt werden. C++11
  • constexpr Partielle Unterstützung für C++11 constexpr. C++11 (teilweise)
  • Benutzerdefinierte Literale (UDLs, User-Defined Literals) Bedeutungstragende Suffixe können jetzt an numerische und Zeichenfolgenliterale angehängt werden, um ihnen eine bestimmte Semantik zu verleihen. Der Compiler interpretiert Literale mit Suffix als Aufrufe des entsprechenden UDL-Operators. C++11
  • „Magische“ threadsichere statische Variablen Lokale statische Variablen werden jetzt auf threadsichere Weise initialisiert, wodurch die Notwendigkeit der manuellen Synchronisierung entfällt. Nur die Initialisierung ist threadsicher, die Verwendung von lokalen statischen Variablen durch mehrere Threads muss weiterhin manuell synchronisiert werden. Die Funktion für threadsichere statische Variablen kann mithilfe des Flags "/Zc:threadSafeInit-" deaktiviert werden, um eine Abhängigkeit vom CRT zu vermeiden. C++11
  • Threadlokaler Speicher Verwenden Sie das Schlüsselwort „thread_local“, um zu deklarieren, dass ein unabhängiges Objekt für jeden Thread erstellt werden soll. C++11
  • Der Noexcept-Operator kann nun verwendet werden, um zu überprüfen, ob ein Ausdruck eine Ausnahme auslösen kann. Der Spezifizierer "noexcept" kann jetzt verwendet werden, um anzugeben, dass eine Funktion keine Ausnahmen auslöst. C++11
  • Inline-Namespaces Ein Namespace kann jetzt als inline festgelegt werden, um seinen Inhalt auf den umschließenden Namespace auszudehnen. Inline-Namespaces können zum Erstellen versionierter Bibliotheken verwendet werden, die standardmäßig ihre aktuellste Version verfügbar machen, während frühere API-Versionen explizit weiterhin verfügbar gemacht werden können. C++11
  • Unbeschränkte Unions Ein Typ „Union“ kann jetzt Typen mit nicht-trivialen Konstruktoren enthalten. Konstruktoren für diese Unions müssen definiert werden. C++11
  • Neue Zeichentypen und Unicode-Literale Zeichen- und Zeichenfolgenliterale in UTF-8, UTF-16 und UTF-32 werden jetzt unterstützt, und die neuen Zeichentypen „char16_t“ und „char32_t“ wurden eingeführt. Zeichenliterale können die Präfixe "u8" (UTF-8), "u" (UTF-16) oder "U" (UTF-32) wie in "U'a'" tragen, während Zeichenfolgenliterale zusätzlich die Rohzeichenfolgen-Äquivalente "u8R" (UTF-8-Rohzeichenfolge), "uR" (UTF-16-Rohzeichenfolge), oder "UR" (UTF-32-Rohzeichenfolge) aufweisen können. Universelle Zeichennamen können in Unicode-Literalen frei verwendet werden, wie in u'\u00EF', u8"\u00EF ist i" und u"\U000000ef ist I". C++11
  • func Der vordefinierte Bezeichner func ist implizit als Zeichenkette definiert, die den unqualifizierten und ungeschönten Namen der einschließenden Funktion enthält. C++11
  • __restrict__restrict kann jetzt auf Verweise angewendet werden.
  • Typename-Schlüsselwort. Benutzer können jetzt Typname anstelle der Klasse in einem Vorlagenvorlagenparameter schreiben. C++14
  • Die Globals void operator delete(void *, std::size_t) noexcept und void operator delete[](void *, std::size_t) noexcept können jetzt überladen werden. C++14
  • Zifferntrennzeichen Jetzt können Sie numerische Literale mit einfachen Anführungszeichen einstreuen, um sie besser lesbar zu machen. Zum Beispiel: int x = 1'000'000;. C++14
  • Universelle Zeichennamen in Literalen Sie können nun grundlegende Zeichen wie „A“ und das Zeilenvorschubzeichen als Codepunkte in Literalen schreiben. Zum Beispiel: Const char *s = "\u0041\u000A";. C++11
  • Nicht-statische Initialisierungen von Datenelementen funktionieren jetzt korrekt mit Initialisierungslisten. C++11
  • Attribute Sie können nun eine Funktion als [[noreturn]] angeben, um dem Compiler mitzuteilen, dass die Funktion nicht zurückgegeben wird (obwohl sie eine Ausnahme auslösen kann). Verschiedene Konstrukte können jetzt auch als [[veraltet]] angegeben werden. Attribute sind jetzt für Namespaces und Enumerationen zulässig. C++11, C++14 und C++17
  • Benutzerdefinierte Literale (USER-Defined Literals, UDLs) Numerische und Zeichenfolgenliterale können jetzt über aussagekräftige Suffixe verfügen, die benutzerdefinierte Berechnungen für die Literaldaten ausführen. C++11
  • Datenabhängige Sortierungs-Attribute Sie können jetzt Funktionsparameter, Lambdaparameter oder Funktionsdeklarationen als [[carries_dependency]] angeben, um Optimierungen für gleichzeitige Datenstrukturen zu verbessern, die häufig gelesen, aber selten geändert werden. C++11
  • Neue Regeln für auto mit geschweiften Init-Listen Automatisches Abziehen für Kopierlisteninitialisierungen führen jetzt entweder zu einem std::initializer_list oder sind andernfalls schlecht formiert. C++17

Visual C++-Bibliotheksfunktionen

  • Benutzerdefinierte Literale (UDLs) für Typen der Standardbibliothek Die Header <chrono>, <string> und <complex> bieten jetzt UDL-Operatoren für Ihren Komfort. Beispielsweise bedeutet "123ms" "std::chrono::milliseconds(123)", "hello"s bedeutet "std::string("hello")" und "3.14i" bedeutet "std::complex(0.0, 3.14)".
  • Null-Vorwärtsiteratoren Die Standardbibliothek ermöglicht jetzt die Erstellung von Vorwärtsiteratoren, die nicht auf eine Containerinstanz verweisen. Diese Initiatoren sind wertinitialisiert und werden im Vergleich mit einem bestimmten Containertyp als gleich angesehen. Der Vergleich eines wertinitialisierten Iterators mit einem nicht wertinitialisierten Iterator ist undefiniert. C++14
  • quoted() Die Standardbibliothek unterstützt jetzt die Funktion „quoted()“, um die Arbeit mit Zeichenfolgenwerten in Anführungszeichen sowie mit E/A zu erleichtern. Bei Angabe von "quoted()" wird eine gesamte in Anführungszeichen stehende Zeichenfolge als einzelne Entität behandelt (wie Zeichenfolgen von nicht aus Whitespace bestehenden Zeichen in E/A-Datenströmen); darüber hinaus bleiben Escapesequenzen bei E/A-Vorgängen erhalten. C++14
  • Heterogenes assoziatives Lookup Die Standardbibliothek unterstützt jetzt heterogene Nachschlagefunktionen für assoziative Container. Diese Funktionen ermöglichen das Nachschlagen nach anderen Typen als "key_type", sofern der Typ mit "key_type" vergleichbar ist. C++14
  • Integersequenzen zur Kompilierzeit Die Standardbibliothek unterstützt jetzt den Typ „integer_sequence“, der eine Sequenz von ganzzahligen Werten darstellt, die zur Kompilierzeit ausgewertet werden kann, um das Arbeiten mit Parameterpaketen zu erleichtern und bestimmte Programmiermuster bei Vorlagen zu vereinfachen. C++14
  • exchange() Die Standardbibliothek unterstützt jetzt die Hilfsfunktion „std::exchange()“, um einem Objekt einen neuen Wert zuzuweisen und seinen alten Wert zurückzugeben. Bei komplexen Typen vermeidet exchange() das Kopieren des alten Werts, wenn ein Konstruktor zum Verschieben verfügbar ist, vermeidet das Kopieren des neuen Wertes, wenn es sich um einen temporären Wert handelt oder wenn er verschoben wird, und akzeptiert jeden Typ als neuen Wert und nutzt dabei jeden konvertierenden Zuweisungsoperator. C++14
  • Dual-Range equal(), is_permutation(), mismatch() Die Standardbibliothek unterstützt jetzt Überladungen für std::equal(), std::is_permutation() und std::mismatch(), die zwei Bereiche akzeptieren. Diese Überladungen behandeln Sequenzen unterschiedlicher Längen. C++14
  • get<T>() Die Standardbibliothek unterstützt jetzt die Get<T>()-Vorlagenfunktion, damit Tupelelemente von ihrem Typ adressiert werden können. Wenn ein Tupel zwei oder mehr Elemente desselben Typs „get<T>()“ enthält, kann das Tupel nicht von diesem Typ adressiert werden. Andere, eindeutig typisierte Elemente können jedoch weiterhin adressiert werden. C++14
  • tuple_element_t Die Standardbibliothek unterstützt jetzt den tuple_element_t<I, T-Typalias>, der ein Alias für typname tuple_element<I, T>::type ist. Dies stellt eine gewisse Vereinfachung für Vorlagenprogrammierer dar, ähnlich den anderen Typaliasen für Metafunktionen in <type_traits>. C++14
  • Die technische Spezifikation des Dateisystems „V3“ Die enthaltene Implementierung der technischen Spezifikation des Dateisystems wurde auf die endgültige Version aktualisiert.
  • Minimale Zuweisungen Die Standardbibliothek unterstützt jetzt durchgängig die Schnittstelle für minimale Zuweisungen. Erwähnenswerte Verbesserungen umfassen die Funktionen std::function, shared_ptr, allocate_shared() und basic_string. C++11
  • <chrono> Die Chronotypen „high_resolution_clock“ und „steady_clock“ wurden korrigiert. C++11
  • constexpr wurde in der gesamten C++-Standardbibliothek implementiert. C++11, C++14 und C++17
  • quick_exit() Sie können jetzt Multithread-Prozesse sauberer beenden, indem Sie quick_exit() aufrufen und Bereinigungscode in at_quick_exit() ausführen. C++11
  • void_t unterstützt erweiterte Vorlagenmetaprogrammierung. C++17
  • Konvertierungen in unique_ptr<T[]> sind jetzt zulässig, wenn sie als sicher bekannt sind. C++17
  • invoke() ermöglicht Funktionsobjekte, Zeiger auf Memberfunktionen und Zeiger auf Datenmember, die mit einheitlicher Syntax aufgerufen werden. C++17
  • noexcept Die Standardbibliothek hat ihre Verwendung von noexcept für bestimmte Funktionen bereinigt. C++17
  • uncaught_exceptions() meldet die Anzahl der Ausnahmen im Flug (die mehr als 1 sein können). C++17
  • reference_wrapper ist jetzt trivial kopierbar. C++17
  • map/unordered_map unterstützt jetzt insert_or_assign()/try_emplace(). C++17
  • size(), empty() und data()-Funktionen für Nicht-Mitglieder sind jetzt verfügbar. C++17
  • auto_ptr, random_shuffle() und alte <funktionale> Maschinen wurden in C++11/14 veraltet und in C++17 entfernt. Visual Studio 2015 bietet sie standardmäßig an, aber wenn Sie _HAS_AUTO_PTR_ETC projektweit auf 0 setzen, werden ihre Definitionen entfernt.
  • unique_ptr-Zuordnungen sind jetzt genau eingeschränkt. C++17
  • bool_constant wird jetzt als Alias für integral_constant<Bool> unterstützt. C++17

Schnellere Builds für Visual C++

  • Inkrementelle Link-Time Code Generation (LTCG) Jetzt können Sie LTCG anweisen, nur die Teile Ihres Projekts neu zu erstellen, die von einer Bearbeitung betroffen sind. Dies kann die Verknüpfungszeiten von Anwendungen, die LTCG verwenden, erheblich verringern. Aktivieren Sie diese Funktion mithilfe der Option „/LTCG:inkrementeller Linker“.
  • Inkrementelles Verbinden für statische Bibliotheken Änderungen an statischen Bibliotheken, die von anderen Codemodulen referenziert werden, werden jetzt inkrementell verbunden.
  • /Debug:FastLink verkürzt die Linkzeiten durch die Verwendung von neuen PDB-Erstellungstechniken erheblich.
  • Verbesserungen an den Algorithmen beim Linker bewirken kürzere Linkzeiten.
  • Verbesserungen wurden vorgenommen, die das Erstellen von Code mit vielen Vorlagen beschleunigen.
  • Schnelle PGO-Instrumentation (Profile Guided Optimization) Mit PGO wurde ein neuer, schlanker Instrumentationsmodus für Spiele und Echtzeitsysteme eingeführt. In Verbindung mit anderen neuen Features, die über die Linkerschalter "/GENPROFILE" und "/FASTGETPROFILE" verfügbar gemacht werden, können Sie jetzt Codequalität und Buildgeschwindigkeit bei der Verwendung von PGO ausbalancieren.
  • Verringerte Größe von Objektdateien Verbesserungen am Compiler und der C++-Standardbibliothek führen zu erheblich kleineren Objektdateien und statischen Bibliotheken. Diese Verbesserungen wirken sich nicht auf die Größe von DLLs (Dynamically-Linked Libraries) oder EXEs (Programmdateien) aus, da der redundante Code dort bereits in der Vergangenheit durch den Linker entfernt wurde.

Visual C++-Leistung und Codequalität

  • Verbesserungen bei der automatischen Vektorisierung. Wir haben die Vektorisierung des Kontrollflusses (if-then-else), die Vektorisierung beim Kompilieren unter /O1 (Minimieren der Größe) verbessert und die Qualität des Vektorcodes insgesamt verbessert, einschließlich Unterstützung für parallele STL, Vektorisierung weiterer bereichsbasierter Schleifen und Support für #pragma Loop(ivdep).
  • Verbesserungen an skalarer Optimierung. Wir haben eine bessere Codegenerierung für Bit-Test-Operationen, Kontrollfluss-Zusammenführung und -Optimierungen (Loop-if-Switching) sowie andere skalare Optimierungen (z. B. eine bessere Codegenerierung für std::min und std::max) hinzugefügt.
  • Profilgesteuerte Optimierung (PGO). Wir haben eine Reihe von Verbesserungen an PGO vorgenommen, darunter verbesserte Referenzsätze, bessere Datenlayout-Funktionen und die Möglichkeit, zuvor getroffene Inlining-, Geschwindigkeits- vs. Größen- und Layout-Entscheidungen wiederzuverwenden.
  • Ablaufsteuerungsschutz (CFG, Control Flow Guard). Wir haben eine neue Sicherheitsfunktion hinzugefügt. Fügen Sie einfach eine neue Option zu Ihrem Projekt hinzu, und der Visual C++-Compiler fügt nun zusätzliche Sicherheitsprüfungen in Ihre Binärdateien ein, um Versuche, Ihren Code zu missbrauchen, zu erkennen. Wenn die Prüfung ausgelöst wird, wird die Ausführung Ihres Codes beendet, bevor ein Entführer Ihre Daten oder Ihren PC beschädigen kann.

Hinweis

Wir haben die Befehlsoptionen aktualisiert. Anstatt den Schalter /d2guard4 wie in früheren Versionen zu verwenden, sollten Sie jetzt /guard:cf verwenden.

Visual C++-Produktivität, Debuggen und Diagnose

Es wurde die Umgestaltungsunterstützung für C++ mit den folgenden Funktionen hinzugefügt:

  • Symbol umbenennen Ändert alle Vorkommnisse eines Symbols in einen neuen Namen.
  • Funktionsextraktion Verschiebt ausgewählten Code in eine eigene Funktion. Diese Umgestaltung ist als Erweiterung zu Visual Studio in der Visual Studio Gallery verfügbar.
  • Implementierung von reinen virtuellen Funktionen Generiert Funktionsdefinitionen für reine virtuelle Funktionen, die von einer Klasse oder Struktur geerbt wurden. Mehrfachvererbung und rekursive Vererbung werden unterstützt. Aktivieren Sie dieses Refactoring aus der erbenden Klassendefinition, um alle geerbten reinen virtuellen Funktionen zu implementieren, oder aus einem Basisklassenspezifizierer, um nur reine virtuelle Funktionen aus der betreffenden Basisklasse zu implementieren.
  • Deklaration oder Definition erstellen Generiert eine Deklaration aus einer vorhandenen Definition oder eine Standarddefinition aus einer vorhandenen Deklaration. Greifen Sie auf diese Umgestaltung aus der vorhandenen Deklaration oder Definition oder der Glühbirnenanzeige zu.
  • Verschieben der Funktionsdefinition Verschiebt den Hauptteil einer Funktion zwischen den Quellcode- und den Headerdateien. Aktivieren Sie diese Umgestaltung aus der Signatur der Funktion.
  • Konvertieren in ein Rohzeichenfolgenliteral Konvertiert eine Zeichenfolge, die Escapesequenzen enthält, in ein Rohzeichenfolgenliteral. Unterstützte Escapesequenzen sind \n (neue Zeile), \t (Registerkarte), ' (einfaches Anführungszeichen), " (doppelte Anführungszeichen) und ? (Fragezeichen). Aktivieren Sie diese Funktion, indem Sie mit der rechten Maustaste an beliebiger Position in einer Zeichenfolge klicken.

Zu den Verbesserungen der Programmdatenbank (PDB) in Visual C++ gehören die folgenden:

  • Die Überprüfung von Projektmappen erfolgt jetzt schneller, besonders bei umfangreichen Projektmappen.
  • Vorgänge wie "Gehe zu Definition" sind während der Projektmappenüberprüfung nicht mehr blockiert, mit Ausnahme der ersten Überprüfung der Projektmappe, wenn eine neue Projektmappe zum ersten Mal geöffnet wird.

IntelliSense verbessert die Lesbarkeit: Komplexe Template-Instanziierungen und Typendefinitionen wurden in der Parameterhilfe und Quickinfo vereinfacht, um sie leichter lesbar zu machen.

Debuggervisualisierungen in C++

Fügen Sie Ihrem Visual Studio-Projekt Natvis-Debuggervisualisierungen hinzu, um die Integration von Verwaltung und Quellcodeverwaltung zu vereinfachen. Einem Projekt hinzugefügte Natvis-Dateien haben in der Auswertung Vorrang gegenüber Natvis-Visualisierungen außerhalb des Projekts. Weitere Informationen finden Sie unter Erstellen benutzerdefinierter Ansichten systemeigener Objekte im Debugger.

Und da RC, können Sie Natvis-Dateien beim Debuggen von C++ unter Android verwenden. Der Debugger enthält Visualisierungen für viele gängige Vorlagen und unterstützt das Laden von benutzerdefinierten Dateien, die dem C++-Projekt hinzugefügt werden.

Systemeigene Arbeitsspeicherdiagnose

  • Arbeitsspeicher-Diagnosesitzungen (Alt+F2) ermöglichen die Überwachung der Arbeitsspeicherverwendung Ihrer systemeigenen Anwendung zur Laufzeit.
  • Arbeitsspeicher-Snapshots erfassen ein momentanes Bild des Heap-Inhalts Ihrer Anwendung. Unterschiede im Heapstatus können durch Vergleich zweier Arbeitsspeicher-Momentaufnahmen untersucht werden. Zeigen Sie Objekttypen, Instanzwerte und Zuordnungs-Aufruflisten für jede Instanz nach dem Beenden der Anwendung an.

Verbesserte Deadlock-Erkennung und -Wiederherstellung beim Aufruf von C++-Funktionen aus den Fenstern „Watch (Überwachungselement)“ und „Immediate“.

Verbesserte Compiler-Diagnose – Der Compiler bietet verbesserte Warnungen über verdächtigen Code. Neue Warnungen wurden hinzugefügt (z. B. Schattenvariablen und nicht passende printf-Formatzeichenfolgen). Die vorhandenen Warnmeldungen wurden klarer formuliert.

Das Flag – /Wv Warnungen, die ab einer bestimmten Compiler-Version XX.YY.ZZZZ eingeführt wurden, können mit dem Flag /Wv:XX.YY.ZZZZ deaktiviert werden. Andere Warnungen können über die im Flag "/Wv" angegebenen hinaus spezifisch deaktiviert werden.

Verbesserte Unterstützung für das Debuggen von optimiertem Code – Debuggen Sie Code, bei dem die Flags /Zi, /Zo oder /Z7 aktiviert sind.

Visual C++-Grafikdiagnose

Die Grafikdiagnose wurde durch die folgenden Features verbessert:

  • Aufzeichnung aufeinanderfolgender Frames Zeichnen Sie mit einer einzelnen Erfassung bis zu 30 aufeinanderfolgende Frames auf.
  • Programmgesteuerte Aufzeichnung Leiten Sie die Aufzeichnung von Frames programmgesteuert ein. Die programmgesteuerte Erfassung ist insbesondere beim Debuggen von Compute-Shadern in Programmen nützlich, die "Present" niemals aufrufen, oder in Fällen, in denen ein Renderingproblem manuell schwer zu erfassen ist, aber programmgesteuert aufgrund des Status der App zur Laufzeit vorhergesagt werden kann.
  • Verbesserte Grafikereignisliste Es wurde eine neue Ansicht Zeichnungsaufrufe hinzugefügt, die erfasste Ereignisse und deren Status in einer nach Zeichnungsaufrufen geordneten Hierarchie anzeigt. Zeichnen-Befehle können erweitert werden, um den Gerätestatus zum Zeitpunkt des Zeichnen-Befehls anzuzeigen, und Sie können jede Art Status noch weiter erweitern, um die Ereignisse anzuzeigen, auf die der Wert des jeweiligen Status zurückgeht.
  • Support für die Windows Phone 8.1-Grafikdiagnose Die Grafikdiagnose unterstützt jetzt vollständig das Debuggen von Windows-Apps im Phone-Emulator oder auf dem Tethered Phone.
  • Grafikframe-Analyse Dieses Tool sammelt Leistungsmessungen für aufgezeichnete Frames. Darüber hinaus führt es eine Reihe vordefinierter Experimente durch, die Einblicke in die Leistung bieten, wenn verschiedene Texturtechniken angewendet werden. Die Frame-Analyse sammelt außerdem Leistungsindikatoren von der Hardware.
  • Dedizierte Benutzeroberfläche für die Grafikanalyse Das neue Fenster „Visual Studio-Grafikanalyse“ stellt einen dedizierten Arbeitsbereich für die Analyse von Grafikframes dar.
  • Shader bearbeiten und anwenden Stellen Sie die Auswirkungen von Änderungen am Shader-Code in einem aufgezeichneten Protokoll dar, ohne die Anwendung erneut auszuführen.
  • Konfigurieren Sie die Aufzeichnungsoptionen in Tools->Optionen->Grafikdiagnose.
  • Befehlszeilentool für das Aufzeichnen und Abspielen von Frames.
  • Grafikdiagnose-Support für DirectX 12. Das Visual Studio Graphics Diagnostics-Tool unterstützt jetzt das Debuggen von Renderingproblemen in DirectX 12-Anwendungen.

Neues GPU-Auslastungstool

Das GPU-Auslastungstool in Visual Studio 2015 kann verwendet werden, um die GPU-Nutzung durch DirectX-Anwendungen nachvollziehen zu können. Diagramme zu Framezeit, Framerate und GPU-Auslastung sind live während der Ausführung der Anwendungen verfügbar. Darüber hinaus bietet dieses Tool durch das Sammeln und Analysieren detaillierter GPU-Nutzungsdaten Einblicke in die CPU- und GPU-Ausführungszeit einzelner DirectX-Ereignisse und kann daher hilfreich sein, um festzustellen, ob die CPU oder GPU der Leistungsengpässe ist.

Aktivieren des Debuggens eines Visual C++-verwalteten Testprojekts

Neu in dieser Version: Um das Debuggen eines visual C++-verwalteten Testprojekts zu aktivieren, wechseln Sie zu „Tools | Optionen | Debuggen | Bereich Allgemein“ und aktivieren Sie die Option „JIT-Optimierung beim Modulladevorgang unterdrücken (nur verwaltet)“.

C# und Visual Basic

Sprachfunktionen

In dieser Version helfen mehrere neue C#- und Visual Basic-Sprachfunktionen beim Reduzieren von Textbausteinen und Unübersichtlichkeit im alltäglichen Code, fördern einen deklarativeren Programmierstil und bringen die beiden Sprachen noch enger zusammen. Beispielsweise gibt es syntaktische Verbesserungen bei Typ- und Memberdeklarationen und zur Nullüberprüfung. Außerdem können lokale Variablen innerhalb von Ausdrücken deklariert werden, und await kann in catch- und finally-Blöcken verwendet werden. Viele dieser Funktionen werden nur für eine der beiden Sprachen in früheren Versionen implementiert, sind jedoch für beide Sprachen in der endgültigen Version verfügbar.

  • Nameof bietet eine umgestaltende sichere Methode zum Abrufen des Namens eines Parameters, Elements oder Typs als Zeichenfolge.
  • Mithilfe von null-bedingten Operatoren können Sie eine integrierte Nullüberprüfung abrufen, während Sie auf Member und Indexer zugreifen und diese aufrufen.
  • Zeichenfolgeninterpolation: Die Zeichenfolgeninterpolationbietet eine präzise Möglichkeit, Zeichenfolgenvorlagen zu beschreiben, die Ausdrücke in Formatzeichenfolgen einfügen (C# nur bei der Vorschau, sowohl VB als auch C# bei RTM).
  • Methoden, getter-only-Eigenschaften usw. können jetzt einen einzelnen Ausdruck als Textkörper aufweisen, genau wie Lambdas.
  • Auto-Eigenschaften können Initialisierer haben und keine Setter mehr erfordern.
  • Indexinitialisierer: In einem Objektinitialisierer können Sie jetzt einen bestimmten Index des neuen Objekts initialisieren. Nur C#.
  • Mit Ausnahmefiltern können Sie sich eine Ausnahme ansehen und entscheiden, ob sie mit einem bestimmten Catch-Block erfasst werden soll.
  • Die Verwendung von Klauseln für statische Klassen bringt ihre statischen Member direkt in den Bereich, sodass Sie z. B. WriteLine() oder Sqrt() aufrufen können, ohne den Klassennamen voranstellen zu müssen.
  • Await funktioniert jetzt in Fangen und schließlich Blöcken, um einige sehr schwierige Problemumgehungen zu verschleiern.

Code-Editor-Benutzeroberfläche und -Bearbeitung

Die Benutzeroberfläche des Code-Editors und die Bearbeitungsfunktionen für C# und Visual Basic wurden durch neue Oberflächen ersetzt, die auf der .NET-Compilerplattform („Roslyn“) basieren. Viele der Funktionen, die Sie heute lieben, wurden verbessert oder überarbeitet.

  • Glühbirnen sind die neue Startseite für alle schnellen Aktionen, die Sie im Visual Studio-Editor ausführen, einschließlich Korrekturen für allgemeine Codeprobleme und Umgestaltung von Code. Wenn Sie Probleme in Ihrem Code haben, zeigt eine Glühbirne vorgeschlagene Korrekturen für diese Probleme an. Alle Umgestaltungsvorgänge wurden in die Glühbirne verschoben. Sie können jederzeit auf die Glühbirne zugreifen, indem Sie Strg+ <Punkt > eingeben.

Light bulb shows suggestions

  • Es gibt zwei neue Kern-Refactoringvorgänge: Temporäre Variable einbinden und Lokale Variable einführen. Hier ist ein Beispiel für die neue Funktion Lokale Variable einführen:

Introduce local light bulb

Und ein Beispiel für Temporäre Inline-Variable:

Inline temporary light bulb

  • Der Refactoring-Support für Visual Basic wurde zum ersten Mal hinzugefügt und wurde auch auf die Glühbirne verschoben.
  • Die Umbenennung wurde ebenfalls verbessert. Jetzt werden alle Instanzen des Bezeichners hervorgehoben, den Sie umbenennen möchten, sodass Sie den neuen Namen in alle Instanzen gleichzeitig direkt im Editor eingeben können.

Improvements to inline renaming

  • Sie können live Codeanalyse und automatische Korrekturen während der Eingabe erhalten, mit spezifischen Code-fähigen Anleitungen für die Microsoft-Plattformen und NuGet-Pakete, auf die Sie abzielen. Bei der Vorschau müssen Sie das Live FxCop-Analysetool über ein NuGet-Paket hinzufügen, das Sie aus der NuGet-Galerie erhalten, wie jedes andere Paket. Wenn Sie eine gegebene Live-Regel abrufen, verschiebt sie die entsprechende FxCop-Regel nach dem Build, sodass Sie keine doppelten Treffer erhalten. Hier ist ein Beispiel aus der Codeanalyse für Azure-Paket.

An example from the Code Analysis for Azure package

  • Der Ausdrucksauswerter für C# und Visual Basic wurde neu geschrieben. Zu den Verbesserungen gehören die Unterstützung für LINQ- und Lambdaausdrücke in der Überwachung und direkt unter Windows.

F#

Sprach- und Laufzeitfunktionen

F# 4.0 enthält zahlreiche neue Sprach- und Laufzeitergänzungen, die Lücken schließen, mehr Dinge „einfach funktionieren“ lassen und die Leistung in wichtigen Bereichen verbessern. Zahlreiche Fehler und kleine Leistungsoptimierungen wurden auch über den Compiler und die Laufzeit hinweg implementiert.

  • Konstruktoren als Funktionen der ersten Klasse – Klassennamen können jetzt als Klassenfunktionswerte verwendet werden, die die Konstruktoren für diese Klasse darstellen.
  • Vereinheitlichung von „mutable“ und „ref“ – Die Syntax „mutable“ kann jetzt überall verwendet werden und erfasste Werte werden bei Bedarf automatisch in heapbasierte „ref“-Werte vom Compiler konvertiert. Es wurde eine neue optionale Warnung hinzugefügt, falls ein Entwickler benachrichtigt werden möchte, wenn dies geschieht.
  • Statische Parameter für bereitgestellte Methoden – Einzelne Methoden, die von Typanbietern bereitgestellt werden, können jetzt statische Parameter angeben.
  • Non-Nullable bereitgestellte Typen – Bereitgestellte Typen können jetzt als Non-Nullable über den Standard [<AllowNullLiteral(false)>] angegeben werden.
  • Implizite Zitierung von Methodenargumenten – Methodenargumente vom Typ Expr <'t> können jetzt transparent automatisch zitiert werden, wobei sowohl der Argumentwert als auch der AST des Ausdrucks, der ihn erzeugt hat, übergeben werden.
  • Erweiterte Präprozessorgrammatik – Boolesche Operatoren ||, && und ! können nun zusammen mit ( ) Gruppierung in #if Präprozessordirektiven verwendet werden.
  • Rationale Exponenten in Maßeinheiten – Maßeinheiten unterstützen jetzt rationale Exponenten, die manchmal in physikalischen Wissenschaften wie Elektrotechnik verwendet werden
  • Vereinfachte Verwendung von Maßeinheiten mit „printf“-Stilfunktionen – Einheitliche numerische Werte funktionieren jetzt nahtlos mit numerischen printf-Formatangaben, ohne dass die Einheiten entfernt werden müssen.
  • Support für hochdimensionale .NET-Arrays – .NET-Arrays von Rang 5 oder höher können jetzt vom F#-Code verwendet werden.
  • Erweiterungseigenschaften in Objektinitialisierern – Einstellbare Erweiterungseigenschaften können jetzt in Objektinitialisierungsausdrücken zugewiesen werden.
  • Vererbung von mehreren generischen Schnittstelleninstanziationen – F#-Klassen dürfen jetzt von Klassen erben, die mehrere generische Schnittstelleninstanziationen implementieren.
  • Mehrere Eigenschaften in „StructuredFormatDisplayAttribute“ – %Eine durch [<StructuredFormatDisplay>] angegebene Formatierung kann jetzt mehrere Eigenschaften enthalten.
  • Führender „Microsoft“-Namespace optional – Wenn Module und Namespaces aus FSharp.Core verwendet oder geöffnet werden, ist das führende „Microsoft“ jetzt optional.

F#-Runtime

  • Normalisierung von Array-, Listen- und Seq-Modulen – der Satz der Funktionen zur Verarbeitung von Sammlungen ist jetzt in den Array-, List- und Seq-Modulen konsistent (mit Ausnahme von APIs, die für bestimmte Typen nicht anwendbar sind), mit speziellen, optimierten Implementierungen für jeden Typ.
  • Optimiertes strukturelles Hashing – Erhebliche Optimierungen wurden vorgenommen, um die Leistung des generischen Hash-Vergleichs für primitive Typen zu verbessern, was zu Leistungssteigerungen durch APIs wie „distinct“ und „groupBy“ führt.
  • Optimierte nicht strukturelle Vergleichsoperatoren – Das Modul FSharp.Core.Operators.NonStructuralComparison kann jetzt geöffnet werden, wobei die standardmäßigen F#-Strukturvergleichsoperatoren durch effizientere nicht strukturelle Operatoren ersetzt werden. Dies kann erhebliche Leistungssteigerungen bei der Verarbeitung von Typen mit benutzerdefinierten Operatorimplementierungen, insbesondere Werttypen, bieten.
  • Slicing-Syntax in F#-Listen – F#-Listen unterstützen jetzt die Slicingsyntax zum Abrufen von Unterlisten.
  • Async-Erweiterungen für System.Net.WebClient' – WebClient-Erweiterungen AsyncDownloadFile und AsyncDownloadData sind jetzt verfügbar.
  • Bessere Async-Stapelablaufverfolgungen – Ausnahmen, die in F#-asynchronen Berechnungen auftreten, tragen jetzt benutzerfreundlichere Stapelablaufverfolgungen mit und erleichtern die Diagnose von Problemen.
  • Interop-APIs für Option – Dem Optionsmodul wurden verschiedene neue APIs für die Konvertierung in und aus Null-Objekten und System.Nullable-Werten hinzugefügt.
  • Aktives Anführungszeichenmuster für System.Decimal-Werte – Ein aktives Muster ist jetzt für übereinstimmende Konstantenliterale System.Decimal-Werte in Anführungszeichen integriert.

F#-IDE-Funktionen

Es gibt auch neue Funktionen und Features in den Visual F#-Tools sowie eine Reihe von Fehlerbehebungen.

  • Skriptdebugging – F#-Skripts können jetzt direkt im Visual Studio-Debugger debuggt werden.
  • Assemblymetadaten in Projektvorlagen – Alle F#-Projektvorlagen enthalten jetzt eine Datei „AssemblyInfo.fs“, die allgemeine Metadatenattribute auf Assemblyebene enthält.
  • Integrierte aktuelle Überprüfung – F#-Projekte melden nun beim Erstellen in Visual Studio ihren Status „aktuell“.
  • IntelliSense-Vervollständigung in Objektinitialisierern – Objektinitialisierer-Ausdrücke unterstützen jetzt die IntelliSense-Vervollständigung von einstellbaren Eigenschaften mithilfe vonStrg+Leertaste.
  • IntelliSense-Abschluss für benannte Parameter – Methoden- und Konstruktoraufrufe unterstützen jetzt die automatische Vervollständigung benannter Parameter mithilfe vonStrg+Leertaste.
  • Fehlerbehebungen rund um die Unterstützung von Ordnern – Visual F#-Tools unterstützen Ordner in Projekten nicht direkt, aber eine Reihe von Projektsystemfehlern wurde behoben, um die von der Visual F#-Power Tools-Erweiterung hinzugefügte Ordnerunterstützung zu verbessern.

.NET Framework 4.6

Die neueste Version von .NET Framework ist 4.6. Es bietet zahlreiche Verbesserungen in Anwendungsentwicklungstechnologien wie ASP.NET, Windows Communication Foundation und Windows Presentation Foundation. Außerdem gibt es Änderungen im Bereich der Netzwerke, der .NET Framework-Basisklassenbibliothek und der Common Language Runtime (einschließlich eines neuen 64-Bit-JIT-Compilers, der Kompilierung von nativem Code für Anwendungen der Universal Windows Platform und Verbesserungen beim Assembly-Loader).

Hier nur eine Auswahl der Änderungen:

  • ASP.NET Modellbindungsmethoden geben jetzt Aufgaben zurück.
  • ADO.NET unterstützt jetzt die in SQL Server 2016 Community Technology Preview 2 (CTP2) verfügbare Funktion zum grundsätzlichen Verschlüsseln.
  • Windows Presentation Foundation (WPF) bietet eine bessere Unterstützung für Touch und ein verbessertes HDPI-Layout.
  • Windows Communication Foundation (WCF) unterstützt jetzt SSL-Version TLS 1.1 und TLS 1.2, zusätzlich zu SSL 3.0 und TLS 1.0.
  • Die .NET Framework-Basisklassenbibliothek enthält Verbesserungen an der Garbage Collection, zum aufgabenbasierten asynchronen Muster und zur Kryptografie. Sie fügt außerdem SIMD-fähige Vektortypen sowie Unterstützung für Kompatibilitätsschalter hinzu, die es Entwicklern ermöglichen, einen einheitlichen Opt-Out-Mechanismus für Funktionen bereitzustellen, die von einer neuen Version ihrer Bibliotheken unterstützt werden.

Weitere Details und eine vollständige Liste der neuen Funktionen, die dem .NET Framework hinzugefügt wurden, finden Sie unter Was ist neu im .NET Framework.

Entity Framework

Diese Version enthält eine Vorschauversion von Entity Framework 7 und ein Update von Entity Framework 6, das in erster Linie Fehlerkorrekturen und Beiträge der Community enthält.

Entity Framework 7

Die neue Version von Entity Framework ermöglicht neue Plattformen und neue Datenspeicher. Windows Phone, Windows Store, ASP.NET 5 und herkömmliche Desktop-Anwendungen können jetzt Entity Framework verwenden. Diese Version des Frameworks unterstützt relationale Datenbanken sowie nicht relationale Datenspeicher wie Azure Table Storage und Redis. Sie enthält eine frühe Vorschau der EF7-Laufzeit, die in neuen ASP.NET 5 Projekten installiert ist. Weitere Informationen zu EF7 finden Sie unter Worum geht es bei EF7.

Entity Framework 6.x

Diese Version enthält die Entity Framework 6.1.3-Version der Laufzeit und Tools. Entity Framework 6.1.3 umfasst Fehlerbehebungen und Communitybeiträge. Sie können eine Liste der Änderungen sehen, die in Entity Framework 6.1.3 enthalten sind.

Die Entity Framework 6.1.1-Laufzeit ist an mehreren Stellen in dieser Version enthalten.

  • Die Laufzeit wird installiert, wenn Sie ein neues Modell mit den Entity Framework Tools in einem Projekt erstellen, das noch nicht die EF-Laufzeit installiert hat.
  • Die Laufzeit wird je nach ausgewählter Projektvorlage in neuen ASP.NET Projekten vorinstalliert.

Visual Studio-IDE

Gemeinsam genutzte Konten

Neu in dieser Version können Sie die Benutzerkonten, die Sie in Visual Studio hinzufügen, für andere Anwendungen freigeben, z. B. mit Blend für Visual Studio oder mit Microsoft Test Manager (und umgekehrt).

Freigegebene Projekte

In dieser Version stehen neue Vorlagen zum Erstellen leerer freigegebener Projekte für Visual Basic, C# und JavaScript zur Verfügung. Auf diese freigegebenen Projekte kann jetzt von mehreren Projekttypen verwiesen werden:

  • Alle nicht aromatisierten VB/C#-Projekte (z. B. Konsolenanwendungen, Klassenbibliotheken, Winform-Anwendung)
  • Windows Store 8.1 und Windows Phone 8.1 (VB/C#/JavaScript)
  • Windows Phone Silverlight 8.0/8.1 (VB/C#)
  • WPF und PCL

Sie können Verweise auf freigegebene Projekte über den Verweis-Manager auf der Registerkarte „Freigegebene Projekte“ hinzufügen/entfernen. Der freigegebene Projektverweis wird im Projektmappen-Explorer unter dem Knoten „Verweise“ angezeigt, der Code und die Ressourcen im freigegebenen Projekt werden jedoch so behandelt, als wären sie mit dem Hauptprojekt verknüpft.

Code-Editor (alle Sprachen)

Das Suchen in Dateien wurde verbessert, indem das Anfügen nachfolgender Ergebnisse an vorhergehende Ergebnisse ermöglicht wurde. Akkumulierte Ergebnisse können gelöscht werden.

Touch-Support ist jetzt im Visual Studio-Editor für die folgenden Gesten verfügbar:

  • Scrollen (Tippen und Ziehen auf der Editoroberfläche auf den regulären und erweiterten Bildlaufleisten)
  • Pinch-to-Zoom
  • Wählen Sie eine ganze Zeile aus, indem Sie auf den Editorrand tippen und Wörter auswählen, indem Sie darauf doppeltippen.
  • Aufrufen des Editor-Kontextmenüs durch Drücken und Halten

Wir sind uns eines Problems bei der Berührung bewusst, nämlich dass die Geste des doppelten Antippens bei niedrigeren Zoomstufen nicht immer zuverlässig funktioniert. Wir würden uns freuen, wenn Sie uns Feedback zum neuen Touch-Support geben würden, insbesondere zu den Problemen, die Sie feststellen.

XAML-Designer

Visual Studio-Kunden können nun ihre Vorlagen und Formatvorlagen bearbeiten, die im Kontext ihrer Verwendung in externen Ressourcenwörterbüchern gespeichert sind. Diese Erfahrung wurde durch die Verwendung von Peek weiter verfeinert, um eine echte In-Situ-Ressourcenbearbeitung im XAML-Designer zu ermöglichen.

Benutzerdefinierte Fensterlayouts

Sie können jetzt benutzerdefinierte Fensterlayouts speichern, indem Sie im Menü Fenster auf Fensterlayout speichern klicken, und ein benutzerdefiniertes Layout anwenden, indem Sie im Menü Fenster auf Fensterlayout anwenden klicken. Sie können ein Layout auch mithilfe der vordefinierten Tastenkombinationen anwenden. Die ersten neun Layouts verfügen auch über Tastenkombinationen von Strg+Alt+1 bis Strg+Alt+9. Andere Aufgaben, die Sie ausführen können, umfassen das Löschen, Umbenennen und Neuanordnen von Layouts, indem Sie im Menü „Fenster“ auf „Fensterlayout verwalten“ klicken.

Symbole mit hoher Auflösung

Visual Studio unterstützt Symbole mit hoher Auflösung in Befehlsleisten, Symbolleisten für Toolfenster (Standard), hauptmenüs, Fehlerliste, Statusleiste und einige Projekttypen des Projektmappen-Explorers, wenn Ihr Gerät mit einer DPI-Skalierung von mehr als 100 % ausgeführt wird.

Verbesserungen der Benutzeroberfläche

  • Menüs werden jetzt im Format „Titel-Groß-/Kleinschreibung“ anstelle von „ALLES GROSS GESCHRIEBEN“ angezeigt.
  • Die Dropdownwerte „Konfiguration und Plattform“ für das Dialogfeld „Visual C++-Eigenschaftenseite“ wurden geändert, um die letzte Benutzerauswahl zu merken, wenn die Eigenschaftenseite geschlossen und erneut geöffnet wird.

Feedback zu Visual Studio

Wir haben die Erfahrung Stirnrunzeln senden mit besseren Tools verbessert, um Langsamkeit, Blockaden und Abstürze zu melden. Sie können jetzt Dateien anfügen oder Ihr Feedback markieren, um das Problem auch besser zu beschreiben. Darüber hinaus haben wir die Feedback-Symbole und Menüelemente aktualisiert, um die Auffindbarkeit zu verbessern.

Visual Studio-Erweiterbarkeit

  • Sie können jetzt hochauflösende Symbole in Ihren Visual Studio-Erweiterungen verwenden.
  • Add-Ins werden in dieser Version nicht mehr unterstützt. Wir haben Visual Studio-Add-In-Projektvorlagen und den Add-In-Manager entfernt. Es wird empfohlen, Ihre Add-Ins in VSPackage-Erweiterungen zu konvertieren. Weitere Informationen finden Sie in den Häufig gestellten Fragen: Konvertieren von Add-Ins in VSPackage-Erweiterungen.
  • Sie können jetzt ein Erweiterbarkeitsprojekt öffnen, auch wenn das Visual Studio SDK nicht installiert ist.
  • Darüber hinaus können Sie das Visual Studio SDK mithilfe des Visual Studio-Setups installieren. Sie müssen nicht mehr zu einer Website wechseln. Dazu klicken Sie im Menü „Programme hinzufügen“ mit der rechten Maustaste auf Visual Studio 2015, und wählen Sie dann „Ändern“ aus. Überprüfen Sie im Dialogfeld „Einrichten“ von Visual Studio unter „Allgemeine Tools“ die Erweiterungstools von Visual Studio.
  • Für eine höhere Portabilität und Freigabe von Erweiterungsprojekten können Sie die NuGet-Versionen der Visual Studio SDK Reference Assemblys verwenden. Weitere Informationen finden Sie unter Assemblys veröffentlicht von Visual Studio Extensibility.

Erfahren Sie mehr über Visual Studio Extensibility.

Blend

Wir haben Blend für Visual Studio 2015 neu gestaltet, um Ihnen eine verbesserte Benutzeroberfläche für die Entwicklung ansprechender XAML-Anwendungen zu bieten. Blend hat einen neuen, eleganten Look, der mit Visual Studio konsistent ist, Unterstützung für den Solution und Team Explorer und ein verbessertes Nachladen von Dateien, um einen besseren Workflow zwischen Blend und Visual Studio zu ermöglichen. Wir haben auch die wichtigsten Funktionen von Blend bereitgestellt, die Ihnen helfen, produktiver zu sein:

  • Sie können XAML jetzt effizienter mit XAML IntelliSense schreiben, die den Abschluss und die Navigation der Anweisung zur Quelle bereitstellt.
  • Sie können XAML-Steuerelemente und -Ressourcen auch im Kontext anzeigen und bearbeiten, in dem sie mit XAML-Vorschaudefinition verwendet werden.
  • Das Auffinden und Beheben von UI-Problemen in Ihrer ausgeführten Anwendung ist jetzt einfacher mit UI-Tools für das XAML-Debuggen, mit denen Sie die visuelle Live-Struktur und die Eigenschaften aller Elemente in der Struktur überprüfen können.
  • Mit hinzugefügtem NuGet-Support können Sie NuGet-Pakete in Blend verwalten.
  • Außerdem haben wir die Funktion „Animierter Arbeitsbereich“ durch die leistungsfähigere Funktion „Synchronisierte Layouts“ ersetzt, mit der Sie viele verschiedene Fensterlayouts erstellen und auf verschiedenen Computern verwenden können.
  • Für Poweruser, die lieber ihre Tastatur anstelle der Maus verwenden möchten, haben wir die Blend-Designerbereiche vollständig über die Tastatur zugänglich gemacht.
  • Im Rahmen der ständigen Bemühungen von Microsoft, allgemein zugängliche Software zu entwickeln, ist Blend jetzt ein vollständiger Bildschirmleser und kontrastreich zugänglich.

Weitere Informationen zu neuen Funktionen, die Blend hinzugefügt wurden, finden Sie in unserer Vorschau Blogbeitrag.

Debuggen und Diagnose

Verwaltete Bearbeitung und Fortsetzen der Anfügung

Ab RC können Sie bearbeiten und fortfahren, wenn Sie .NET-Anwendungen anfügen und wenn die Umgebungsvariable

complus_forceenc im Zielprozess auf 1 festgelegt wird.

Breakpoint-Konfiguration

Im neuen Fenster „Breakpoint-Einstellungen“ können Sie Bedingungen und Aktionen für Ihre Breakpoints angeben. Das Fenster enthält einen verbesserten IntelliSense-Support für Breakpoint-Bedingungen und Aktionen. Sie können „Rückgängig“ (Strg+Z) verwenden, um gelöschte Breakpoints wiederherzustellen.

Lambdaausdrücke in Debuggerfenstern

Sie können jetzt Lambdaausdrücke in den Fenstern „Überwachungselement“, „Immediate“ und anderen Debuggerfenstern in C# und Visual Basic verwenden.

PerfTips

Sie können das Feature PerfTips verwenden, um zu sehen, wie lange Code zum direkten Ausführen im Editor benötigt wurde, wenn Sie Haltepunkte festlegen und mit dem Debugger schritten.

GPU-Nutzung

Sie können das GPU-Verwendungstool verwenden, um die GPU-Verwendung von DirectX-Anwendungen zu verstehen. Diagramme zu Frame Time, Frame Rate und GPU Utilization sind verfügbar, wenn die Anwendungen live laufen. Darüber hinaus kann dieses Tool durch das Erheben und Analysieren detaillierter GPU-Nutzungsdaten Einblicke in die CPU- und GPU-Ausführungszeit jedes einzelnen DirectX-Ereignisses liefern und daher hilfreich sein, um festzustellen, ob die CPU oder GPU der Leistungsengpässe ist.

Verbesserungen im C++-Debugger

Wenn der C++-Debugger an Breakpoints angehalten wird, kann er Code ausführen, um Ergebnisse zu berechnen, z. B. zum Anzeigen von Daten in den Überwachungs- und Direktfenstern. Wenn der Debugger erkennt, dass eine aufgerufene Funktion inaktiv ist, wird versucht, das Problem zu beheben.

Wenn ein C++-Debugger einen Prozess startet, weist Windows jetzt Arbeitsspeicher mithilfe des normalen Heaps anstelle des normalen Debugger-Heaps zu. Dies führt zu einem schnelleren Start für das Debuggen.

Ui-Debuggingtools für XAML

Wir haben zwei neue Tools hinzugefügt, die Live Visual Tree und den Live Property Explorer, welche die visuelle Struktur Ihrer ausgeführten WPF-Anwendung sowie die Eigenschaften für jedes Element in der Struktur untersucht. Mit diesen Tools können Sie ein beliebiges Element in Ihrer ausgeführten Anwendung auswählen und die endgültigen, berechneten und gerenderten Eigenschaften anzeigen. Die Tools umfassen auch Folgendes:

  • Visuelle Echtzeitstruktur. Jetzt können Sie die vollständige visuelle Struktur einer ausgeführten Anwendung während einer Debug-Sitzung anzeigen. Die Live Visual Tree ist verfügbar, wenn Sie in Visual Studio F5 drücken oder eine ausgeführte Anwendung anfügen. Sie können die Visuelle Live-Struktur verwenden, um Elemente in einer ausgeführten Anwendung zur Überprüfung im Live Property Explorer auszuwählen. Die Absteigende Anzahl wird angezeigt, und wenn die Quellinformationen verfügbar sind, können Sie die Datei und den Speicherort der Definition des Elements sofort finden.
  • Live Property Explorer. Verwenden Sie dieses neue Tool, um die Eigenschaften zu prüfen, die für jedes Element in einer ausgeführten Anwendung festgelegt sind, gruppiert nach dem Bereich, den sie festgelegt haben. Sie können diese Eigenschaften während einer Debug-Sitzung ändern und sofort deren Änderungen in der ausgeführten Anwendung sehen.

Das Auseinandernehmen von Eigenschaften überschreiben sich gegenseitig und das Ermitteln des gewinnbringenden Verhaltens kann sich bei der Entwurfszeit als schwierig erweisen. Jetzt können Sie mit unseren neuen UI-Debugging-Tools für XAML diese Inspektionen zur Laufzeit ausführen.

(Support für Windows Store-Anwendungen wird in einem zukünftigen Update veröffentlicht.)

UI Debugging Tools for XAML, full screen

Ausnahmeeinstellungen

Sie können Debugger-Ausnahmeeinstellungen mithilfe des Toolfensters „Ausnahmeeinstellungen“ konfigurieren. Das neue Fenster ist nicht modal und umfasst verbesserte Leistung, Suche und Filterfunktionen.

Exceptions Settings - Break when Thrown window

Zeitachsentool

Unser neues Zeitachsentool bietet Ihnen eine szenariozentrierte Ansicht der Ressourcen, die Ihre Anwendungen nutzen, um die Leistung Ihrer WPF- und Windows Store 8.1-Anwendungen zu überprüfen, zu diagnostizieren und zu verbessern.

Das Zeitachsentool, das sich im Hub „Leistung und Diagnose“ befindet, zeigt Ihnen, wie viel Zeit Ihre Anwendung bei der Vorbereitung von UI-Frames und in Wartungsnetzwerken und Datenträgeranforderungen aufwendet. Das Tool führt dies im Kontext von Szenarien wie Anwendungsladevorgang und Seitenladevorgang durch.

The new Timeline tool

Diagnosetools

Wir haben ein neues Fenster mit Diagnosetools hinzugefügt, das erscheint, wenn Sie die Fehlersuche starten (drücken Sie F5). Das Fenster „Diagnosetools“ enthält die folgenden Funktionen:

  • Ereignisse (mit IntelliTrace)
    Ereignisse (mit IntelliTrace) gibt Ihnen Zugriff auf alle Debugger Break-, Output- und IntelliTrace-Ereignisse, die während Ihrer Debug-Sitzung gesammelt wurden. Die Daten werden sowohl als Zeitachse als auch als tabellarische Ansicht dargestellt. Die beiden Ansichten werden synchronisiert und können miteinander interagieren.
  • Speicherauslastung
    Mit dem Speichernutzungstool können Sie die Speicherauslastung Ihrer Anwendung während des Debuggens überwachen. Sie können auch detaillierte Momentaufnahmen des systemeigenen und verwalteten Speichers erstellen und vergleichen, um die Ursache für das Speicherwachstum und Speicherverluste zu analysieren.
  • CPU-Auslastung
    Mit dem Tool für die CPU-Auslastung können Sie die CPU-Auslastung Ihrer Anwendung während des Debuggens überwachen.
    (Dieses Tool ersetzt die CPU-Zeit-PerfTip, die in der Vorschauversion von Visual Studio 2015 verfügbar war.)

In früheren Versionen unterstützte das Fenster „Diagnosetools“ die folgenden Projekttypen und Debugging-Konfigurationen:

  • Verwaltete WPF-, WinForms- und Konsolenprojekte
  • Native Win32-, Konsolen- und MFC-Projekte
  • ASP.NET 4 nur mit IIS Express
  • Verwaltete oder systemeigene Windows Store-Projekte, die lokal ausgeführt werden
    (Windows Store-Projekte, die JavaScript verwenden oder auf einem Smartphone ausgeführt werden, werden nicht unterstützt)

Das Fenster „Diagnosetools“ in der RC-Version hat die folgenden Verbesserungen:

  • Sie kann an einen beliebigen Fensterspeicherort in Visual Studio verschoben werden und merkt sich den Speicherort und die Größe zwischen Debug-Sitzungen.
  • Es wird angezeigt und zeigt Daten für einen einzelnen Prozess beim Anfügen an einen Prozess mithilfe von Debuggen – > An Prozess anfügen
  • It appears when debugging ASP.NET projects running on IIS
  • Es erscheint beim Debuggen von ASP.NET 5-Projekten
  • Es erscheint beim Debuggen einer Anwendung, die auf einem entfernten Windows-Desktop-Gerät läuft
  • Speichermomentaufnahmen können angezeigt werden, nachdem Sie das Debuggen beendet haben.
  • Debuggerereignisse (nur Unterbrechungsereignisse) sind beim Debuggen systemeigener Projekte verfügbar.

Außerdem wurden die folgenden neuen Funktionen für die RC-Release hinzugefügt:

Nur mein Code. Wenn Sie F5 drücken, um den Debugger zu starten, wird nur Ihr Code angezeigt, so dass Sie Leistungsprobleme und Ausnahmen ohne Störungen durch Framework und anderen Code verstehen können. Da diese neue Codefilterfunktion in IntelliTrace Systemcode unterdrückt und nur Benutzercode verfügbar macht, ist es einfacher, „nur meinen Code“ zu debuggen.

Netzwerkdiagnosetool. Mit diesem neuen Netzwerkdiagnosetool können Sie netzwerkbezogene Probleme beim Erstellen von Windows Store-Anwendungen sowie universellen Anwendungen, die auf allen Windows 10-Geräten ausgeführt werden, von Windows Phone zu Xbox und Windows Store diagnostizieren.

Das Netzwerkdiagnosetool zeichnet Informationen zu den HTTP-Netzwerkvorgängen Ihrer Anwendung auf, darunter HTTP-Anforderungs- und Antwortheader, Anforderungs- und Antwortnutzlasten, Cookies und ausführliche Informationen zum Timing und vieles mehr. Das Netzwerkdiagnosetool kann auch bei der Beantwortung von Fragen zu häufigen Szenarien helfen, z. B.:

  • Authentifizierungsbezogene Probleme (z. B. warum Sie nicht auf eine Ressource zugreifen können)
  • Probleme im Zusammenhang mit dem Cache (z. B. warum Sie nicht die neueste Version einer Ressource erhalten)
  • Wie viele Bytes heruntergeladen werden, wenn allgemeine Aufgaben Ihrer Anwendungen ausgeführt werden
  • Wo befinden sich die Engpässe beim Zugreifen auf und Herunterladen einer Ressource

Öffnen Sie das Fenster „Diagnosetools“ in Visual Studio 2015, um auf das Netzwerktool zuzugreifen. Wählen Sie im Menü Debuggen die Option Diagnosetools ohne Debugging starten aus. Alternativ können Sie einfach Alt+F2 drücken.

Wir haben die folgenden Verbesserungen am Fenster „Diagnosetools“ vorgenommen, das beim Debuggen angezeigt wird:

  • Ereignisse aus Ihrer Anwendung werden jetzt in einem einzelnen IntelliTrace-Ereignistitel angezeigt, anstatt zwischen den IntelliTrace-Ereignis- und Ausgabeereignissen-Titeln aufzuteilen.
  • Ereignisse aus Ihrer Anwendung werden jetzt angezeigt, während das Programm ausgeführt wird. Jetzt müssen Sie nicht mehr „Alle aufheben“ drücken, um Ereignisse anzuzeigen.
  • Sie können jetzt das verkaufsbezogene Debuggen für Ablaufverfolgungspunkte aktivieren, die Sie in Ihrem Code festgelegt haben, sodass Sie den Quellcode und die Aufrufliste anzeigen können.
  • Sie können jetzt Garbage Collection- und Snapshot-Ereignisse im Diagramm „Speicherauslastung“ anzeigen, sodass Sie sehen können, wann verwaltete Garbage Collections aufgetreten sind und wann Sie Momentaufnahmen mit dem Tool „Speichernutzung“ erstellt haben.

ASP.NET

ASP.NET 4.6

ASP.NET Modellbindung unterstützt Task-Rückgabemethoden

ASP.NET Model Binding-Methoden, die zuvor Task-Rückgaben waren, wurden nicht unterstützt und lösten zur Laufzeit eine Ausnahme aus, wenn sie konfiguriert waren. Wenn Anwendungen mit solchen Methoden bereitgestellt werden, werden diese Methoden jetzt ordnungsgemäß ausgeführt. Diese Änderung gilt nur für Anwendungen, die speziell auf .NET 4.6 oder höher ausgerichtet sind.

Aktivieren der .NET-Compilerplattform („Roslyn“) in ASP.NET-Anwendungen

Sie können die neuen Sprachfunktionen von C# und VB in jedem beliebigen ASP.NET 4.6-Projekt verwenden. Die Webformularvorlagen in VS 2015 verfügen über das vorinstallierte Microsoft.CodeDom.Providers.DotNetCompilerPlatform-Paket.

Hinzufügen von Support für HTTP/2

In Windows 10 und .NET Framework 4.6 haben wir Support für HTTP/2 hinzugefügt. Das Hauptziel für HTTP/2 besteht darin, die Leistung, Latenz und Netzwerknutzung mithilfe einer einzigen Verbindung von Browsern zu einer Website zu verbessern.

Aktualisierte Frameworks und Steuerelemente zur Unterstützung von Entity Framework 6

Wir haben Dynamic Data Framework, Entity Data Source Control und universelle Anbieter aktualisiert, damit sie mit Entity Framework 6 arbeiten.

Authentifizierungsupdates

Die ASP.NET 4.6-Vorlagen verwenden jetzt open Id Connect Middleware, um sich bei Azure AD zu authentifizieren. Dies erleichtert die Authentifizierung mit Azure AD durch das Programmiermodell.

Wenn Sie die Option „Einzelne Benutzerkonten“ auswählen, zeigen die ASP.NET 4.6-Vorlagen, wie sie zweistufige Authentifizierung und soziale Anmeldungen mit ASP.NET Identity verwenden.

ASP.NET MVC 5.2.3, Webseiten 3.2.3 und Web-API 5.2.3

Wir haben die Vorlagenpakete aktualisiert, um die neuesten Laufzeitpakete für MVC 5.2, Webseiten 3.2 und Web-API 2.2 zu verwenden. Ausführliche Informationen zu diesen Paket-Updates finden Sie im Blogbeitrag ASP.NET MVC 5.2.3, Webseiten 3.2.3 und Web-API 5.2.3 .

ASP.NET Web API OData 5.3.1

Wir haben die OData-Gerüste der Web-API aktualisiert, um ASP.NET Web OData 5.3.1 zu verwenden. Weitere Informationen finden Sie unter Was ist neu in ASP.NET Web API OData 5.3.

SignalR 2.1.2

Wir haben Vorlagenpakete für die Verwendung von SignalR 2.1.2 aktualisiert. Siehe die SignalR-Versionshinweise auf GitHub.

Microsoft Owin 3.0-Paket

Wir haben Vorlagenpakete für die Verwendung von Microsoft Owin 3.0 NuGet-Paketen aktualisiert. Sehen Sie sich das Katana-Projekt an.

ASP.NET Identity 2.2.1

ASP.NET Identity 2.2.1 enthält viele Fehlerkorrekturen und Leistungsverbesserungen über 2.1. Lesen Sie diesen ASP.NET Identity 2.2.1-Blogbeitrag, um weitere Details zu erhalten.

ASP.NET Tool-Updates

Verbesserungen am JSON-Editor

Wir haben einige Verbesserungen im JSON-Editor vorgenommen, darunter Leistungsverbesserungen wie das asynchrone Laden des JSON-Schemas, das Zwischenspeichern der untergeordneten Schemas und die Unterstützung besserer IntelliSense. Darüber hinaus gibt es die folgenden neuen Funktionen:

  • JSON-Schemavalidierung. Fügen Sie eine JSON-Schema-Validierungsfunktion hinzu, die auf dem Schema basiert, das in der Dropdown-Liste Schema definiert ist.
  • Minimierung des Kontextmenüs aufheben. Sie können mit der rechten Maustaste auf den JSON-Editor klicken und das Kontextmenü aufheben, um lange Arrays in der JSON-Datei zu minimieren.
  • Kontextmenü Schemas erneut laden. Visual Studio speichert das aus dem Internet heruntergeladene Schema im Zwischenspeicher und verwendet diesen Zwischenspeicher auch nach einem Neustart von Visual Studio. Wenn Sie wissen, dass das Schema geändert wird, können Sie das Kontextmenü „Schemas erneut laden“ Strg+Umschalt+J verwenden, um das aktuelle verwendete Schema im aktiven JSON-Dokument erneut herunterzuladen und es dann sofort im aktuellen Dokument zu verwenden.
  • IntelliSense für package.json/bower.json. Visual Studio bietet nicht nur IntelliSense und Validierung für package.json und bower.json Dateien, sondern auch IntelliSense für Bower- und npm-Pakete direkt im JSON-Editor.
  • Doppelte Eigenschaftsüberprüfung. Der JSON-Editor stellt jetzt eine Überprüfung für alle doppelten Eigenschaften bereit. Dies hilft, ein häufiges Problem bei der JSON-Dateierstellung zu erfassen.
  • Der Support für IntelliSense und die Validierung von JSON-Dateien wurde erheblich verbessert, indem die JSON-Schema-Entwurf v4-Spezifikation vollständig unterstützt wird. Jetzt ist es viel einfacher, die erforderlichen Eigenschaften zu identifizieren, und der Editor ermöglicht es Ihnen, die Eigenschaften alphabetisch zu sortieren. Durch das Formatieren einer minimierten JSON-Datei wird sie jetzt automatisch nicht mehr minimiert.
  • Wir haben Unterstützung für SchemaStore.org hinzugefügt, eine Open Source-Sammlung nützlicher JSON-Schemadateien. Dies bedeutet, dass jede IN Visual Studio geöffnete JSON-Datei, die einem Schema zugeordnet ist, SchemaStore.org automatisch IntelliSense und Validierung abruft.
  • Der Support für JSON-Schema-Autoren wurde zusätzlich durch eine bessere Schema-Prüfung verbessert.

Verbesserungen am HTML-Editor

Der HTML-Editor hat IntelliSense für Webstandards aktualisiert und die folgenden neuen Funktionen eingeführt:

  • Bessere Formatierung von Clientvorlagen. Der HTML-Editor analysiert und formatiert die doppeldeutige Syntax {{...}} nicht mehr. Dies besteht darin, sicherzustellen, dass der Inhalt dieser Syntax weder HTML behandelt wird noch ungültig gemacht wird, noch versucht es, den Inhalt zu formatieren, der nicht ordnungsgemäß mithilfe des HTML-Formatierers ausgeführt werden kann. Dies eignet sich hervorragend für Angular, Handlebars, Mustache und andere doppelspurige Vorlagesyntaxen.
  • Support für benutzerdefinierte Elemente, Polymerelemente und Attribute. Der HTML-Editor überprüft keine unbekannten Attribute für benutzerdefinierte Elemente mehr, da unterschiedliche Frameworks viele benutzerdefinierte Tags aufweisen. Unter den unbekannten Elementen werden keine Wellenlinien mehr vorhanden sein.
  • Basic IntelliSense für Webkomponenten. Der HTML-Editor verfügt über IntelliSense für <link rel="import" /> das Teil des Web Components-Standards ist.
  • QuickInfos für HTML-Elemente. QuickInfos werden für HTML-Elemente im Editor bereitgestellt.
  • #Regionen-Support. Der HTML-Editor unterstützt jetzt die Bereichsfaltung. Sie können auch den umgebenden Codeausschnitt verwenden, um die aktuelle Auswahl einzuschließen.
  • Support für Todo/Hack-Kommentare in der Aufgabenliste.
  • Angular-Symbole. Beide Angular-Direktiven (z. B. <<ng-view>) und Attribute (z. B. ng-Controller) werden jetzt in IntelliSense mit einem Angular-Logo angezeigt, um sie leicht zu identifizieren.
  • Bootstrap-Symbole. Die in HTML-Klassenattributen bereitgestellte IntelliSense wird jetzt mit dem Bootstrap-Logo angezeigt, wenn der Klassenname durch die Bootstrap-CSS-Datei definiert wurde.

Verbesserungen am CSS/LESS/Sass-Editor

  • Support für Todo/Hack-Kommentare in der Aufgabenliste.
  • @viewport Fix für den LESS-Editor. Im LESS-Editor @viewport werden keine Überprüfungswarnungen mehr angezeigt.
  • Stellen Sie viele weitere Codeausschnitte bereit. Der CSS/LESS/Sass-Editor bietet jetzt mehr Codeausschnitte, um die Entwicklung zu vereinfachen.
  • Eine Erweiterung ist jetzt für Visual Studio 2015 zum Kompilieren von LESS, Scss und CoffeeScirpt verfügbar. Sie können sie hierherunterladen.

JSX-Editor (React.js)

Visual Studio unterstützt jetzt die JSX-Syntax aller Dateien mit der Dateierweiterung JSX. Rufen Sie während der Eingabe sowohl IntelliSense, Formatierung als auch Validierung im Editor ab. Dieser Editor wurde in Zusammenarbeit mit dem Facebook-Team erstellt, das für die React.js-Bibliothek verantwortlich ist.

Browserverknüpfung

CSS wird automatisch synchronisiert. Wenn Sie die CSS-Datei speichern oder extern ändern (z. B. mithilfe eines LESS/SASS-Compilers), wird die gesamte CSS-Datei im Browser neu geladen. Wenn die Datei nicht automatisch synchronisiert werden kann, bewirkt Strg+S ein automatisches Neuladen und sollte sie wieder in einen guten Zustand versetzen, ohne die verknüpften Browser aktualisieren zu müssen (Strg+Alt+Eingabetate). Die Funktion kann in der Symbolleiste deaktiviert werden.

Weitere Informationen zu ASP.NET.

ASP.NET 5

ASP.NET 5 ist ein schlanker und komponierbarer .NET-Stapel zum Erstellen moderner Webanwendungen sowohl für Cloud- als auch für lokale Server. Es umfasst die folgenden Features:

  • Neue leichtgewichtige Anforderungspipeline
  • Ausführen auf IIS oder selbst gehostet in Ihrem eigenen Prozess
  • Basiert auf der neuen .NET-Ausführungsumgebung (DNX), die auf dem vollständigen .NET Framework oder auf .NET Core ausgeführt werden kann, einer neuen cloudoptimierten Laufzeitumgebung, die echte Side-by-Side-Versionierung unterstützt
  • Läuft plattformübergreifend auf Windows, Mac und Linux
  • NuGet alles, sogar die Laufzeit selbst
  • Unterstützt ASP.NET MVC 6 – ein einheitliches Webframework für Web-UI und Web-APIs
  • Umgebungsbasierte Konfiguration für einen nahtlosen Übergang zur Cloud
  • Einspeisung von Abhängigkeiten sofort einsatzbereit
  • Neues Visual Studio-Projektsystem und hohe Produktivitätstools
  • Alle Open Source auf GitHub über .NET Foundation

Visual Studio 2015 enthält die ASP.NET 5 Beta5-Laufzeitpakete. Diese Pakete befinden sich weiterhin in der Vorschau und werden nicht für die Verwendung in der Produktion empfohlen. Alle Details zu den hinzugefügten Verbesserungen und behobenen Problemen finden Sie in den veröffentlichten Versionshinweisen auf GitHub.

Visual Studio 2015 verfügt über ein neues Projektsystem und integrierte Tools zum Erstellen von ASP.NET 5-Anwendungen und zum Arbeiten mit DNX-Projekten. Einige der neuen Funktionen der Tools umfassen:

  • Neues Projektsystem zum Erstellen plattformübergreifender DNX-basierte Projekte, die unter Windows, Mac und Linux erstellt und ausgeführt werden.
  • Vorlagen zum Erstellen von ASP.NET 5 Websites und Web-APIs mit MVC 6, Identity 3 und Entity Framework 7.
  • Vorlagen zum Erstellen von DNX-basierten Klassenbibliotheken und Konsolenanwendungen
  • Erstellen und Verteilen plattformübergreifender Befehlszeilentools über NuGet.
  • Installieren und verwalten Sie unterschiedliche DNX-Versionen mit dem .NET Version Manager (DNVM) über die Developer-Eingabeaufforderung.
  • Integrierte Oberfläche zum Suchen, Installieren und Wiederherstellen von NuGet-Paketen.
  • Verwenden Sie Ctrl+ . um NuGet-Pakete für nicht aufgelöste Symbole im C#-Code zu finden und zu installieren.
  • Integrierte Tools für die clientseitige Webentwicklung mithilfe von NPM, Grunt/Gulp und Bower, einschließlich Paketverwaltungsintegration und dem neuen Task Runner Explorer.
  • Ausführen von DNX-Befehlen auf Projektebene direkt in Visual Studio mithilfe des Dropdownmenüs „Ausführen“.
  • Erstellen Sie benutzerdefinierte Startprofile, die IIS Express starten, einschließlich der Einstellung von benutzerdefinierten Umgebungsvariablen.
  • Erstellen Sie NuGet-Pakete aus einem einzelnen Projekt, das auf mehrere Frameworks einschließlich .NET Core ausgerichtet ist.
  • Kombiniertes IntelliSense beim Erstellen mehrerer Zielframeworks aus einem einzigen Projekt.
  • Neue Razor-Funktionen, die von ASP.NET 5 eingeführt wurden, wie z. B. Tag-Hilfsprogramme, lassen sich jetzt sowohl in IntelliSense als auch in der Syntaxmarkierung hervorheben.

Neue Funktionen in dieser Version

  • Wenn Sie ein Projekt öffnen, für das eine Version von DNX erforderlich ist, die nicht verfügbar ist, fordert Visual Studio zur Installation der erforderlichen DNX-Version auf.
  • Sie können nun über das „Dialogfeld Verweis hinzufügen“ Verweise zu losen Assemblys hinzufügen.
  • Die ASP.NET 5 Webanwendungsvorlage unterstützt jetzt die Option Arbeits- und Schulkonten für die Authentifizierung.
  • Die Option „Host in Cloud“ im Dialogfeld „Neues ASP.NET-Projekt“ ist jetzt für ASP.NET 5-Projekte verfügbar.
  • Verwenden Sie den Server Explorer für die Remote-Bearbeitung von Dateien unter approot für ASP.NET 5-Projekte, die auf Azure gehostet werden.

Weitere Details finden Sie in den Versionshinweisen zu Tools auf GitHub und in unserem Blog zu .NET Web Development und Tools.

Azure Tooling

Kontoauswahlintegration

Die Kontenauswahl wird in den Dialogen zur Erstellung/Auswahl von Web Publishing und Web Apps verwendet, um mit einem Klick den Zugriff auf mehrere Konten zu ermöglichen. Sie können sich einmal bei mehreren Konten anmelden und schnellen und einfachen Zugriff auf die Auswahl einzelner Konten haben, während Sie Ressourcen veröffentlichen.

API-Apps

Die API-Apps-Vorschauvorlage, die Veröffentlichungsunterstützung und die Sichtbarkeit des Server-Explorers wurden alle zu Visual Studio 2015 migriert. Jetzt können Sie Azure-API-Anwendungen mit der neuesten Version von Visual Studio erstellen und bereitstellen. Darüber hinaus haben wir die Swagger-Ausgabefunktionalität verbessert, so dass API-Anwendungsentwickler einen besseren Out-of-the-Box-Support für dynamisch generiertes Swagger von ASP.NET Web API erhalten.

WebJobs Tooling

Sie können jetzt Webaufträge auf dem Server Explorer WebJob-Knoten innerhalb einer Azure-Website auf folgende Weise steuern:

  • WebJobs-Knoten unter Websiteknoten im Server-Explorer.
  • Starten/Beenden fortlaufender WebJobs aus dem Server-Explorer.
  • Führen Sie On-Demand- oder geplante Aufträge aus dem Server-Explorer aus.
  • WebJob-Dashboard im Server-Explorer anzeigen.
  • Das Kontextmenü Dashboard anzeigen. Verwenden Sie es, um das WebJob-Dashboard der Azure-Website aufzurufen.

WebJobs SDK

Azure WebJob-Projektvorlagen haben das WebJobs SDK vorinstalliert.

NuGet

NuGet 2.8.3

Wir haben Support für DevExtreme-Projekt und BizTalkProject 2.8.3 hinzugefügt. Ausführliche Informationen finden Sie in den Versionshinweisen zu NuGet 2.8.3.

NuGet-Paket-Manager

Wir haben die Benutzeroberfläche des NuGet Package Managers aktualisiert, um die Verwaltung von Paketen in einer gesamten Lösung in Visual Studio 2015 zu erleichtern. Mit einer einzigen Ansicht für Pakete, die in Ihren Projekten installiert sind, können Sie die Liste der verfügbaren Pakete aus dem NuGet-Katalog, den installierten Paketen und den Paketen filtern, die über Updates verfügen.

NuGet-Katalog

Wir haben die Leistung des NuGet-Katalogs mit einem neuen Webdienst und einem integrierten Client verbessert. Weitere Details zu NuGet-Updates finden Sie unter http://docs.nuget.org.

JavaScript

JavaScript-Editor-Support

Wir haben den JavaScript-Editor aktualisiert, um ihn noch nützlicher zu machen.

  • Tool-Support für AngularJS. Wenn Sie nun Anwendungen mit AngularJS schreiben, bietet IntelliSense Vorschläge für Angular-Controller, -Services, -Factories, -Direktiven und -Animationen.
  • Neue JavaScript-Sprachfunktionen (aus der ES6-Version von JavaScript) werden unterstützt, einschließlich Klassen, Pfeilfunktionen und Vorlagenzeichenfolgen.
  • Support für freigegebenes Projekt in der Navigationsleiste. Sie können jetzt die Navigationsleiste im Gemeinsamen Projekt für Windows Universal App-Projekte verwenden.
  • Neue Navigationsleiste. Die neue Navigationsleiste erleichtert die Navigation zwischen wichtigen Elementen im JavaScript-Quellcode.
  • JSDoc-Kommentare. Dokumentationskommentare, die im JSDoc-Format geschrieben wurden, werden jetzt bei Verwendung von IntelliSense angezeigt. (Weitere Informationen zu JSDoc-Kommentaren finden Sie unter https://jsdoc.app/.)
  • Objektliteral IntelliSense. Der JavaScript-Editor bietet Ihnen IntelliSense-Vorschläge, wenn Sie ein Objektliteral an Funktionen übergeben, die mit JSDoc dokumentiert sind.
  • Erweitern/Reduzieren. Sie können weitere Abschnitte Ihres JavaScript-Codes erweitern und reduzieren, einschließlich mehrzeiliger Kommentare, mehrzeiliger Arrays und aller mehrzeiligen Blöcke.
  • Unterstützung der Aufgabenliste. Sie können die Funktion „Aufgabenliste“ verwenden, um Aufgabenkommentare wie // TODO in Ihrem JavaScript-Code zu überprüfen.

TypeScript

Visual Studio 2015 enthält die Version 1.5 der TypeScript-Tools. Diese Version bietet umfangreichen Support für ECMAScript 6, einschließlich Module, Destrukturierung, for..of, spread, Symbole, berechnete Eigenschaften, let/const für ES3/ES5 und getaggte Zeichenfolgenvorlagen für ES3/ES5. Zusätzlich zum Support für ES6 bietet TypeScript 1.5 auch Support für den experimentellen ES7-Decorator-Vorschlag, UMD- und System.js-Modulausgabe und eine neue einfache, portable Projektdatei namens „tsconfig.json“.

IntelliTest

In Visual Studio 2015 haben wir IntelliTest hinzugefügt, mit dem Ihr .NET-Code untersucht wird, um Testdaten und eine Reihe von Komponententests zu generieren. Für jede Anweisung im Code wird eine Testeingabe generiert, die die betreffende Anweisung ausführt. Für jede bedingte Verzweigung im Code wird eine Fallanalyse ausgeführt. Ein auf ein Objekt angewendeter

Alle Vorgänge, die eine Ausnahme auslösen können, z. B. wenn Anweisungen und Assertionen, werden analysiert. Auf Basis dieser Analyse werden Testdaten für einen parametrisierten Einheitstest jeder Ihrer Methoden erzeugt, wobei Komponententests mit einer maximalen Code Coverage erstellt werden. Anschließend bringen Sie Ihr Spartenwissen ein, um diese Komponententests zu verbessern.

Außerdem wurden die folgenden Funktionen zu IntelliTest hinzugefügt:

  • Parametrisierte Komponententests. IntelliTest ermöglicht den Support für eine API, mit der Sie die Generierung von Testdaten steuern, Korrektheitseigenschaften des zu testenden Codes angeben und die Erkundung des zu testenden Codes steuern können. Diese API ist im Microsoft.Pex.Framework-Namespace verfügbar und kann in den von IntelliTest generierten Testmethoden (parametrisierte Komponententests, Factorymethoden) verwendet werden. Folglich steht der Kontextmenübefehl „IntelliTest“ auch über die generierten Testmethoden zur Verfügung.
  • Test-Stubs-Erstellung. „Komponententests erstellen“ ist jetzt im Kontextmenü als Befehl verfügbar, der die Möglichkeit zum Erstellen und Konfigurieren eines Testprojekts, einer Testklasse und eines Test-Stubs bietet.

Weitere Informationen zu IntelliTest (früher „Intelligenter Komponententest“ bezeichnet) finden Sie unter Generieren von Komponententests für Ihren Code mit IntelliTest.

Application Insights

Neben verschiedenen Leistungsverbesserungen und Fehlerbehebungen umfasst Application Insights jetzt die folgenden Updates:

  • Application Insights-Tools in Visual Studio sind jetzt Teil von Visual Studio Connected Services. (Um Application Insights hinzuzufügen, öffnen Sie das Dialogfeld „Verbundene Dienste“ und wählen Sie „Application Insights“ aus der Liste der Dienste aus.)
  • Dieses Update ist vollständig kompatibel mit Projekten, die Application Insights in Visual Studio 2013 Update 3 oder in Visual Studio 2013 Update 4 hinzugefügt haben.
  • ASP.NET 5-Entwickler, Entwickler von universellen Windows 10-Apps und Windows 8.1 Universal Apps können Anwendungserkenntnisse direkt aus Visual Studio zu ihren Projekten hinzufügen.
  • Entwickler universeller Windows 10-Apps müssen nicht bei Azure angemeldet sein, um das Application Insights SDK hinzuzufügen. Stattdessen können sie diese mithilfe der Application Insights-Tools in Visual Studio hinzufügen.
  • Da Application Insights die globale Kontoauswahl in Visual Studio verwendet, können Sie dasselbe Konto in Visual Studio verwenden.
  • Jetzt können Sie die Informationen „Erste Schritte“ für Application Insights direkt im Ordner „Dienstreferenz“ des Projekts anzeigen. Klicken Sie einfach auf den Ordner „Erste Schritte“.

View Getting Started information for Application Insights from a Project's Service Reference folder.

Releaseverwaltung

Mit dieser Funktion können Sie den Prozess der Verwaltung der Veröffentlichung Ihrer Anwendung verbessern, Ihre Anwendung für jede separate Phase in einer bestimmten Umgebung bereitstellen und die Schritte im Prozess mit Genehmigungen für jeden Schritt verwalten. Sie können eine Releasepipeline von der Überprüfung bis zur Bereitstellung einrichten, ohne einen lokalen Releaseverwaltungsserver mithilfe des Releaseverwaltungsdiensts für Visual Studio Online installieren und verwalten zu müssen.

Eine aktualisierte Version der Versionsverwaltung ist für Visual Studio 2015 verfügbar. Dies ist der vorhandenen Releaseverwaltung für Visual Studio 2013 sehr ähnlich, bietet jedoch eine verbesserte Leistung in den folgenden Bereichen:

  • Die Startseite des Releaseverwaltungsclients, auf der eine Übersicht über den Veröffentlichungsprozess und Benachrichtigungen angezeigt wird.
  • Rendern und Interaktivität in anderen Versionsverwaltungsclientseiten durch zusätzliches Zwischenspeichern.
  • Synchronisierung von Active Directory- und TFS-Sicherheitsgruppen.
  • Erstellung neuer Versionen.

Sie können jetzt Komponenten und Releasedefinitionen für Builddefinitionen des neuen Buildsystems definieren, das in Team Foundation Server 2015 enthalten ist. Beim Definieren der Komponente können Sie das Artefakt für die Komponente auch mithilfe eines Komponentennamens angeben, der dem Namen des veröffentlichten Artefakts aus der Builddefinition entspricht (oder enthält).

Git-Versionskontrolle

Es ist einfacher, mit Verzweigungen zu arbeiten und zu sehen, wie sich die Änderungen in Ihrem Verlauf unterscheiden.

Branches

Sie können Ihre Verzweigungen hierarchisch organisieren, indem Sie ein Präfix angeben:

Lokale Verzweigungen und Remoteverzweigungen (einschließlich derer, die Sie nicht lokal erstellt haben) werden in einer Strukturansicht separat angezeigt.

Git branches

Und ab RC haben wir die Seite „Verzweigungen“ überarbeitet:

  • Sie können jetzt aus Remote- sowie aus lokalen Verzweigungen zusammenführen.
  • Die Verzweigung, in die Sie zusammengeführt werden, ist nun fest mit dem Zweig verbunden, der gerade ausgecheckt ist.
  • Sie können jetzt eine Basis von der aktuellen Verzweigung auf eine beliebige lokale oder Remoteverzweigung anwenden.
  • Sie können eine Remoteverzweigung auschecken, indem Sie darauf doppelklicken oder mit der rechten Maustaste darauf klicken und dann „Auschecken“ auswählen.

Remoteverwaltung

Sie können jetzt Ihre Git-Remotes im Team Explorer konfigurieren. In den Repository-Einstellungen gibt es einen neuen Abschnitt „Remotes“, in dem die derzeit konfigurierten Remotes angezeigt werden und Sie Remotes hinzufügen, bearbeiten oder entfernen können. Wenn Sie beispielsweise die URL des Remote-Ursprungs ändern müssen, können Sie auf „Bearbeiten“ klicken und die Abruf- und/oder Push-URL ändern.

Detaillierter Verlauf

Sie können nun sehen, wie Commits im Verlauf abweichen.

Detailed view of history

In der Grafik sind Merge-Commits grau und Non-Merge-Commits in einer helleren Farbe dargestellt. Sie können zwischen der einfachen Ansicht und der Detailansicht hin- und herwechseln. Wenn das Diagramm abgeschnitten ist, können Sie die Größe ändern.

Wir haben mehrere Aktualisierungen am Verlaufsdiagramm in der RC-Version vorgenommen:

  • Wir haben eine Symbolleiste hinzugefügt, mit der Sie die Detailebene steuern können, die im Diagramm angezeigt wird.
  • Wir markieren nun Verlaufszeilen, um anzugeben, welche Commits aus dem aktuell ausgewählten Commit erreichbar sind.
  • Wir zeigen nun beide Verlaufslinien an, wenn sich die lokale und die Remoteverzweigung unterscheiden. Dies ist besonders nützlich, nachdem sie eine lokale Verzweigung neu basiert haben.

Rebase in Team Explorer

Wir unterstützen jetzt die Rebase in Team Explorer. Um eine Rebase zu initiieren, klicken Sie auf der Seite „Verzweigungen“ auf das Rebase-Flyout, oder klicken Sie mit der rechten Maustaste auf eine Verzweigung, und wählen Sie „Rebase ausführen auf...“

VSO-Repositorys

Wir haben die Erfahrung „Erste Schritte“ beim Erstellen eines VSO-Repositorys verbessert, und es gibt noch viel mehr Änderungen, um die Erstellung eines neuen Repositorys zu optimieren. Für RC haben wir eine kleine Änderung vorgenommen, um das Hinzufügen von neuem Code zu einem bestehenden Repository zu erleichtern: Wenn Sie mit dem Team Explorer eine Verbindung zu einem beliebigen Repository herstellen und dann Datei > Neues Projekt wählen, beginnt der Dialog jetzt im Stammverzeichnis des verbundenen Repositorys.

Veröffentlichen in Visual Studio Online

Die Funktion „In Visual Studio Online veröffentlichen“ vereinfacht den Prozess des Abrufens Ihres lokalen Repositorys auf Visual Studio Online erheblich. Was früher 12 Schritte brauchte, braucht jetzt 2. Auf der Seite „Team Explorer-Synchronisierung“ können Sie im neuen Abschnitt „In Visual Studio Online veröffentlichen“ eines der Benutzerkonten im Visual Studio-Konto-Manager auswählen. Ihre Visual Studio-Onlinekonten sind automatisch in einer Liste verfügbar. Es ist nicht erforderlich, sich URLs zu merken. Wenn Sie bereit sind, Ihren Code zu teilen, wählen Sie einfach ein neues oder vorhandenes Teamprojekt aus, um Ihr Repository zu hosten, klicken Sie auf „Veröffentlichen“ und fertig.

Publish to Visual Studio Online dialog box

Einmaliges Anmelden

Sie nutzen wie viele andere Entwickler heute mehrere Clouddienste, wenn Sie Ihre Anwendungen entwickeln. Wahrscheinlich haben Sie zum Beispiel ein Cloud-Backend zu Ihren Anwendungen hinzugefügt, um Daten zu speichern, Ihren Quellcode in der Cloud gespeichert oder eine Anwendung in einem Store veröffentlicht.

In der Vergangenheit erforderte jeder dieser Dienste einen separaten Anmeldevorgang, und jeder Dienst verwaltete den angemeldeten Benutzerstatus separat.

Mit dieser Version reduzieren wir die Authentifizierungsaufforderungen, die für den Zugriff auf viele integrierte Clouddienste in Visual Studio erforderlich sind. Wenn Sie sich nun beim ersten Clouddienst in Visual Studio authentifizieren, melden wir Sie automatisch an, oder reduzieren Sie die Authentifizierungsaufforderungen für andere integrierte Clouddienste.

CodeLens

Erfahren Sie mehr über Ihren Code, während Sie sich auf Ihre Arbeit im Editor konzentrieren. Finden Sie Codereferenzen, Änderungen an Ihrem Code, zugehörige TFS-Elemente und Unit-Tests – ohne den Blick vom Code abzuwenden.

In dieser Version haben wir die CodeLens-Indikatoren „Autoren“ durch die neuen Verlaufsindikatoren „Zeitleiste der Teamaktivitäten“ und „Autoren und Änderungen“ ersetzt.

  • Der Indikator Teamaktivitätszeitachse zeigt den letzten Autor und den Zeitpunkt der letzten Änderung an. Wenn Sie diesen Indikator auswählen, wird die Teamaktivitätsansicht geöffnet, in der Sie nach Mustern bei Änderungen am Code suchen können. Dies kann Ihnen helfen, die Auswirkungen von Änderungen im Laufe der Zeit zu bewerten.
  • Der Indikator Autoren und Änderungen zeigt die Anzahl der Autoren an, welche die Datei geändert haben, und die Anzahl der Änderungen. Wenn Sie diesen Indikator auswählen, wird eine Liste aller Änderungen, Details der Änderungen und Links geöffnet, um weitere Informationen zu erhalten und die vorherigen Versionen anzuzeigen.

Alle Informationen aus den Indikatoren sind verfügbar, wenn Ihr Code in der Team Foundation-Versionskontrolle (sowohl in Team Foundation Server als auch in Visual Studio Online) und in Git-Repositorys gehostet wird. Wenn Sie in Team Foundation Server oder Visual Studio Online arbeiten, können Sie auch Informationen zu Arbeitsaufgaben abrufen.

Diese Indikatoren werden zusammen mit den in früheren Versionen verfügbaren Indikatoren auf der Codeelementebene (Methode, Feld oder Klasse) für C#- und Visual Basic-Dateien angezeigt. Im Folgenden sehen Sie ein Beispiel für den Indikator für die Zeitachse der Teamaktivität für eine C#-Datei:

The Team Activity Timeline indicator for a C# file

Nachfolgend sehen Sie ein Beispiel für den Indikator „Autoren und Änderungen“ für eine C#-Datei:

The Authors and Changes indicator for a C# file

Die Indikatoren werden jedoch jetzt auf Dateiebene für alle anderen Dateitypen angezeigt (z. B. C++, SQL, JavaScript und andere Dateitypen). Im Folgenden sehen Sie ein Beispiel für den Indikator „Teamaktivitätszeitachse“ für eine Datei, die keine C#- oder Visual Basic-Codedatei ist:

The Team Activity Timeline indicator for a file that is not a C# or Visual Basic code file

Architektur, Design und Modellierung

Code Maps und Abhängigkeitsdiagramme

Wenn Sie bestimmte Abhängigkeiten in Ihrem Code verstehen wollen, visualisieren Sie sie, indem Sie Code Maps erstellen. Sie können dann durch diese Beziehungen navigieren, indem Sie die Zuordnung verwenden, die neben Ihrem Code erscheint. Code Maps können Ihnen auch dabei helfen, den Überblick über Ihre Position im Code zu behalten, während Sie am Code arbeiten oder ihn debuggen. So lesen Sie weniger Code, während Sie mehr über das Design Ihres Codes erfahren.

In der finalen RTM-Version haben wir die Kontextmenüs für Codeelemente und Links benutzerfreundlicher gestaltet, indem wir die Befehle hinsichtlich Auswählen, Bearbeiten, Verwalten von Gruppen und Ändern des Layouts des Gruppeninhalts in Abschnitte eingeteilt haben. Beachten Sie auch, dass Testprojekte in einem anderen Stil angezeigt werden als andere Projekte und dass wir die Symbole für die Elemente auf der Karte auf angemessenere Versionen aktualisiert haben.

New groupings in code maps

Außerdem haben wir die Darstellung von Codeelementen geändert, sodass Sie jetzt mehr als eine Gruppe auswählen und das gewünschte Layout-Format auf alle anwenden können. Jetzt können Sie immer ein nützliches Abhängigkeitsdiagramm erhalten, wenn Sie eine Assembly, einen Namespace oder einen Typ auf einer Codezuordnung erweitern.

Select multiple groups and apply one layout in a Code Map

In der früheren Vorschau- und Veröffentlichungskandidatenversion von Visual Studio 2015 haben wir Änderungen vorgenommen, mit denen Sie folgende Aktionen ausführen können:

  • Erhalten Sie verbesserte Top-Down-Diagramme. Für mittlere bis große Visual Studio-Projektmappen können Sie nun ein vereinfachtes Architektur-Menü verwenden, um weitere nützliche Codezuordnungen für Ihre Lösung abzurufen. Die Assemblys Ihrer Lösung werden nach den Lösungsordnern gruppiert, sodass Sie diese im Kontext sehen und die Mühe, die Sie in die Strukturierung der Lösung gesteckt haben, nutzen können. Sie sehen sofort die Projekt- und Assembly-Verweise und dann werden die Verbindungstypen angezeigt. Darüber hinaus werden die Assemblys, die sich außerhalb der Projektmappe befinden, in einer kompakteren Weise gruppiert.
  • Reaktive Codezuordnungen schneller abrufen. Zieh- und Ablegevorgänge führen zu einem sofortigen Ergebnis und die Verbindungen zwischen Knoten werden schneller erstellt, ohne dass nachfolgende, vom Benutzer initiierte Vorgänge wie das Erweitern eines Knotens oder das Anfordern weiterer Knoten beeinträchtigt werden. Insbesondere können Sie mit der Option „Neuerstellung Ihrer Lösung überspringen“ beim Erstellen und Bearbeiten von Diagrammen eine bessere Leistung erzielen. Wenn Sie Code Maps erstellen, ohne die Lösung zu erstellen, werden jetzt alle Eckfälle, wie z. B. nicht erstellte Assemblys, verarbeitet.
  • odeelementknoten und Gruppen filtern. Sie können Ihre Zuordnungen schnell basierend auf der Kategorie durch Ein- oder Ausblenden von Codeelementen und durch das Gruppieren von Codeelementen nach Projektmappenordner, Assemblys, Namespaces, Projektordner und Typen organisieren.
  • Filtern Sie Beziehungen, damit Diagramme leichter zu lesen sind. Dazu gehören auch gruppenübergreifende Verbindungen, was die Arbeit mit dem Filterfenster weniger aufdringlich macht als in früheren Versionen.
  • Drilldown-Abhängigkeitslinks berücksichtigen Filter. Dadurch erhalten Sie ein nützliches, klar strukturiertes Diagramm beim Erweitern, damit Sie die Rolle für einen Abhängigkeitslink besser nachvollziehen können. Das Diagramm ist weniger unübersichtlich und berücksichtigt die von Ihnen gewählten Link-Filteroptionen.
  • Erstellen Sie Diagrammen aus der Klassenansicht und im Objektbrowser. Das Ziehen und Ablegen von Dateien und Assemblys in einer neuen oder vorhandenen Zuordnung funktioniert aus den Klassenansicht- und Objektbrowser-Fenstern.

Insgesamt umfasst die umfassende Liste der Verbesserungen, die wir an Code Maps vorgenommen haben:

  • Testprojekte sind unterschiedlich formatiert und können gefiltert werden. Sie können jetzt Testprojekte auf einer Zuordnung schnell erkennen, da sie anders gestaltet sind. Außerdem können sie herausgefiltert werden, sodass Sie sich auf den funktionierenden Code der Anwendung konzentrieren können.
  • Codeelemente werden mit ihrem Kontext hinzugefügt. Da die Diagramme jetzt mit ihrem Kontext angezeigt werden (bis hin zum Assembly- und dem Lösungsordner, die Sie bei Bedarf herausfiltern können), erhalten Sie nützlichere Diagramme, wenn Sie Codeelemente aus dem Projektmappen-Explorer, der Klassenansicht und dem Objektbrowser ziehen und ablegen oder wenn Sie Elemente im Projektmappen-Explorer auswählen und In der Code Map anzeigen wählen.
  • Vereinfachte externe Abhängigkeitslinks. Abhängigkeitslinks stellen nicht mehr die Vererbung von System.Object, System.ValueType, System.Enum und System.Delegate dar, dadurch lassen sich externe Abhängigkeiten in der Codezuordnung leichter auffinden.

Andere Entwurfs- und Modellierungsänderungen in diesem Release:

  • Ebenendiagramme. Aktualisieren Sie diese Diagramme mit Hilfe der Klassenansicht und des Objektbrowsers. Mithilfe von Ebenendiagrammen können Sie die gewünschten Abhängigkeiten für Ihre Software beschreiben, um die Software-Entwicklungsanforderungen zu erfüllen. Halten Sie den Code anhand dieses Aufbaus konsistent, indem Sie Code finden, der diese Einschränkungen nicht erfüllt und zukünftigen Code anhand dieser Baseline zu validieren.
  • UML-Diagramme. Es ist nicht mehr möglich, UML-Klassendiagramme und Sequenzdiagramme im Code zu erstellen. Sie können diese Diagramme jedoch weiterhin mithilfe der neuen UML-Elemente erstellen.
  • Architektur-Explorer. Sie können den Architektur-Explorer nicht mehr zum Erstellen von Diagrammen verwenden. Aber Sie können weiterhin den Projektmappen-Explorer verwenden.

XAML-Sprachdienst

Wir haben den XAML-Sprachdienst auf der .NET-Compilerplattform („Roslyn“) neu aufgebaut, damit wir Ihnen eine schnelle, zuverlässige und moderne XAML-Bearbeitungsumgebung bieten können, die IntelliSense enthält.

Dies macht die XAML-Erstellungsumgebung mit anderen erstklassigen Sprachen in Visual Studio gleich. Außerdem werden wir leistungsstarke Funktionssätze für die sprachübergreifende Umgestaltung für Sie in einem viel schnelleren Rhythmus bereitstellen.

Verschiedenes

Agents für Visual Studio 2015 benötigen keinen Testcontroller mehr

In Agents für Visual Studio 2015 benötigen Sie keinen separaten Testcontroller, da die Agents die Orchestrierung verarbeiten können, indem Sie mit TFS 2015 oder Visual Studio Online kommunizieren.

In allen neuen Visual Studio 2015- und TFS 2015-Szenarien wird empfohlen, Agents für Visual Studio 2015 zu verwenden.

Wenn Sie jedoch den Test-Agent oder Testcontroller benötigen, um mit TFS 2013 zu arbeiten, empfehlen wir, Agents für Visual Studio 2013 Update 5 zu verwenden und den Testcontroller zu konfigurieren.

Der Testcontroller ist mit TFS 2015 sowie TFS 2013 kompatibel. Die Unterstützung für Load Testing in Visual Studio 2015 ist jedoch nicht Teil der Agents, daher empfehlen wir Ihnen, Agents für Visual Studio 2013 Update 5 zu installieren und den Controller zu konfigurieren.

Verbundene Dienste

Mit dem neuen Dialogfeld „Verbundenen Dienst hinzufügen“ in Visual Studio 2015 können Sie Ihre Anwendung ganz einfach mit Azure Application Insights, Azure Storage,Azure Mobile Services, Office 365 und Salesforce verbinden. Wenn Sie einen verbundenen Dienst hinzufügen möchten, klicken Sie mit der rechten Maustaste auf den Knoten „Verweise“ und wählen Sie dann Verbundenen Dienst hinzufügen... aus.

Add a Connected Service

Das Dialogfeld „Verbundener Dienst hinzufügen“ enthält alle derzeit installierten verbundenen Dienstanbieter und bietet eine Möglichkeit, weitere Informationen zum Anbieter, zu den von ihr verwendeten Technologien abzurufen und wenn sie im aktuellen Projekt unterstützt wird. Andere Anbieter sind im Katalog „Erweiterungen und Updates“ unter Verwendung des Links Weitere Dienste suchen... auffindbar. Das Dialogfeld Verbundenen Dienst hinzufügen ist ebenfalls erweiterbar. Wenn Sie ein Dienstentwickler sind, können Sie unser Connected Services SDK verwenden, um einen Anbieter zu erstellen, der die Auffindbarkeit verbessern und die Nutzung Ihrer Dienste fördern kann.

Enterprise Single Sign-On

Eine häufige Aufgabe für die Geschäftsanwendung besteht darin, die Anwendung für einmaliges Anmelden für Unternehmen mithilfe von Azure Active Directory zu konfigurieren. Sie können dies jetzt ganz einfach während der Erstellung Ihrer Anwendung tun, indem Sie mit der rechten Maustaste auf Ihre Anwendung klicken und Azure AD-Authentifizierung konfigurieren... auswählen. Dadurch wird ein Assistent angezeigt, welcher der Benutzeroberfläche „Verbundenen Dienst hinzufügen“ ähnelt, um Sie durch den Prozess der Konfiguration Ihrer Anwendung für die Arbeit mit Active Directory zu führen. Wenn Sie eine Active Directory-Domäne im Assistenten angeben, wird Ihre Anwendung mit diesem Active Directory registriert und Ihre Anwendung so konfiguriert, dass sie zur Anmeldung aufgefordert wird.

Specify an Active Directory Domain in the wizard

IIS 10 Express für Visual Studio 2015 RC

Die RC-Version enthielt eine neue Version von IIS 10 Express. Seine neue Funktionalität umfasst Unterstützung für HTTP 2.0 sowie eine Synchronisierung von Bits mit Windows 10.

Weitere Änderungen: Fehlerkorrekturen und bekannte Probleme

Eine umfassende Beschreibung der technischen Verbesserungen, Fehlerkorrekturen und bekannten Probleme in dieser Version finden Sie im folgenden Knowledge Base-Artikel.

Azure SDK 2.7 für .NET

Azure SDK 2.7 ist das erste unterstützte Azure SDK für die endgültige Version von Visual Studio 2015. Hier sind einige der neuen Funktionen und Updates, die Ihnen helfen, Ihre Azure-Entwicklungserfahrung zu verbessern:

  • Anmeldeverbesserungen für Visual Studio 2015: Azure SDK 2.7 für Visual Studio 2015 umfasst jetzt Unterstützung für Konten, die über Rollenbasierte Zugriffssteuerung, Cloudlösungsanbieter, DreamSpark und andere Konto- und Abonnementtypen auf Azure zugreifen.
  • Cloud Explorer für Visual Studio 2015: Azure SDK 2.7 umfasst Cloud Explorer für Visual Studio 2015, das ein leistungsfähiges, skalierbares Tool zum Suchen und Anzeigen Ihrer Azure-Ressourcen, das Überprüfen ihrer Eigenschaften und das Ausführen wichtiger Entwickler- und Diagnoseaktionen in Visual Studio bietet.
  • Remotedebuggen für virtuelle Computer in Visual Studio 2015: Remotedebugprozesse, die auf virtuellen Computern ausgeführt werden, welche mit dem Azure Resource Manager-Stapel erstellt wurden.
  • Azure Resource Manager Tools: Wir haben die Azure Resource Manager-Tools aktualisiert, um die Arbeit mit den neuen Visual Studio Online-Buildaufgaben zu vereinfachen. Darüber hinaus wurden Verbesserungen für die Arbeit mit rollenbasierter Zugriffssteuerung (Role Based Access Control, RBAC) und neuen Abonnementtypen hinzugefügt.
  • Azure App Service Tools: App Service Tools sind jetzt auch in Visual Studio 2015 verfügbar. Dieses Update bietet Support für Remote-Profilerstellung für Web Apps, Verbesserungen der Swagger-Generation für API-Apps Support für die Anmeldung bei mehreren Konten. App Service-Tools verwenden jetzt die Azure Resource Management-APIs für alle Funktionen und ermöglicht den Support für DreamSpark und Cloud-Dienstanbieter. Außerdem wurde Support für die Vorschauversion von Azure API Apps für Visual Studio 2015-Entwickler in diesem Update hinzugefügt.
  • HDInsight-Tools: In dieser Version haben wir Ansichten von Ausführungsdiagrammen für Hive-Aufträge hinzugefügt, die auf Tez ausgeführt werden, unsere Hive DML IntelliSense-Unterstützung erweitert, NuGet für SCP.Net hinzugefügt, unsere Storm-Vorlagen aktualisiert und neue Vorlagen für Pig hinzugefügt.
  • Azure Data Factory-Tools: Jetzt im Azure SDK enthalten sind die Azure Data Factory-Tools. Unser Ziel ist es, die Erstellungserfahrung von Azure Data Factory zu vereinfachen und Herausforderungen bei der Ein- und Bereitstellung zu entfernen. Unsere maßgeschneiderten Erfahrungen und umfangreiche Tools in den Azure Data Factory-Tools verbessern die Produktivität und Effizienz sowohl für neue als auch für fortgeschrittene Benutzer. Mit dieser Version können Kunden Datenpipelines mithilfe der Visual Studio-Schnittstelle interaktiv erstellen und bereitstellen. Weitere Informationen zu diesen Tools finden Sie im Blogbeitrag zu Azure Data Factory.

Windows 10 SDK

Mit diesen Tools wird Visual Studio 2015 aktualisiert, um alles bereitzustellen, was Sie zum Erstellen, Debuggen und Übermitteln von Anwendungen für jedes Windows-Gerät benötigen, auf dem die universelle Windows-Plattform ausgeführt wird. Highlights:

  • Erstellen Sie eine universelle Windows-Anwendung in der Sprache Ihrer Wahl – C#, VB, C++ oder JS – und stellen Sie sie auf einem Windows 10-Gerät bereit.
  • Neue Debugging- und Diagnosetools, einschließlich UI-Debuggingtools für XAML-Anwendung und ein Netzwerkprofiler.
  • Erstellen Sie App-Pakete für die Übermittlung an den einheitlichen Store.
  • Der Windows 10 Mobile-Emulator nutzt jetzt die Grafikhardware (GPU) Ihres PCs, um das Rendern des Bildschirms zu beschleunigen. Es bietet eine schnellere und reaktionsschnellere Debugging-Umgebung mit Microsoft RemoteFx.
  • Sie können nun die NFC-Simulationsfunktion im Windows 10 Mobile Emulator verwenden, um nfc-/näherungsfähige universelle Anwendungen zu erstellen und zu testen.
  • Umfassende XAML-Designerunterstützung für die Erstellung von Benutzeroberflächen, die auf das Gerät zugeschnitten sind.
  • .NET Native-Kompilierung von .NET-Apps in der Cloud.

Weitere Informationen zu Windows 10-Entwicklertools finden Sie unter Es ist an der Zeit, Ihre Welt und Ihre Anwendungen aufzurüsten.

Python-Tools für Visual Studio 2.2

Vollständig kostenloser Python-Support in Visual Studio.

  • CPython, PyPy, IronPython und mehr
  • Detaillierte IntelliSense
  • Interaktives Debuggen
  • Integriert in Visual Studio-Funktionen
  • Kostenlos und Open-Source

Weitere Informationen finden Sie unter Python Tools für Visual Studio.

Visual Studio-Tools für Unity 2.0

Verwandeln Sie Visual Studio in eine leistungsstarke Unity-Entwicklungsumgebung.

  • Erstellen von Multiplattform-Spielen
  • Debuggen von Visual Studio aus
  • Erstellen von Unity-Skripts in Visual Studio
  • Verbesserte Produktivität mit Visual Studio

Weitere Informationen zu Visual Studio Tools für Unity finden Sie unter Spieleentwicklung mit Visual Studio.

Node.js-Tools für Visual Studio 1.1 (RC)

Aktualisiert im Oktober 2021:

Sicheres Aktualisieren von Node.js Visual Studio Tools für Apache Cordova

Verwandeln Sie Visual Studio in eine leistungsstarke Node.js-Entwicklungsumgebung.

  • Kostenlos und Open Source
  • Intelligenter Codeabschluss
  • Erweitertes Debuggen und Profilerstellung
  • Integration mit anderen Visual Studio-Funktionen und Drittanbietertools
  • Node.js, io.js, JavaScript, TypeScript, HTML, CSS und JSON-Support

Weitere Informationen zu den Node.js-Tools für Visual Studio.

Office Developer Tools für Visual Studio 2015

Entwicklung mit Office 365-APIs

  • Office 365-API-Tools verwenden die neuen verbundenen Dienste in Visual Studio 2015, um Entwicklern eine geführte Oberfläche zu bieten, um Office 365-APIs in das Projekt zu integrieren.
  • Jetzt können Sie Office 365-API-Tools die automatische Konfiguration des einmaligen Anmeldens in Ihren ASP.NET MVC-Webanwendungen ermöglichen, indem Sie einfach „Einmaliges Anmelden mit Azure AD konfigurieren“ im Assistenten für verbundene Dienste auswählen.
  • Wenn Sie Office 365-APIs in Ihr Projekt integrieren, lädt Office 365-API-Tools jetzt die neueste Version der Office 365-API-Clientbibliothek NuGet-Pakete aus NuGet.org herunter und installiert sie.

SharePoint-Add-In-Entwicklung

  • Bei der Erstellung eines SharePoint-Add-Ins setzen die Tools die SharePoint-Zielversion auf die Version der Debugging-SharePoint-Website, die Sie im Assistenten zur Projekterstellung angeben. Der Assistent zeigt die ausgewählte SharePoint-Version an und ermöglicht es Ihnen, diesen Standardwert außer Kraft zu setzen. Sie können die Zielversion nach dem Erstellen des Projekts mithilfe der SharePoint-Registerkarte in Projekt-Designer ändern.
  • Die Tools installieren nun ein NuGet-Paket, welches das SharePoint Online Client Side Object Model (SPO-CSOM) enthält, in Ihr Projekt, wenn die Zielversion SharePoint Online ist. Die Tools fügen Verweise auf die SharePoint Online-CSOM-Assemblys zum Projekt hinzu. Die Tools basieren nicht mehr auf dem SharePoint Online Client Component SDK, das im Microsoft Download Center veröffentlicht wird. Dies erleichtert Ihnen das Upgrade der CSOM-Assemblys in Zukunft mithilfe des NuGet-Paket-Managers in Visual Studio.
  • Sie können jetzt entweder SAS- oder ACS-Verbindungszeichenfolgen für Microsoft Azure Service Bus verwenden, um einen Remoteereignisempfänger in SharePoint-Add-Ins zu debuggen und zu beheben.

Office-Add-In-Entwicklung

  • In dieser Version erstellen die Tools immer neue Anwendungen für Office mit einem v1.1-Manifest anstelle von v1.0, damit Ihre Anwendungen die neuen Funktionen in Office Web Apps und Office 2013-Clients unterstützen können. Für vorhandene Anwendungen für Office, die ein v1.0-Manifest verwenden, aktualisieren die Tools das Manifest auf v1.1, wenn eine neue Funktion verwendet wird, die ein v1.1-Manifest erfordert.

Erfahren Sie mehr über Office Developer Tools für Visual Studio.

GitHub-Erweiterung für Visual Studio 2015

Die einfachste Möglichkeit zum Herstellen einer Verbindung mit Ihren GitHub-Repositorys in Visual Studio.

  • Einfache Installation
  • Herstellen einer Verbindung mit GitHub in Visual Studio
  • Erstellen von Repositorys
  • Klonen von Repositorys mit nur einem Klick
  • Veröffentlichen Ihrer lokalen Arbeit auf GitHub

Erfahren Sie mehr über die GitHub-Erweiterung für Visual Studio.

Cloudbasierte Auslastungstests

Cloudbasierte Auslastungstests von Azure-Rechenzentren weltweit

Die Einrichtung der für Auslastungstests erforderlichen Infrastruktur ist jetzt noch einfacher: Jetzt können Sie cloudbasierte Auslastungstests von jedem der unterstützten Azure-Rechenzentren auf der ganzen Welt aus durchführen.

Cloudbasierter Auslastungstest unterstützt jetzt erweiterte Agent-Diagnose

Für diese Version haben wir die Funktion zum Durchführen der Test-Agent-Diagnose für einen cloudbasierten Auslastungstest hinzugefügt.

Das Debuggen in der Cloud ist schwierig, da auf die Computer nicht zugegriffen werden kann. Daher ist das Sammeln von Protokollen oder anderen Informationen aus den Test-Agents nicht immer möglich. Trotzdem können Sie mit der erweiterten Agent-Diagnose Protokolle von den Test-Agents sammeln und diese an die Ergebnisse des cloudbasierten Auslastungstests anfügen lassen.