Visual Studio 2017 Version 15.5 – Anmerkungen zu dieser Version

Senest opdateret 17.01.2018

Developer Community (Entwicklercommunity) | System Requirements (Systemvoraussetzungen) | Compatibility (Kompatibilität) | Distributable Code (Verteilbarer Code) | License Terms (Lizenzbedingungen) | Blogs | Known Issues (Bekannte Probleme)


Hinweis

Wenn Sie auf diese Seite über eine nicht englischen Sprachversion zugreifen und den neuesten Inhalt sehen möchten, besuchen Sie die englischsprachige Seite mit den Anmerkungen zu der Version.

Hinweis

Sie können Ihre Spracheinstellung ändern, indem Sie in die Fußzeile am unteren Rand der Seite wechseln. Klicken Sie auf das Symbol , und wählen Sie die gewünschte Sprache aus.

In diesem Artikel erhalten Sie Informationen zu den aktuellen Releases für Visual Studio 2017. Klicken Sie auf die Schaltfläche, um die aktuelle Version herunterzuladen.

Wenn Sie Unterstützung bei der Installation benötigen, sehen Sie sich unsere Dokumentationen zur Installation und Offlineinstallation an.

Feedback

Wir freuen uns auf Ihr Feedback! Informieren Sie uns über die Option Ein Problem melden in der oberen rechten Ecke im Installer oder direkt in der Visual Studio-IDE über mögliche Probleme. Das Feedback Icon-Symbol befindet sich in der oberen rechten Ecke. Sie können Ihre Probleme in der Entwicklercommunity für Visual Studio nachverfolgen, in der Sie auch Fragen stellen und nach Antworten suchen können. Über UserVoice können Sie auch einen Vorschlag zu einem Produkt machen, und über den Support per Live-Chat erhalten Sie kostenlose Hilfe bei der Installation.

Falls Sie momentan professionelle Unterstützung benötigen, können Sie in den Support-Optionen Informationen finden.

Releaseverlauf

In der Dokumentation zum Visual Studio 2017-Releaserhythmus erfahren Sie mehr zur Auslieferung der Releases, und wie Sie unterschiedliche Versionen erkennen können.

Bekannte Probleme

Weitere Informationen finden Sie im Abschnitt Bekannte Probleme.


Veröffentlichungsdatum: 9. Januar 2018 – Visual Studio 2017 Version 15.5.3

In diesem Release behobene Hauptprobleme

Microsoft-Sicherheitsempfehlungen für .NET Core

  • CVE-2018-0786 Umgehung des Sicherheitsfeatures in der Validierung des X.509-Zertifikats: Microsoft veröffentlicht diese Sicherheitsempfehlung, um Informationen zu einem Sicherheitsrisiko in den öffentlichen Versionen von .NET Core 1.0, 1.1 und 2.0 bereitzustellen. Dieser Ratgeber enthält ebenso Anweisungen dazu, wie Entwickler ihre Anwendungen ordnungsgemäß aktualisieren können. Diese Sicherheitsempfehlung gilt auch für .NET Native für UWP.

    Es besteht ein bekanntes Sicherheitsrisiko in den öffentlichen .NET Core-Versionen, bei dem ein Angreifer ein Zertifikat anzeigen kann, das für einen bestimmten Verwendungszweck als ungültig gekennzeichnet ist, es jedoch genau für diesen Zweck von einer Komponente benutzt wird. Diese Aktion ignoriert die Markierung „erweiterte Schlüsselverwendung“.

    Das Sicherheitsupdate berücksichtigt dieses Sicherheitsrisiko, indem sichergestellt wird, dass .NET Core-Komponenten Zertifikate vollständig validieren. Systemadministratoren wird empfohlen, ihre .NET Core-Runtimes auf die Versionen 1.0.9, 1.1.6 und 2.0.5 zu aktualisieren. Entwicklern wird empfohlen, ihr .NET Core SDK auf die Version 2.1.4 oder 1.1.7 zu aktualisieren.

  • CVE-2018-0764 Denial-of-Service-Angriff bei der Analyse von XML-Dokumenten: Microsoft veröffentlicht diese Sicherheitsempfehlung, um Informationen zu einem Sicherheitsrisiko in den öffentlichen Versionen von .NET Core 1.0, 1.1 und 2.0 bereitzustellen. Dieser Ratgeber enthält ebenso Anweisungen dazu, wie Entwickler ihre Anwendungen ordnungsgemäß aktualisieren können.

    Es besteht ein bekanntes Denial-of-Service-Sicherheitsrisikos in allen öffentlichen .NET Core-Versionen aufgrund fehlerhafter Verarbeitung von XML-Dokumenten. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, kann eine Denial-of-Service einer .NET-Anwendung verursachen. Ein nicht authentifizierter Remoteangreifer könnte dieses Sicherheitsrisiko durch Ausgeben speziell gestalteter Abfragen an eine .NET Core-Anwendung ausnutzen.

    Durch dieses Update wird die Sicherheitslücke geschlossen. Es wird korrigiert, wie .NET Core die XML-Dokumentverarbeitung behandelt. Systemadministratoren wird empfohlen, ihre .NET Core-Runtimes auf die Versionen 1.0.9, 1.1.6 und 2.0.5 zu aktualisieren. Entwicklern wird empfohlen, ihr .NET Core SDK auf die Version 2.1.4 oder 1.1.7 zu aktualisieren.


Veröffentlichungsdatum: 14. Dezember 2017 – Visual Studio 2017, Version 15.5.2

In diesem Release behobene Hauptprobleme

Dies sind die von Kunden gemeldeten Probleme, die in dieser Version behoben wurden:


Veröffentlichungsdatum: 7. Dezember 2017 – Visual Studio 2017, Version 15.5.1

In diesem Release behobene Hauptprobleme

Dies sind die von Kunden gemeldeten Probleme, die in dieser Version behoben wurden:


Veröffentlichungsdatum: 4. Dezember 2017 – Visual Studio 2017, Version 15.5

Zusammenfassung: Neues in diesem Release

In diesem Release behobene Hauptprobleme

Dies sind die von Kunden gemeldeten Probleme, die in dieser Version behoben wurden:


Details: Neues in diesem Release

Visual Studio IDE

Setup und Installation

  • Der Installer generiert nun während der Installation einen Windows-Wiederherstellungspunkt.
  • „Programme hinzufügen/entfernen“ weist nun Einträge für jede Visual Studio-Installation auf. Der Visual Studio-Installer unterstützt nun für jeden Eintrag das Ändern und Deinstallieren.
  • Für die Installation aus einem Offlinelayout heraus ist es nicht mehr erforderlich, Zwischenzertifikate auf einem vom Netzwerk getrennten Computer zu installieren.
  • Der Installations- und Updateprozess ist nun zuverlässiger und kann besser abgebrochen werden.

Dialogfeld „Fehler“ aktualisiert

Wir haben das Dialogfeld „Fehler“ so aktualisiert, dass mehr Informationen zur Behebung von Installationsproblemen angezeigt werden. Die potenziellen Lösungen stammen aus der Visual Studio Developer Community. (Abbildung 1).

New installer error dialog box

(Abbildung 1) Dialogfeld „Fehler“ im Installer

Leistung

  • Bei großen C#- und Visual Basic-Projekten sind die Ladezeiten nun kürzer.
  • Geringerer Zeitaufwand für das Umschalten der Konfigurationen zwischen Debuggen und Freigabe.
  • Geringere Zeit zum Hinzufügen, Entfernen und Umbenennen von Dateien und Ordnern in .NET Core-Projekten.
  • LSL (Lightweight Solution Load) ist nun veraltet, weil die Ladezeit der Projektmappe ohne LSL verringert wurde.

Verbundene Dienste

  • Wir haben den Azure Storage-Dienstanbieter so aktualisiert, dass ASP. NET Core-Projekte unterstützt werden, die auf .NET Core abzielen.

Team Explorer-Updates

Die neuesten Updates für Team Explorer wurden durch Ihr Feedback auf UserVoice inspiriert.

Sie können nun mit Git-Submodulen und -Worktrees arbeiten und fetch.prune und pull.rebase in Team Explorer konfigurieren. Visual Studio behandelt Git-Submodule und -Worktrees jetzt wie normale Repositorys. Fügen Sie sie einfach Ihrer Liste lokaler Repositorys hinzu, und fangen Sie an zu programmieren!

Beachten Sie bei Submodulen, dass Sie immer noch keine Aktionen ausführen können, die die Unterstützung mehrerer Repositorys erfordern (z. B. das gleichzeitige Anzeigen einer Datei im übergeordneten Repository und einer Datei im Submodul).

Außerdem ist es jetzt einfacher, Ihr standardmäßiges Git-Verhalten so festzulegen, dass bei jedem Abruf ein Löschvorgang und bei jedem Pullvorgang ein Rebase erfolgt. Der Löschvorgang bei jedem Abruf entfernt lokale Nachverfolgungsbranches, die nicht mehr auf dem Server vorhanden sind, und hilft Ihnen, die Liste Ihrer Branches übersichtlich und aktuell zu halten. Durch ein Rebase bei jedem Pullvorgang bleibt Ihr Commitverlauf linear und leichter nachvollziehbar. Sie finden diese Optionen in den globalen und Repositoryeinstellungen.

Sicherheitsempfehlungen für .NET Core und ASP.NET Core

Microsoft hat Sicherheitsempfehlungen für .NET Core und ASP.NET Core veröffentlicht. Details finden Sie in den entsprechenden Ankündigungen in den Repositorys .NET Core und ASP.NET Core. Beachten Sie die folgende Informationen:

  • CVE-2017-8585 Fehlerhaftes Zertifikat kann zu DoS-Angriff führen: In. NET Core 1.0, 1.1 und 2.0 gibt es eine Sicherheitslücke, bei der ein fehlerhaftes Zertifikat oder andere ASN.1-formatierte Daten unter Linux und macOS über eine Endlosschleife zu einem DoS-Angriff führen können. Systemadministratoren wird empfohlen, ihre .NET Core-Laufzeiten auf die Versionen 1.0.8, 1.1.5 und 2.0.1 zu aktualisieren. Entwicklern werden empfohlen, ihr .NET Core SDK auf die Version 2.0.3 oder 1.1.5 zu aktualisieren.

  • CVE-2017-8700 CORS-Umgehung kann Preisgabe von Informationen ermöglichen: Es gibt eine Sicherheitslücke in ASP. NET Core 1.0 und 1.1, bei der Cross-Origin Resource Sharing (CORS, Ressourcenfreigabe zwischen verschiedenen Ursprüngen) umgangen werden kann, was zu einer Preisgabe von Informationen führt.

  • CVE-2017-11879 Open Redirect kann zu Rechteerweiterungen führen: Es gibt eine Sicherheitslücke in ASP. NET Core 2.0, bei der ein Open Redirect existiert, was zu Rechteerweiterungen führt.

  • CVE-2017-11770 Denial-of-Service-Sicherheitslücke: Es gibt eine Sicherheitslücke in ASP. NET Core 1.0,1.1 und 2.0 bei Hosten der Anwendung über Windows Http. Sys, bei der eine fehlerhafte Anforderung zu einem DoS-Angriff führen kann.

Neue Projekte, die mit ASP. NET Core 1.0, ASP. NET Core 1.1 und ASP.NET Core 2.0 erstellt werden, verwenden nun Paketversionen, die die oben genannten Sicherheitsupdates enthalten. Bei vorhandenen Projekten können Benutzer ihre Pakete über das Dialogfeld „NuGet-Pakete verwalten“ auf neuere Versionen aktualisieren.

MSVC-Compilertoolset

In Visual Studio 2017, Version 15.5 wurde das MSVC Compiler-Toolset in den Buildtools auf Version 14.12 aktualisiert, das mit der Toolsetversion 14.11 der VS-Version 15.4 kompatibel ist. Falls nach dem Upgrade auf Visual Studio 2017, Version 15.5 ein Problem beim Kompilieren Ihres Codes auftritt, können Sie die Installation der Toolsetversion 14.11 parallel zur Toolsetversion 14.12 erzwingen. Das Toolset (14.11) von Visual Studio 2017, Version 15.4 kann nach der Installation der C++ Desktop-Workloads auf der Registerkarte Einzelne Komponenten ausgewählt werden.

Neuerungen beim C#-Compiler

Der C#-Compiler unterstützt nun den Satz von Sprachfeatures der Version 7.2 einschließlich:

  • Unterstützung für den Typ Span<T>, der in Kestrel und CoreFX über den Modifizierer ref struct verwendet wird.
  • readonly struct-Modifizierer: Erzwingt, dass alle Member einer Struktur readonly sind. Dies fügt dem Code eine Richtigkeitsebene hinzu und erlaubt dem Compiler, unnötiges Kopieren von Werten beim Zugriff auf Member zu vermeiden.
  • in-Parametern/ref readonly-Rückgaben: Ermöglicht die sichere Übergabe und Rückgabe unveränderlicher Strukturen mit der gleichen Effizienz wie bei modifizierbaren ref-Werten.
  • Zugriffsmodifizierer private protected: Schränkt den Zugriff auf die Schnittmenge von protected und internal ein.
  • Nicht nachgestellte benannte Argumente: Benannte Argumente können nun auch in der Mitte einer Argumentliste verwendet werden, ohne dass alle nachfolgenden Argumente ebenfalls nach Namen übergeben werden müssen.

Visual Studio-Tools für Xamarin

Diese Version bietet aktualisierte Unterstützung für die Xamarin SDKs für iOS und Android:

Aktuelle Ansicht der Liveausführung

Das Erstellen von XAML-basierten Benutzeroberflächen ist nun noch einfacher dank unseres neuen Features „Aktuelle Ansicht der Liveausführung“ (Abbildung 2). Während Sie Ihre Benutzeroberfläche erstellen, sehen Sie, wie sie bei der Eingabe in den Android-Emulator zum Leben erwacht, ohne dass Sie die App speichern, kompilieren oder erneut bereitstellen müssen.

(Abbildung 2) Aktuelle Ansicht der Liveausführung

Xamarin Live Player

Mit dem Xamarin Live Player können Entwickler ihre Apps direkt auf iOS-und Android-Geräten kontinuierlich bereitstellen, testen und debuggen. Nachdem Sie die Xamarin Live Player-App (aus dem Apple App Store oder von Google Play) heruntergeladen haben, können Sie Ihr Gerät mit Visual Studio koppeln. Beginnen Sie nun mit der Entwicklung mobiler Apps, indem Sie nur Visual Studio und Ihr Mobilgerät verwenden. Mit dem für Xamarin.Forms optimierten Live Player können Sie nun den XAML-Code modifizieren und die Änderungen in Sekundenschnelle auf Ihrem Gerät sehen, ohne kompilieren oder auf eine vollständige Bereitstellung warten zu müssen. Diese Version bietet zahlreiche Verbesserungen an unserer Xamarin Live-Funktionalität, so zum Beispiel:

  • Intelligenteres Debuggen und Liveausführung: Der Live Player passt nun automatisch Ihr Startprojekt an die richtige Plattform an, wenn Sie ihn zum Debuggen nutzen (Abbildung 3). Wenn z. B. iOS ausgewählt ist und der gekoppelte Live Player Google Pixel ist, empfiehlt Ihnen die IDE, Ihr Startprojekt auf Android umzustellen.
  • Bereitstellungsstatus: Sie können nun den Status eines Debugvorgangs im Xamarin Live Player anhand des Bereitstellungsstatus auf der Statusleiste verfolgen.
  • Integration von Konsolen- und Fehlerfenster: Die in der Anwendung protokollierte Ausgabe wird nun im Konsolenfenster angezeigt, und Fehler werden jetzt im Fenster „Fehler“ in Visual Studio angezeigt.
  • Kontextmenü und Tastenkombination für Liveausführung: Wir wollten es Ihnen einfach machen, Ihre XAML-Benutzeroberfläche sofort zu visualisieren. Deshalb haben wir ein Kontextmenü und eine Tastenkombination hinzugefügt, um die Vorschau Ihrer XAML-Seiten schnell und einfach zu gestalten.
  • Dokumentwechsel bei Liveausführung: Beim Erstellen von Benutzeroberflächen ist es üblich, zwischen verschiedenen XAML-Dokumenten zu wechseln. Beim Ändern des aktiven Dokuments in Visual Studio wird die gerade geöffnete XAML-Seite automatisch live ausgeführt. Sie können also ganz einfach zwischen verschiedenen Seiten hin- und herwechseln und diese sofort auf Ihrem Gerät anzeigen.

Animation der Kopplung, Bereitstellung und der Livebearbeitungsmodi von Xamarin Live Player

(Abbildung 3) Animation der Kopplung, Bereitstellung und der Livebearbeitungsmodi von Xamarin Live Player

Vorlagen

Datei > Neues Projekt > Mobile App (siehe Abbildung 4) ist mit Updates des plattformübergreifenden Vorlagen-Assistenten für iOS-, Android- und Windows-Apps jetzt noch einfacher:

  • Unterstützung von .NET Standard: Sie können jetzt eine neue plattformübergreifende Xamarin-App erstellen, die .NET Standard 2.0 als Codefreigabemedium verwendet.
  • Kontrollkästchen „Zielplattformen“: Wählen Sie unter „Datei -> Neu“ die gewünschten Plattformen aus.
  • PackageReference – Alle Vorlagen nutzen jetzt standardmäßig PackageReference, eine neue einfache Möglichkeit zum Verwalten von NuGet-Paketen in Ihren Xamarin-Apps.
  • Bessere Leistung beim Auffalten: Vorlagen sollten sich nun wesentlich schneller als zuvor auffalten. In den extremsten Fällen erleben Sie eine Verbesserung um das 40-fache.

File -> New -> Mobile App

(Abbildung 4) Die Einstellung „Datei > Neu > Mobile App“

iOS-Remotesimulator

Der iOS-Remotesimulator bietet Ihnen eine einfache Möglichkeit zum Debuggen und Testen von iOS-Apps im Simulator vollständig aus Visual Studio unter Windows. Er unterstützt alle Aufgaben, die der iOS Simulator auf dem Mac ausführen kann und noch vieles mehr (einschließlich Multitouchunterstützung)! Ab Visual Studio 2017 Version 15.5 ist der iOS-Remotsimulator nun in allen Editionen non Visual Studio verfügbar, einschließlich der kostenlosen Community Edition.

Xamarin Android SDK Manager

Das Verwalten Ihrer Android SDKs ist mit dem neuen Xamarin Android SDK Manager noch einfacher. In Visual Studio finden Sie ihn unter „Extras -> Android -> Android SDK Manager“.

Verbesserungen von F#-Tools

In der Visual Studio 2017-Version 15.5 haben wir uns auf die Unterstützung von F#-Tools für .NET Core SDK-Projekte konzentriert. Folgendes wird nun unterstützt:

  • Sie können über Datei > Neues Projekt neue .NET Core-Konsolenanwendungen, .NET-Standardbibliotheken und .NET Core-Komponententests erstellen.
  • Wir haben Unterstützung für vorhandene .NET Core- und .NET-Standardprojekte hinzugefügt.
  • Wir haben Unterstützung für vorhandene.NET Core SDK-Projekte hinzugefügt, die auf eine .NET Framework-Version abzielen.
  • Verweise von Projekt zu Projekt werden unterstützt.
  • Wir haben Unterstützung für Web SDK-Projekte hinzugefügt (z.B. F# ASP.NET Core-Projekte oder Projekte mit der Vorlage Giraffe).
  • Bei Web SDK-Projekten können Sie nun mit der rechten Maustaste auf „Veröffentlichen“ klicken.
  • Automatisches Generieren einer CI-/CD-Pipeline mit Visual Studio Team Services-Tools wird unterstützt.

Es gibt auch einige Verbesserungen an den Visual F#-Tools, die nicht auf .NET Core SDK-Projekte abzielen. Dazu zählen:

  • „Gehe zu Definition“ von F# zu C#, von Saul Rennison und Vasily Kirichenko.
  • Design „Farbgebung für Blau“ (zusätzlicher Kontrast) von Microsoft und Vasily Kirichenko.
  • Eigenschaftsseiten werden auf verschiedenen Monitoren automatisch in der richtigen Größe angezeigt.
  • Intelligenter automatischer Einzug für neue Zeilen, wenn der Einzug auf „Smart“ festgelegt ist, von Duc Nghiem Xuan.
  • Automatische Ausrückung für schließende Klammern, wenn die Einrückung auf „Smart“ festgelegt ist, von Saul Rennison.
  • Enumerationsfelder können nun als Symbole in QuickInfos, „Alle Verweise suchen“, „Zu allen gehen“ und „Inline-Umbenennung“ angezeigt werden, von Vasily Kirichenko.
  • XML-Dokumentationskommentare, die durch Zeilenumbrüche getrennt sind, werden dem aktuellen XML-Dokumentationskommentar beim Daraufzeigen nicht vorangestellt, von Vasily Kirichenko.
  • Die XML-Dokumentation für das Schlüsselwort „ref“ wurde von CHBen korrigiert.
  • Mehrere Fehlerkorrekturen und Leistungsverbesserungen.

Melden Sie bitte alle Probleme, die Sie finden, in unserem GitHub-Repository.

Änderungen beim Setup von F#

Wir haben geändert, wie Sie F# beziehen:

  • Wenn Sie eine Workload installieren, die .NET Core 2.0 erfordert, wird auch die F#-Sprachunterstützung standardmäßig installiert. Dies gilt nur für die Workloads .NET Core, ASP.NET und Azure.
  • Das Kontrollkästchen „F#-Sprachunterstützung“ in den Workloads „.NET-Desktopentwicklung“, „Datenspeicherung und -verarbeitung“ und „Data Science und analytische Anwendungen“ wurde in „F#-Desktopunterstützung“ umbenannt.

Verbesserungen am F# 4.1-Compiler

In dieser Version gibt es eine Reihe von Fehlerkorrekturen im F# 4.1-Compiler:

  • Verbesserungen bei der PDB-Generierung im F#-Compiler, die fünf bekannte Probleme beim Debuggen von F# aus dem Jahr 2014 beheben.
  • Eine Korrektur für Datensatzfelder, die vom Compiler falsch aufgelöst wurden, von Vasily Kirichenko.
  • StartAsTask wartet jetzt ordnungsgemäß bis zum Ende des Abbruchs, von Matthias Dittrich.
  • Assemblyverweise werden nun erstellt, wenn ein Typ nur in einem Attribut verwendet wird.
  • Diskriminierte Einzelfall-Unions mit demselben Fallnamen werden nicht mehr automatisch in einen Objekttyp umgewandelt.
  • Eine mögliche asynchrone Endlosschleife bei MailboxProcess. „Receive“ wurde korrigiert.

Visual C++-Verbesserungen

Sie haben nun die Möglichkeit, bestehende CMake-Projekte und Cachekonfigurationen über Datei > Öffnen > CMake in die IDE zu importieren.

Unterstützung für „Ordner öffnen“ für ARM-Onlinecompilerexporte

Wählen Sie die Option in der Linux C++-Workload für Embedded- und IoT-Projekte. Anschließend können Sie Projekte bearbeiten und kompilieren, die auf ARM-Microcontroller abzielen. Wir unterstützen das Öffnen von Projekten, die als GCC aus dem ARM-Onlinecompiler exportiert werden und die dann lokal in Visual Studio kreuzkompiliert werden können. Weitere Informationen finden Sie unserem Blogbeitrag zu Visual C++ für die ARM-Entwicklung.

Remotetasks

„Ordner öffnen“ unterstützt jetzt Remotetasks. Dies sind Tasks, die über Secure Shell (SSH) auf einem Remotesystem ausgeführt werden. Diese Tasks können auch so konfiguriert werden, dass Dateien auf den Zielcomputer kopiert werden, um beispielsweise Code mit „make“ auf einem Linux-System zu kompilieren. Weitere Informationen finden Sie in unserem Blogbeitrag zum Arbeiten mit Remotetasks in Visual Studio.

Verbesserungen für die Standardvorlagenbibliothek

Die Website Open Standards enthält eine Reihe von Seiten für Gruppen, die offene Standards entwickeln. Wir haben diese Verbesserungen der Standardvorlagenbibliothek in Bezug auf den C++17-Standard hinzugefügt:

  • not_fn(): P0005R4 empfiehlt die Übernahme des Funktionsbinders not_fn aus Library Fundamentals TS v2 als Ersatz für die alten Negatoren not1 und not2.
  • Umformulieren von enable_shared_from_this: P0033R1 Re-enabling shared_from_this.
  • Veraltete rudimentäre Bibliotheksteile: P0174R2. Eine Reihe von Features der C++-Standardbibliothek wurden im Laufe der Jahre durch Ergänzungen überholt, oder wir haben festgestellt, dass sie nicht den ursprünglich erwarteten Zweck erfüllen. Dieses Dokument schlug daher den Austausch veralteter Features vor, für die bessere, einfachere oder klarere Optionen zur Verfügung stehen.
  • Entfernen der Unterstützung für Zuweisung in std::function: P0302R1. Die Klassenvorlage „std::function“ verfügt über mehrere Konstruktoren, die ein Zuweisungsargument verwenden, doch die Semantik ist unklar. Außerdem gibt es technische Probleme beim Speichern einer Zuweisung in einem Kontext mit gelöschtem Typ und anschließendem Wiederherstellen dieser Zuweisung für alle Zuordnungen, die während der Kopierzuweisung benötigt werden. Diese Konstruktoren müssen entfernt werden.
  • Korrekturen für not_fn(): P0358R1. Die neue Formulierung für std::not_fn, die zu den weiteren Verbesserungen zählt, bietet Unterstützung für die Weitergabe der Wertkategorie bei einem Wrapperaufruf.
  • shared_ptr<T[]>, shared_ptr<T[N]>: P0414R2. Zusammenführen von shared_ptr-Änderungen aus Library Fundamentals in C++17.
  • Korrigieren von shared_ptr für Arrays: P0497R0. Korrekturen für die shared_ptr-Unterstützung für Arrays.
  • shared_ptr::unique() veraltet: P0521R0. Vorgeschlagene Lösung für CA 14 (shared_ptr use_count/unique).
  • Die Unterstützung für codecvt wird eingestellt: P0618R0, ist nicht die beste Möglichkeit, die Unicodetranscodierung anzugehen. Diese Bibliothekskomponente sollte in Anhang D ausgelagert werden.
  • Entfernen dynamischer Ausnahmespezifikationen: P0003R5. Dynamische Ausnahmespezifikationen sind in C++11 veraltet. Das Feature wird aus C++17 entfernt, wobei die (weiterhin) veraltete „throw()“-Spezifikation ausschließlich als Alias für „noexcept(true)“ beibehalten wird.
  • Anwenden von Splice-Vorgängen auf Zuordnungen und Sätze: P0083R3. Dieses Design ermöglicht Splice-Vorgänge aller Art, das Verschieben von Elementen (einschließlich Zuordnungsschlüssel) aus dem Container und eine Reihe anderer nützlicher Vorgänge und Designs. Es handelt sich um eine Erweiterung der assoziativen und ungeordneten assoziativen Container, um die Bearbeitung von Knoten zu unterstützen. Dies ist eine reine Ergänzung der Standardbibliothek.
  • Klärung von insert_return_type: P0508R0. Die assoziativen Container mit eindeutigen Schlüsseln und die ungeordneten Container mit eindeutigen Schlüsseln weisen eine Memberfunktionseinfügung auf, die den geschachtelten Typ insert_return_type zurückgibt. Dieser Rückgabetyp ist eine Spezialisierung des in diesem Abschnitt angegebenen Typs.
  • Inlinevariablen für die Standardvorlagenbibliothek: P0607R0.

Verbesserungen am Visual C++-Compiler

Der Visual C++-Compiler unterstützt ungefähr 75 % der C++17-Features (z. B. strukturierte Bindungen, constexpr-Lambdas, if constexpr, Inlinevariablen, „fold“-Ausdrücke und das Hinzufügen von noexcept zum Typsystem). Diese Features sind unter dem Schalter /std:c++17 verfügbar. Der Konformitätsmodus /permissive- bietet teilweise Unterstützung einer zweistufigen Namenssuche und bessere Unterstützung von Paketerweiterungen für „variadic“-Vorlagen. Zusätzlich wurde der Modus /permissive- als neues Dropdownmenü „Sprache“ in den Projekteigenschaften für C++-Projekte hinzugefügt.

Verbesserungen am Visual C++-Optimierer

Das C++-Codegenerierungsteam hat Verbesserungen an bestehenden Compileroptimierungen vorgenommen und der Version 15.5 neue Optimierungen hinzugefügt.

Ausgewählte Verbesserungen am Linker:

  • Sie werden eine neue und schnellere Implementierung von /OPT:ICF feststellen: bis zu 9 % schnellere Linkzeiten.
  • Wir haben Korrekturen am inkrementellen Verknüpfen vorgenommen. Inkrementelles Verknüpfen wird nie mehr langsamer als vollständiges Verknüpfen sein.

Ausgewählte Verbesserungen an vorhandenen Optimierungen:

  • Wir haben die Heuristik für Vektorisierungen für bedingte Ausdrücke verbessert.
  • Wir haben die loop-if-unswitching-Optimierung verbessert.
  • Wir haben das Auflösen von Schleifen verbessert.
  • Wir haben „float min/max codegen“ verbessert.

Ausgewählte neue Optimierungen:

  • Wir haben redundante (und teilweise redundante) Anweisungen an den SSA-Optimierer verbessert und entfernt.
  • Wir haben die Vektorisierung bedingter skalarer Speicher optimiert.
  • Wir haben die Aufrufe sin(x) und cos(x) zu sincos(x) kombiniert.

Visual C++ unterstützt AVX-512 von Intel, einschließlich der Anweisungen zur Vektorlänge, die neue Funktionen in AVX-512 für 128 und 256 Bit breite Register bereitstellen.

In der C++-Codeanalyse bieten wir über 20 neue Überprüfungen von C++ Core Guidelines. Diese Überprüfungen decken die Richtigkeit intelligente Zeiger und richtige Verwendung globaler Initialisierer ab und kennzeichnen die Verwendungen von Konstrukten wie goto und bad_cast.

Einige Warnnummern, die in Version 15.3 vorhanden waren, sind in Version 15.5 nicht mehr verfügbar. Diese Warnungen wurden durch genauere Überprüfungen ersetzt.

Integrierte Unterstützung für die Frameworks Google Test und Boost.Test

Sie können in Visual Studio Ihre Google Test- und Boost.Test-Komponententests schreiben, ermitteln und ausführen. Test-Explorer unterstützt jetzt standardmäßig die Frameworks Google Test und Boost.Test. Wenn Sie ein Upgrade von einer früheren Visual Studio-Installation durchführen, öffnen Sie den Visual Studio-Installer. Klicken Sie in Ihrer Visual Studio-Instanz auf „Ändern“, und aktivieren Sie unter „Desktopentwicklung mit C++“ die Kontrollkästchen „Testadapter für Google Test“ und „Testadapter für Boost.Test“. Erstellen Sie mühelos ein neues Google Test-Projekt: Wählen Sie Datei > Neu > Projekt > Visual C++ > Testen > Google Test.

Weitere Informationen finden Sie auf den Seiten zum Verwenden von Google Test für C++ in Visual Studio und Verwenden von Boost.Test für C++ in Visual Studio in der Microsoft-Dokumentation.

Visual Studio Web Tools

  • Die Formatierung von Razor-Syntax wurde verbessert.
  • Wir haben die Oberfläche zur Veröffentlichung von ASP.NET-Anwendungen für Azure Virtual Machines verbessert.

Tools für Docker-Container

  • Die Visual Studio-Tools für Docker-Container unterstützen jetzt mehrstufige Dockerfiles, um die Erstellung optimierter Containerimages zu vereinfachen.
  • Wenn Sie Visual Studio auf einem Computer mit Windows 10, Version 1709 oder Windows Server, Version 1709 ausführen, verwenden Ihre Containerimages standardmäßig Windows Server, Version 1709. Sie können dies durch Bearbeiten der Dockerfile ändern. Beachten Sie, dass Containerimages, die ältere Versionen von Windows verwenden, unter Windows 10, Version 1709 und Windows Server, Version 1709 nur im Hyper-V-Isolationsmodus ausgeführt werden können. Weitere Informationen finden Sie auf der Seite Versionskompatibilität von Windows-Containern.
  • Wenn Sie ein Projekt mit Docker-Unterstützung öffnen, werden von Visual Studio automatisch die erforderlichen Containerimages im Hintergrund abgerufen, erstellt und ausgeführt. Sie können dieses Verhalten über die Einstellung Container im Hintergrund automatisch starten in Visual Studio deaktivieren.

TypeScript-/JavaScript-Verbesserungen

Unterstützung von Angular 2

Angular 2-Entwickler können nun Fehler, Vervollständigungen und die Codenavigation in Inlinevorlagen und NGML-Vorlagendateien einsehen. Im Beispielrepository finden Sie eine Übersicht und Anweisungen.

Leistungsverbesserungen

Wir haben im Text-Editor von JavaScript/TypeScript auf der Seite „Projektoptionen“ das Kontrollkästchen „Nur Projekte analysieren, die im Editor geöffnete Dateien enthalten“ hinzugefügt. Diese Option verbessert die Leistung und Zuverlässigkeit großer Projektmappen. Beachten Sie, dass Sie bei Aktivierung dieses Kontrollkästchens eine Projektmappe erstellen müssen, um eine vollständige Liste der TypeScript-Fehler in allen Dateien anzuzeigen.

Wir haben ein Problem behoben, das dazu führte, dass der TypeScript-/JavaScript-Sprachdienst mehr Arbeitsspeicher als vorgesehen belegte und bei Projektmappen mit mehreren Projekten die falsche Version von TypeScript geladen werden konnte.

WCF-Tools (Windows Communication Foundation)

Der mit der WCF-Webdienstreferenz verbundene Dienstanbieter (Abbildung 5) ist nun Bestandteil von Visual Studio 15.5.

WCF Web Service Reference

(Abbildung 5) WCF-Webdienstreferenz

Um dieses Tool zu verwenden, klicken Sie in Ihrem .Net Core-Projekt mit der rechten Maustaste auf das Projektelement „Abhängigkeiten“. Wählen Sie „Verbundenen Dienst hinzufügen“ aus, und geben Sie die Adresse des Webdiensts ein, für den Sie Code generieren möchten. Der generierte WCF-Clientproxycode wird in einer C#-Datei gespeichert, die dem Projekt automatisch hinzugefügt wird. Auf diese Weise kann Ihr auf .NET Core basierender Code problemlos mit dem Webdienst kommunizieren.

In der WCF-Webdienstreferenz auf GitHub finden Sie unter Release Notes weitere Details.

Debuggen und Diagnose

Debuggen von Anwendungen in der Produktion mit dem Momentaufnahmedebugger

Sie können jetzt Andockpunkte und Protokollpunkte verwenden, um ASP.NET- und ASP.NET-Core-Anwendungen, die in Azure App Services ausgeführt werden, mit minimaler Auswirkung auf die Anwendung zu debuggen.

  • Legen Sie Andockpunkte (Abbildung 6) fest, um den Status Ihrer App zu erfassen, einschließlich lokaler Variablen, Überwachungselemente und Aufrufliste. Im Gegensatz zu Haltepunkten wird Ihre App nicht angehalten, wenn sie einen Andockpunkt erreicht.

Snappoints

(Abbildung 6) Andockpunkte

  • Verwenden Sie Protokollpunkte (Abbildung 7), um neue Nachrichten aus Ihrer Anwendung zu protokollieren, ohne Code hinzufügen oder Ihre Anwendung erneut bereitstellen zu müssen.

Logpoint

(Abbildung 7) Protokollpunkte

Eingebettete Quelle und eingebettete PDB-Unterstützung

Mithilfe von „Eingebettete Quelle“ kann der Visual Studio-Debugger nun Quelldateien für verwaltete Binärdateien direkt aus der PDB-Datei extrahieren und verwenden. Kombinieren Sie „Eingebettete Quelle“ und „Eingebettete PDB“, um vollständig eigenständige und debugfähige Binärdateien zu erstellen. Erfahren Sie mehr zur Verwendung des Compilerschalters „/embed“.

Beim Erstellen von Builds mit eingebetteten PDBs können Sie jetzt auch verwalteten Code mit „Bearbeiten und fortfahren“ debuggen.

Ein Schritt zurück beim Debuggen mit IntelliTrace

Mit dem neuen IntelliTrace-Debugfeature „Rückschritt“ erstellt IntelliTrace automatisch eine Momentaufnahme Ihrer Anwendung für jeden Haltepunkt und Debuggerschritt. Auf diese Weise können Sie zu vorherigen Haltepunkten oder Schritten zurückkehren und sich den Zustand der Anwendung so anzeigen lassen, wie er in der Vergangenheit war.

Dieses Feature ist für Windows 10 Anniversary Update oder höher verfügbar und unterstützt zurzeit das Debuggen von ASP.NET, WinForms, WPF, verwalteten Konsolen-Apps und verwalteten Klassenbibliotheken (Abbildung 8). Um dieses Feature zu aktivieren, wechseln Sie zu Extras > Optionen > IntelliTrace-Einstellungen, und wählen Sie IntelliTrace-Ereignisse und -Momentaufnahmen aus.

stepback

(Abbildung 8) Rückschritt beim Debuggen mit IntelliTrace

Zugreifen auf Azure-Ressourcen über Visual Studio bei aktiviertem bedingtem Zugriff

Visual Studio unterstützt jetzt den Zugriff auf Azure-Ressourcen, bei denen der bedingte Zugriff aktiviert ist und Sie sich mit zweistufiger Authentifizierung authentifizieren müssen, selbst wenn Ihr Konto selbst keine zweistufige Authentifizierung erfordert. Wenn Ihr Konto zuvor für die Anmeldung eine zweistufige Authentifizierung erforderte, wurde Visual Studio zur zweistufigen Authentifizierung aufgefordert. Anschließend konnten Sie auf alle Ressourcen zugreifen, für die eine zweistufige Authentifizierung erforderlich war. Doch wenn Ihr Konto keine zweistufige Authentifizierung erforderte, konnte Visual Studio nicht auf diese mit zweistufiger Authentifizierung geschützten Ressourcen zugreifen.

Wenn Konten nun keine zweistufige Authentifizierung erfordern, Ressourcen hingegen schon, können Sie Ihr Konto bei Visual Studio ohne zweistufige Authentifizierung authentifizieren. Wenn Sie zum ersten Mal versuchen, auf eine Azure-Ressource zuzugreifen, die eine zweistufige Authentifizierung erfordert, wird Visual Studio Sie auffordern, sich neu zu authentifizieren. Dieses Mal wird die zweistufige Authentifizierung verlangt, um den Zugriff auf Ihre Ressource zu ermöglichen.

Unterstützung von Office-Tools für Office im Windows Store

Office Web-Add-In-Projekte und VSTO-Projekte unterstützen nun die Entwicklung mit Office im Windows Store. Mit Office im Windows Store können Sie Web-Add-In-Projekte und VSTO-Projekte entwickeln, erstellen, debuggen und veröffentlichen.

  • Das Fall Creators Update (Version 1709) für Windows 10 oder Windows Server 2016 ist erforderlich, um Office-Tools mit Office im Windows Store zu verwenden.

Visual Studio Tools für Unity

  • Unity-Projekte werden jetzt automatisch in Visual Studio neu geladen, wenn Sie ein Unity-Skript hinzufügen oder entfernen.
  • Korrigiert: Player-Projekterstellung bei der Arbeit an einem UWP-Spiel mit IL2CPP/.NET 4.6 als Back-End.
  • Es wurde eine Option eingeführt, um den von Xamarin und Visual Studio für Mac gemeinsam genutzten Mono-Debugger zum Debuggen des Unity-Editors verwenden zu können.

Live Unit Testing

  • Builds von Live Unit Testing sind jetzt prozessextern und verbessern so die Speichernutzung in Visual Studio.

Windows-Paketerstellung

Wir haben Unterstützung im Paketerstellungsprojekt hinzugefügt, um UWP-Anwendungen und -Komponenten einzubinden, die dabei helfen, die Vorteile der neuesten Windows 10-Funktionen aus Ihren bestehenden Desktopanwendungen zu nutzen. Um eine UWP-Komponente einzubinden, können Sie Add Reference für die UWP-Anwendung (Abbildung 9) ausführen.

stepback

(Abbildung 9) Windows-Paketerstellungsprojekt mit UWP-Referenz

Sie können den Assistenten für Speicherpakete verwenden, um die Dateien zu generieren, die Sie benötigen, um Ihre Desktop-Brückenanwendung wie bei bestehenden UWP-Projekten an den Store zu senden.


Blogs

Developer Tools Blogs Profitieren Sie von den Einblicken und Empfehlungen, die auf der Website „Developer Tools Blogs“ (Blogs zu Entwicklertools) zur Verfügung stehen.

Blogs zu Entwicklertools halten Sie bei allen Releases auf dem neuesten Stand und enthalten ausführliche Beiträge zu zahlreichen Funktionen. Einblicke in die .NET-Welt erhalten Sie im DotNet-Blog. Umfangreiches Fachwissen finden Sie in den Teamblogs für die jeweiligen Programmiersprachen, darunter C#, VB, C++ und F#.


Bekannte Probleme

Visual Studio 2017 Known Issues Sehen Sie sich alle vorhandenen bekannten Probleme und verfügbaren Problemumgehungen in Visual Studio 2017 (Version 15.5) an.

Ihr Feedback ist uns sehr wichtig. Besuchen Sie die Entwicklercommunity, um nach den aktuellsten Problemen zu suchen, neue Probleme zu melden und bereits vorhandene Probleme nach oben zu voten.


Visual Studio 2017 – Verlauf der Anmerkungen zu dieser Version

Visual Studio 2017 Anmerkungen zur Vorschauversion

The Developer Community Portal Sehen Sie sich die von Kunden gemeldeten Probleme an, die in Visual Studio 2017 (Version 15.5) behoben wurden.

Visual Studio 2017 Version 15.4 – Anmerkungen zu dieser Version

The Developer Community Portal Sehen Sie sich die von Kunden gemeldeten Probleme an, die in Visual Studio 2017 (Version 15.4) behoben wurden.

Visual Studio 2017 Version 15.3 – Anmerkungen zu dieser Version

The Developer Community Portal Sehen Sie sich die von Kunden gemeldeten Probleme an, die in Visual Studio 2017 Version 15.3 behoben wurden.

Visual Studio 2017 (Version 15.2) – Versionsanmerkungen

The Developer Community Portal Sehen Sie sich die von Kunden gemeldeten Probleme an, die in Visual Studio 2017 (Version 15.2) behoben wurden.

Visual Studio 2017 (Version 15.1) – Versionsanmerkungen

The Developer Community Portal Sehen Sie sich die von Kunden gemeldeten Probleme an, die in Visual Studio 2017 (Version 15.1) behoben wurden.

Visual Studio 2017 (Version 15.0) – Versionsanmerkungen

The Developer Community Portal Sehen Sie sich die von Kunden gemeldeten Probleme an, die in Visual Studio 2017 (Version 15.0) behoben wurden.


Seitenanfang