Visual Studio IconVersionshinweise zu Visual Studio 2017 Version 15.7


Entwicklercommunity | Systemvoraussetzungen | Kompatibilität | Verteilbarer Code | Lizenzbedingungen | Blogs | Bekannte Probleme



Hinweis

Dies ist nicht die neueste Version von Visual Studio. Das neueste Release können Sie über die Visual Studio-Site herunterladen.


Supportzeitrahmen

Für diese Version wird jetzt kein Support mehr geleistet. Weitere Informationen zur Visual Studio-Unterstützung finden Sie in der Supportrichtlinie für Visual Studio 2017.

Lesen Sie die neueste Version der Versionshinweise, oder besuchen Sie die Visual Studio-Website, um die neueste Version von Visual Studio 2017 herunterzuladen.

Visual Studio-Blog

Der Visual Studio Blog ist die offizielle Quelle für Einblicke in das Produkt, verfasst vom Visual Studio Engineering-Team. In den folgenden Beiträgen finden Sie ausführliche Informationen zu den Releases von Visual Studio 15.7:

Visual Studio 2017 Version 15.7: Releases



Zusammenfassung der wichtigsten neuen Features in 15.7

Behebung der wichtigsten Probleme in 15.7

In 15.7 wurden folgende von Kunden gemeldete Probleme behoben:

Sehen Sie sich alle von Kunden gemeldeten Probleme an, die in Visual Studio 2017 (Version 15.7) behoben wurden.

The Developer Community Portal


Details zu den Neuigkeiten zu 15.7

Release Notes IconVisual Studio 2017 Version 15.7.0

Veröffentlicht am 7. Mai 2018

Neue Features in 15.7

Leistung

  • In diesem Release wurde die Ladezeit von Projektmappen für C#- und Visual Basic-Projekte um durchschnittlich 20 % verbessert.
  • Wir haben in großen .NET Core-Projekten die Zeit, die zum Laden von IntelliSense nötig ist, um 25 % verringert.
  • Das modale Dialogfeld wurde beim Wechseln von Branches in Git entfernt, wenn Projektmappen und Projekte nicht neu geladen werden müssen.

Visual Studio installieren

  • Das Dialogfeld „Update“ zeigt Ihnen mehr Details zu Ihrem Update an, z.B. Neuerungen, die Downloadgröße und die neueste Updateversion.
  • Verbesserte Speichererfahrung: Vor dem Update von Visual Studio werden alle ausstehenden Änderungen zuerst lokal gespeichert, bevor das Update gestartet wird. Das Dialogfeld „Update“ zeigt die Schaltfläche All & Update (Alles & Update) statt Jetzt aktualisieren an.
  • Wir haben den Installationsspeicherbedarf auf dem Systemlaufwerk reduziert, indem wir den Downloadcache, freigegebene Komponenten, einige SDKs und Tools auf unterschiedliche Datenträger verteilt haben (Abbildung 1).
Install Locations
(Abbildung 1) Auswahl aller Speicherorte

Sie können drei Speicherorte verwalten. Diese können Sie nur bei der ersten Installation festlegen:

  • Visual Studio-Hauptprodukt: Dieser Speicherort ist für Dateien vorgesehen, die sich auf die Visual Studio-Version beziehen, die Sie installieren.
  • Downloadcache: Installationsdateien und -manifeste werden auf diesen Speicherort heruntergeladen. Wenn Sie das Kontrollkästchen deaktivieren, weil Sie den Downloadcache nicht behalten wollen, werden die Dateien nach dem Abschluss der Installation entfernt.
  • Freigegebene Komponenten, Tools und SDKs: Dieser Speicherort ist für Dateien vorgesehen, die von parallel ausgeführten Visual Studio-Tools verwendet werden.

Hinweis

Tools und SDKs, für die andere Regeln bezüglich des Installationspeicherorts festgelegt sind, werden nicht an diesem Speicherort installiert. Die spezifischen Regeln für Tools bzw. SDKs haben Vorrang.

Hinweis

Benutzer können den Paketcache deaktivieren und den Speicherort festlegen.

Visual Studio-IDE

Das Dialogfenster (Abbildung 2), das angibt, mit welchem langen Ausführungsvorgang Visual Studio beschäftigt ist, kann auf Sprachausgaben zugreifen (z.B. NVDA, die Windows-Sprachausgabe, etc.). Wenn das Dialogfeld von Visual Studio angezeigt wird, gibt die Sprachausgabe einen Audiohinweis wieder, der darauf hindeutet, dass neue Informationen auf dem Bildschirm angezeigt werden. Benutzer können die Inhalte des Dialogfelds lesen oder auf die Schaltfläche Abbrechen klicken (sofern verfügbar), indem Sie den Befehl Ansicht ändern in der Sprachausgabe aufrufen.

Wait dialog
(Abbildung 2) Dialogfeld „Laden“ nun von der Sprachausgabe aus zugreifbar

Hinweis

Damit die Sprachausgabe vollständig unterstützt wird, müssen Sie Windows 10 Redstone 4-Builds (RS4) verwenden.

Visual C++-Verbesserungen

  • Mit diesem Release wird ein Sicherheitsrisiko für lokale Veröffentlichung von Informationen in PDB-Dateien (wie in CVE-2018-1037 beschrieben) behoben.
  • C5045 ist eine neue Compilerdiagnose, die an den Stellen Codemuster anzeigt, an denen der Compiler eine Risikominderung für Spectre eingefügt hat.
  • Die gebündelte CMake-Installation von Visual Studio wurde von Version 3.10 auf Version 3.11 upgegradet.
  • CMake-Projekte unterstützen die statische Analyse von C++-Code (z.B. VCXProj).
  • MSVC unterstützt das C++17-Feature P0426R1 („constexpr“ für „std::char_traits“), wodurch std::string_view zur Kompilierzeit besser verwendbar ist.
  • Verwenden Sie CodeLens für alle Komponententests, um den Teststatus auszuführen, zu debuggen und anzuzeigen(Abbildung 3).
Use CodeLens above each of your unit tests
(Abbildung 3) CodeLens für alle Komponententests verwenden
  • Die Visual Studio iOS-Entwicklungstools für C++ wurden so aktualisiert, dass sie jetzt mit Xcode 9 zusammenarbeiten.
  • Die Option /analyze:ruleset wurde zu „cl.exe“ hinzugefügt, um Warnungen in C++-Tools für die Codeanalyse basierend auf der ruleset-Konfiguration zu filtern. Dadurch wird die Benutzeroberfläche in eigenständigen Aufrufen des Compilers und der IDE vereinheitlicht und die Leistung verbessert, indem nur die Regeln ausgeführt werden, die in ruleset erwähnt werden.
  • Die Vorgehensweise bei der Vererbung eines Konstruktors unterscheidet sich nicht mehr von der Vererbung eines anderen Basisklassenmembers. Zuvor mussten Sie dafür einen neuen Konstruktor deklarieren, der zum ursprünglichen Konstruktor delegierte. Durch diese Änderung werden Basisklassenkonstruktoren in einer abgeleiteten Klasse angezeigt wie Konstruktoren von abgeleiteten Klassen, wodurch die Einheitlichkeit in C++ verbessert wird.
  • Vorlagen, die dafür entworfen wurden, dass sie jeden beliebigen Nicht-Typparameter aufnehmen können, können jetzt das auto-Schlüsselwort in der Vorlagenparameterliste verwenden. Dadurch können Instanziierungen einen beliebigen Typ verwenden und müssen nicht den Typ des Vorlagenparameters zum Zeitpunkt der Instanziierung angeben.
  • std::launder wird jetzt unterstützt.
  • Die Zweiphasennamenssuche wird nahezu immer ohne Probleme ausgeführt. Einige Grenzfälle wie unabhängige Funktionsaufrufe von überladenen Operatoren sollen in einem späteren Update beseitigt werden.
  • Das MSVC-Compilertoolset entspricht dem C++ 17-Standard. Bei der Kompilierung mit dem /Zc:__cplusplus-Parameter spiegelt das __cplusplus-Makro die richtigen Standard-Versionsnummern wider.
  • Die Visual C++-Runtime unterstützt Minderungen für Sicherheitsrisiken bei Spectre Variant 1. Das Toolset umfasst sowohl DLL-Versionen mit gemindertem Sicherheitsrisiko als auch Versionen, in denen das Sicherheitsrisiko weiterhin in vollem Umfang besteht. Wenn das Feature zur Risikominderung für Spectre auf der Eigenschaftenseite „Codegenerierung“ aktiviert wird, wird eine Verbindung mit der DLL-Version mit gemindertem Sicherheitsrisiko hergestellt. Weitere Informationen zur Risikominderung bei Spectre finden Sie im Visual C++-Teamblog.
  • Die Compilerunterstützung für Risikominderungen für Spectre wurde für nicht optimierte Builds (/Od) aktiviert.
  • Der /Zf-Parameter ist jetzt standardmäßig aktiviert, wodurch die PDB-Generierung unter Verwendung von mehreren Kompilierungsprozessen schneller ausgeführt werden kann.
  • Die Codegenerierung für /await wurde deutlich verbessert. Coroutinen wurden wieder in den Codegenerator implementiert, um die Zuverlässigkeit zu verbessern und einen Großteil der Fehler zu beheben.
  • Die CMake-Zielansicht stellt eine alternative Möglichkeit zum Anzeigen der Quelle eines CMake-Projekts im Projektmappen-Explorer zur Verfügung. Diese Ansicht basiert nicht auf einer Ordnerstruktur, sondern sie unterteilt den Code in einzelne CMake-Ziele (Abbildung 4). Diese Struktur ähnelt der Struktur der Projekt- und Projektmappendateien, die im CMake-Generator für Visual Studio erstellt wurden.
CMake Targets View
(Abbildung 4) CMake-Zielansicht
  • Quelldateien (.cpp), die zu CMake-Projekten gehören, können einzeln über das CMake-Menü oder über einen Rechtsklick auf die Quelldatei im Projektmappen-Explorer erstellt werden.
  • Unbekannte Makros, die Tagparserfehler verursachen, werden jetzt mit grünen Wellenlinien unterstrichen. Eine schnelle Aktion ist jetzt verfügbar, damit das Makro automatisch zu einer C++-Hinweisdatei hinzugefügt werden kann, um das Problem zu beheben. Sämtliche Tagparsefehler in der Projektmappe oder im Ordner werden aufgelistet, wenn Sie im Projektmenü auf Tagparserfehler anzeigen klicken.
  • Sie können jetzt mithilfe von schnellen Aktionen im Ordner „Öffnen“ Header zum CppProperties.json-Suchpfad hinzufügen.
  • Header aus Linux-Systemen oder Unix-ähnlichen Systemen werden jetzt unter Windows automatisch zur Verwendung mit IntelliSense heruntergeladen. Sie werden außerdem verwendet, um die Benutzeroberfläche von IntelliSense für die native Plattformentwicklung unter Linux zu verbessern.
  • Es wurden fünf neue Regeln zum Erzwingen von Elementen aus den C++ Core Guidelines zur Verwendung der Guidelines-Unterstützungsbibliothek hinzugefügt.
  • Öffentliche Basisklassen in Aggregattypen sind jetzt zulässig, sodass sie unter Verwendung der Aggregatinitialisierungssyntax initialisiert werden können, ohne dass Textbausteinkonstruktoren geschrieben werden müssen. In der Initialisiererliste, die in Klammern steht, werden zuerst Basen und anschließend Datenelemente initialisiert.
  • Die Vorlagenargumentableitung für Funktionen für Vorlagenklassen von Konstruktoren wurde erweitert. Wenn Sie eine Klassenvorlage erstellen, müssen Sie die Argumente nicht mehr angeben.
  • Für C++17 wurde die Definition von Qualifikationskonvertierungen geändert. In der Vergangenheit waren Konvertierungen von mehrstufigen Zeigern auf gemischte Zeiger zulässig, sodass Qualifizierer häufig auf anderen Ebenen als der obersten Ebene hinzugefügt werden konnten. Dies galt jedoch nicht im gleichen Umfang für Arrays.
  • Die Reihenfolge der Ausdrucksauswertung für wichtige C++-Operatoren, die zuvor den Compilerimplementierungsdetails (z.B. dem Memberzugriff, Zuweisungen und dem Arrayindex) zugewiesen wurden, wurde optimiert.
  • Die using-Deklaration wurde erweitert, um die Semantik für Paketerweiterungen für variadic-Basisklassenmember zu unterstützen, die innerhalb der abgeleiteten Klassen verwendet werden können.
  • Die Implementierung des Ausdrucks SFINAE wurde vollständig abgeschlossen und die entsprechenden Änderungen an der Standardvorlagenbibliothek wurden vorgenommen.
  • Parallele Algorithmen, die dem ISO C++17-Standard entsprechen, wurden implementiert. Weitere Informationen finden Sie in den Quelldateien, die unter [VSInstallDir]\VC\Tools\MSVC\<ver>\include\yvals.h gespeichert sind.
  • Im Modus /std:c++17 wird die Warnstufe von C4834 ("discarding return value of function with 'nodiscard' attribute" (Verwerfen des Rückgabewerts der Funktion mit dem Attribut 'nodiscard')) von W3 auf W1 erhöht. Außerdem kann der Compiler jetzt den Typ eines Vorlagenarguments eines Nicht-Typs ableiten, das mit auto deklariert ist.
  • Das Debuggen von großen Projektmappen mit /Debug:fastlink-PDBs ist nun stabiler. Änderungen an PDBs führen zu verminderter Latenz und einer reduzierten Nutzung des Heapspeichers im VS-Debugger von 30 %.
  • C++ Core Check ist jetzt in das Standardtoolset für die native Codeanalyse integriert. Jedes Mal, wenn eine Codeanalyse für ein Projekt ausgeführt wird, wird neben den empfohlenen Standardregeln eine Teilmenge von Regeln über C++ Core Check aktiviert.
  • Die Unterstützung der parallelen Kompilierung wurde für Linux-Projekte hinzugefügt, wodurch Builds schneller erstellt werden können. Sie können diese Unterstützung aktivieren, indem Sie zu Eigenschaftenseiten > C/C++ > Maximale Anzahl von Aufträgen für die parallele Kompilierung navigieren.
  • Die Linux-Projekteigenschaft „Öffentliche Includeverzeichnisse für Projekt“ wurde hinzugefügt, um die Nutzung von Includes für Projektverweise in Linux-Projektmappen zu verbessern.
  • Die ClangFormat-Unterstützung für C++-Entwickler in der IDE wurde hinzugefügt. Ähnlich wie EditorConfig können Sie ClangFormat verwenden, um Ihren Code bei der Eingabe automatisch zu formatieren und zu bereinigen. Dieses Feature kann für das gesamte Entwicklerteam erzwungen werden.

C#-Compiler

Neben Fehlerkorrekturen umfasst dieses Release auch die folgenden Features für C# 7.3:

Python

  • Sie können MyPy für ein Projekt ausführen, indem Sie erst mit der rechten Maustaste auf das Projekt und dann mit der linken auf Python > MyPy klicken. MyPy überprüft Ihren Code auf Typhinweise, und sämtliche ermittelte Typfehler werden in der Fehlerliste angezeigt.
  • Sie können Conda-Umgebungen erstellen und verwenden sowie Pakete für Ihre Conda-Umgebungen unter Verwendung von Programminitialisierungsparametern oder Conda verwalten.
  • Anaconda Version 5.1.0 ist jetzt über den Visual Studio-Installer verfügbar und wird standardmäßig installiert, wenn die Data Science-Workload ausgewählt ist.
  • Außerdem wurde eine Option für Version 4.0 von ptvsd des Python-Debuggers basierend auf dem beliebten pydevd-Debugger (Open-Source) hinzugefügt. Mit dieser erreichen Sie eine schnellere Debugleistung für Anwendungen, und sie kann aktiviert werden, indem Sie das Kontrollkästchen Use experimental debugger (Experimentellen Debugger verwenden) unter Extras > Optionen > Python > Experimentell aktivieren.
  • Weitere Informationen zur Verwendung des Debuggers, von Conda, MyPy sowie Typhinweisen finden Sie im Blogbeitrag „Python in Visual Studio 15.7“.

Visual Studio-Tools für Xamarin

Dieses Release umfasst Xamarin.Android 8.3 und Xamarin.iOS 11.10.

Automatisch Verwaltung des Android SDK

Wenn ein Xamarin.Android-Projekt geladen wird, kann Visual Studio ermitteln, ob die API-Ebene für Android, die von dem Projekt verwendet wird, auf Ihrem Computer fehlt, und diese ggf. automatisch im Hintergrund installieren. Wenn Sie dieses Feature aktivieren möchten, navigieren Sie zu Extras > Optionen > Xamarin > Android-Einstellungen > Android SDKs automatisch installieren.

Verbesserung von XAML IntelliSense

Xamarin.Forms-Entwickler, die Visual Studio 2017 Version 15.7 verwenden, werden feststellen, dass die Benutzeroberfläche von IntelliSense deutlich verbessert wurde (Abbildung 5). Die Benutzeroberfläche für die XAML-Bearbeitung in Xamarin.Forms wird jetzt von derselben IntelliSense-Engine unterstützt, die auch WPF und UWP unterstützt. Dadurch werden Entwicklern z.B. im Hinblick auf Zuordnungen, mit einer Glühbirne gekennzeichnete Vorschläge, Codenavigation, Linting, Ressourcenvervollständigung und Vervollständigung der Markuperweiterung viele Verbesserungen geboten.

Xamarin.Forms XAML editing experience
(Abbildung 5) Benutzeroberfläche der XAML-Bearbeitung in Xamarin.Forms
Verbesserungen der Tools für bedingte XAML

Der XAML-Editor stellt IntelliSense für die Erstellung bedingter XAML bereit. Wenn Sie einen Typ verwenden, der nicht in der mindestens erforderlichen Zielversion Ihrer App vorhanden ist, gibt der XAML-Editor jetzt nicht nur eine Warnung aus, sondern stellt auch einige Features bereit, mit denen Sie das Problem beheben können.

Automatische iOS-Bereitstellung

Die iOS-Gerätebereitstellung für die Entwicklung wurde vereinfacht (Abbildung 6). In Visual Studio 2017 Version 15.7 wurden folgende Optionen verbessert, die alle über nur einen Klick auf eine Schaltfläche ausgeführt werden können: Anfordern eines Entwicklungszertifikats, Generieren eines Signaturschlüssels, Hinzufügen eines Geräts zum Developer Center und Erstellen eines Bereitstellungsprofils. Die schwierigsten Bestandteile der Bereitstellung eines iOS-Geräts werden alle innerhalb von 30 Sekunden ausgeführt.

iOS & Android Project Templates Image
(Abbildung 6) Die Bereitstellung von iOS-Apps wurde durch das automatische iOS-Bereitstellungsfeature verbessert.
Verwaltung des Android SDK

Es ist nicht einfach herauszufinden, welche Android SDKs für die mobile Entwicklung installiert werden müssen. Mit Visual Studio 2017 Version 15.7 wird ein neuer Android SDK-Manager hinzugefügt, durch den die Verwaltung von Android SDK-Installationen eindeutiger wird. Nachdem Sie ein Projekt geöffnet haben, für das Sie keine SDKs für die Erstellung installiert haben, wird eine Nachricht angezeigt, die Ihnen beim Herunterladen der erforderlichen SDKs helfen soll. Nachdem Sie auf Download & Install (Herunterladen und installieren) geklickt und die entsprechenden Lizenzvereinbarungen akzeptiert haben, werden die richtigen SDKs automatisch im Hintergrund für Sie installiert.

Neue Projektvorlagen für iOS und Android

Unabhängig davon, ob Sie ein Einsteiger oder Experte in der Xamarin-Entwicklung sind, sind Projektvorlagen ein wichtiger Bestandteil der App-Entwicklung. Sie sollten leicht zu finden sein und von Anfang an einen mühelosen Arbeitsprozess gewährleisten (Abbildung 7). In diesem Release wurden die nativen Projektvorlagen für iOS und Android vollständig überarbeitet, um bessere Auffindbarkeit und Unterstützung für moderne Navigationsmuster wie Flyouts oder untere Registerkarten bereitzustellen.

iOS & Android Project Templates
(Abbildung 7) Einfaches Finden und Festlegen Ihrer iOS- und Android-Projektvorlagen
Verbesserungen bei der Installation

Der Visual Studio-Installer enthält eine aktualisierte Android SDK-Konfiguration im Lieferumfang, einschließlich Android-API 27 und Android SDK Tools 26. Dies schließt die Unterstützung für Quick Boot ein, mit der Ihr Android-Emulator in weniger als fünf Sekunden starten kann.

Darüber hinaus wird der Android Device Manager als Teil der Mobile-Entwicklung mit .NET-Workload bereitgestellt, um Emulatoren einfach zu erstellen, zu bearbeiten und zu löschen.

.NET-Produktivitätsverbesserungen

  • Verwenden Sie Schnellaktionen und Refactorings (STRG+.) für Folgendes:
    • Konvertieren von for in foreach und umgekehrt
    • Erstellen von privaten readonly-Feldern
  • Gehe zu Definition (F12) wird jetzt für LINQ-Abfrageklauseln und -Dekonstruktionen unterstützt.
  • Verwenden Sie STRG+. zum Umschalten zwischen var und dem expliziten Typ, unabhängig von Ihren Codeformateinstellungen.
  • QuickInfo zeigt Erfassungen auf Lambdas und lokalen Funktionen an, damit Sie sehen, welche Variablen sich im Gültigkeitsbereich befinden.
  • Signatur ändern Refactoring (STRG+. auf Signatur) funktioniert für lokale Funktionen.
  • Sie können .NET Core-Projektdateien direkt bearbeiten, also werden das Öffnen des enthaltenden Ordners, das Wiederherstellen von Registerkarten und andere Features des Editors vollständig unterstützt. IDE-Änderungen, z.B. das Hinzufügen einer verknüpften Datei, werden mit ungespeicherten Änderungen im Editor zusammengeführt.

Testen

  • Live Unit Testing funktioniert mit eingebetteten PDB-Dateien und PDB-Dateien, mit denen „/deterministic“ angegeben wird.
  • Live Unit Testing-Unterstützung für Projekte, die Verweisassemblys verwenden, wurde hinzugefügt.
  • Der Test-Explorer verfügt während Testläufen über reaktionsfähigere Symbole. Wenn ein Testlauf ausgeführt wird, wird ein Statuskreis neben den derzeit ausgeführten Tests angezeigt, und ein Uhrsymbol wird bei Tests angezeigt, deren Ausführung aussteht.

Webtools

  • Die Projektvorlagen für ASP.NET-Webanwendungen wurden auf neuere Versionen der abhängigen Pakete aktualisiert.
  • Sie können Ihre Anwendungen ohne Container nun in Azure App Service unter Linux veröffentlichen.
  • Ein Link zum Öffnen von Azure App Service im Cloud-Explorer über die Seite „Zusammenfassung der Veröffentlichung“ wurde hinzugefügt.
  • Sie verfügen über Unterstützung für unabhängige Anwendungen und Anwendungen, die von .NET Core Framework abhängig sind.
  • Unterstützung für die Veröffentlichung von F#-Anwendungen in App Service und Ordnern wurde hinzugefügt.
  • Unterstützung für das direkte Hosten von ASP.NET Core-Anwendungen im IIS Express-Prozess wurde hinzugefügt.
  • Sie können ein Speicherkonto erstellen und den Namen einer Verbindungszeichenfolge angeben, der bei der Veröffentlichung in einem neuen Azure App Service in den App Service-Einstellungen gespeichert werden soll.
  • Die Unterstützung von Kestrel HTTPs während des Debuggens wurde verbessert.
  • ASP.NET Core-Anwendungen unterstützen mehrere durch Semikolons getrennte Werte im Feld „App-URL“ in den Projekteigenschaften. Wenn mehrere URLs in diesem Feld vorhanden sind, wird die erste zum Starten des Browsers verwendet.
  • Ein neuer Gerüstbauer namens „Identity“ ist über die Befehlszeile verfügbar (GUI-Unterstützung ist bald verfügbar), der eine Benutzeroberfläche für die Identitätsverwaltung für Ihre ASP.NET Core 2.1-Anwendungen hinzufügt.
  • ASP.NET- und ASP.NET Core-Projekte können Azure-Schlüsseltresore erstellen und mit ihren Webanwendungen in der IDE verknüpfen, indem der verbundene Dienst „Key Vault“ konfiguriert wird.
  • Wenn eine ASP.NET- oder ASP.NET Core-Anwendung von Azure Key Vault abhängig ist, wird ein Fehler in der Fehlerliste angezeigt, wenn die App zur Laufzeit nicht über den Entwicklercomputer mit dem unter Extras > Optionen > Azure-Dienstauthentifizierung angegebenen Konto auf diesen zugreifen kann. Dies verkürzt den Zeitaufwand zum Ermitteln und Beheben des Berechtigungs- oder Kontoproblems und vermeidet Anwendungsfehler zur Laufzeit.
  • Eine Warnung wird nun in der Fehlerliste angezeigt, wenn Ihre Webanwendung einen Schlüsseltresor nutzt, auf den Ihr ausgewähltes ASAL-Benutzerkonto keinen Zugriff hat.

Visual Studio Build Tools 2017

Unterstützung für Azure, UWP und andere Workloads

Visual Studio Build Tools 2017 unterstützt die Erstellung über die Befehlszeile für die meisten Visual Studio-Projekte. Folgende Projekte werden unterstützt: ASP.NET, Azure, C++-Desktop, ClickOnce, Container, .NET Core, .NET-Desktop, Node.js, Office und SharePoint, Python, TypeScript, Komponententests, UWP, WCF und Xamarin. Unterstützung für SQL wird voraussichtlich in einem zukünftigen Release hinzugefügt. Visual Studio Build Tools unterstützen jetzt auch die Installation in einem Container. Sie können Visual Studio Build Tools von der Visual Studio-Downloadseite herunterladen. Im Visual Studio Build Tools 2017-Komponentenverzeichnis finden Sie eine Liste der Workload- und Komponenten-IDs, mit denen Sie Ihr Containerimage anpassen können.

Hinweis

Für Visual Studio Build Tools benötigen Sie eine Lizenz für Visual Studio 2017.

UWP-Unterstützung in Visual Studio Build Tools 2017

Mit Visual Studio Build Tools können Sie Buildserver erstellen, ohne alle Komponenten von Visual Studio zu installieren. Als Reaktion auf Kundenwünsche haben wir Visual Studio Build Tools erweitert, um zusätzliche Projekttypen zu unterstützen. Diese Projekttypen enthalten UWP-Tools, und die Liste der unterstützten Projektliste sieht wie folgt aus: ASP.NET, Azure, C++-Desktop, ClickOnce, Container, .NET Core, .NET-Desktop, Node.js, Office und SharePoint, Python, TypeScript, Komponententests, UWP, WCF und Xamarin. Unterstützung für SQL wird voraussichtlich in einem zukünftigen Release hinzugefügt.

Tools für Entwickler der universellen Windows-Plattform

  • Das Tool für die Verwaltung des visuellen Zustands und der Animation steht mit den neuesten Upddates für den XAML-Designer in Blend zur Verfügung. Alle UWP-Entwickler verfügen über Zugriff auf diese Tools. Außerdem unterstützt „Bearbeiten und Fortfahren“ von XAML das Bearbeiten von visuellen Zuständen und Animationen.
  • Die Unterstützung der automatischen Codegenerierung von Windows Machine Learning ermöglicht die Generierung von WinML-Wrapperklassen durch Hinzufügen Ihrer ONNX-Modelldateien als vorhandenes Element in das Projekt.
  • Das Windows 10 Update SDK (Build 17134, April 2018) ist das Standard-SDK für die Entwicklungsworkload für die Universelle Windows-Plattform in Visual Studio.
  • Mithilfe von C# und der neuen Projektvorlage „Optionales Codepaket“ können Sie verknüpfte Sätze mit Codeausführung in optionalen Paketen erstellen.
  • Mit der neuen Elementvorlage „Paketlayout“ können Sie Bündel mit flachen Paketen problemlos erstellen.

Unterstützung von AppInstaller in APPX-Paketen

Die Universelle Windows-Plattform ermöglicht die Verteilung von Anwendungen ohne Microsoft Store mithilfe des sogenannten „Querladens“. Dieses Release ermöglicht Ihnen das Erstellen der AppInstaller-Datei, um automatische Updates Ihrer APPX-basierten Bereitstellungen zu erhalten. Weitere Informationen zu den zugrunde liegenden Technologien finden Sie hier.

NuGet

  • Dieses Release bietet standardmäßig Unterstützung für das Migrieren vorhandener auf packages.config basierender Projekte zu PackageReference.

  • Die Unterstützung für NuGet-Paketsignaturen wurde hinzugefügt. Beim Installieren oder Wiederherstellen signierter Pakete wird die digitale Signatur vor dem Extrahieren des Paketinhalts überprüft. Wenn die Überprüfung der Signatur fehlschlägt (z.B. wenn der Inhalt manipuliert wurde, das Zertifikat ungültig ist usw.), wird der Vorgang mit einem Buildfehler blockiert, der in der Fehlerliste angezeigt wird.

TypeScript und JavaScript

TypeScript 2.8 RC ist nun in Version 15.7 von Visual Studio 2017 enthalten.
Dieses Release enthält die folgenden Verbesserungen:

  • Unterstützung für jsconfig.json, eine Datei die ähnlich wie tsconfig.json bei der Steuerung Ihrer Editor-Optionen helfen kann.
  • Eine Option zum Reduzieren der Ressourcenauslastung durch Deaktivieren der Typprüfung von ungeöffneten Dateien.
    • Diese Option, Nur Diagnosedaten für Dateien melden, die im Editor geöffnet sind, ist unter Extras > Optionen > Text-Editor > JavaScript/TypeScript > Projekt verfügbar.
  • Neue Bearbeitungsfeatures für TypeScript- und JavaScript-Benutzer:
    • Anwenden aller Schnellkorrekturen in einer Datei
    • Organisieren von Importen
    • Vervollständigungen für this. in Klassen und Klammern in JSX
  • Neue TypeScript 2.8-Features:
    • Bedingte Typen (A extends B ? C : D)
    • Neue bedingte lib.d.ts-Typen, z.B. NonNullable, ReturnType, Extract und Exclude
    • Präzise Steuerung von Modifizierern in zugeordneten Typen
    • Steuerung von JSX-Factorys in Dateien mit dem neuen Pragma // @jsx

Weitere Informationen über TypeScript 2.8 finden Sie im TypeScript 2.8 RC-Blog.

  • Neue TypeScript 2.7-Features:
    • strictPropertyInitialization
    • Numerische Trennzeichen
    • Intelligentere Typenwächter

Weitere Informationen über TypeScript 2.7 finden Sie im TypeScript 2.7-Blog.

Außerdem wurden einige der wichtigsten von Benutzern gemeldeten Probleme behoben, einschließlich der vorzeitigen Auslösung von Ausschnitten, nicht abbrechbaren Refactorings, umständlich zu deaktivierenden Formatierungen und falscher TypeScript-Versionsauswahl.

Hinweis

Diese Verbesserungen werden von TypeScript 2.8 unterstützt. Für optimale Ergebnisse wird empfohlen, dass Sie Ihre vorhandenen Projekte auf die neueste Version von TypeScript aktualisieren.

Debuggen von JavaScript mit Microsoft Edge

Visual Studio ASP.NET- und .NET Core-Entwickler für Windows Insider-Builds können Haltepunkte festlegen und ihre JavaScript-Dateien in Microsoft Edge debuggen. Visual Studio verwendet für Microsoft Edge das vom Microsoft Edge-Team neu entwickelte Edge DevTools-Protokoll. Entwickler können JavaScript-Probleme in Visual Studio sowohl in Microsoft Edge als auch im Google Chrome debuggen und beheben. Wir freuen uns, dieses häufig von Benutzern angefragte Feature bereitzustellen. Teilen Sie uns Ihr Feedback zu den Features mit, um zur Verbesserung von Visual Studio beizutragen.

Debuggen und Diagnose

Mit diesem Release wird die Unterstützung für die Authentifizierung von VSTS und GitHub für Quelllinks hinzugefügt. Die Authentifizierung wird automatisch zu Anforderungen für Quelllinks hinzugefügt, wenn diese über die IDE verfügbar ist. Wenn der Benutzer noch nicht authentifiziert ist, wird die Anmeldeoberfläche angezeigt, um die Authentifizierung zu aktivieren.

Das IntelliTrace-Debugfeature Schritt zurück wird für das Debuggen von .NET Core-Projekten unterstützt.

  • Wechseln Sie zu Extras > Optionen > IntelliTrace-Einstellungen, und wählen Sie die Option IntelliTrace-Ereignisse und -Momentaufnahmen aus, um dieses Feature zu aktivieren.
  • Das IntelliTrace-Debugfeature Schritt zurück unterstützt das Erstellen von Momentaufnahmen bei Ausnahmen. Wechseln Sie zu Extras > Optionen > IntelliTrace-Einstellungen, und wählen Sie die Option IntelliTrace-Ereignisse und -Momentaufnahmen aus (Abbildung 8), um dieses Feature zu aktivieren.
Snapshot on exception
(Abbildung 8) Momentaufnahme einer Ausnahme

Starten und Anfügen des Skriptdebuggers an Google Chrome für ASP.NET-Projekte

Sie können JavaScript und TypeScript direkt in Visual Studio debuggen, wenn Sie Google Chrome als Browser verwenden. Sie müssen dazu nur Chrome als Browser in Visual Studio auswählen und F5 drücken, um das Debuggen zu starten. Weitere Informationen finden Sie unter Client-side debugging of ASP.NET projects in Google Chrome (Clientseitiges Debuggen von ASP.NET-Projekten in Google Chrome).

Team Explorer

Unter Git-Einstellungen > Globale Einstellungen im Team Explorer gibt es eine Option, um zwischen OpenSSL und Secure Channel auszuwählen. Die Standardeinstellung ist OpenSSL.

Service Fabric-Tools für das Service Fabric 6.2-Release

Die Service Fabric-Tools für das Service Fabric 6.2-Release stellen Kompatibilitätsunterstützung für die 6.2-Runtime und das SDK 3.1 bereit. Zusammen mit einigen Fehlerkorrekturen ermöglicht ein neues Feature das Hinzufügen von Containerunterstützung zu vorhandenen ASP.NET- oder Konsolenprojekten. .NET Framework- und .NET Core 2.0-Projekte werden über ein neues Kontextmenü und Dialogfeld „Add Orchestration Support“ (Orchestrierungsunterstützung hinzufügen) unterstützt. Sobald diesen Projekten die Service Fabric-Orchestrierungsunterstützung hinzugefügt wurde, können sie remote auf dem lokalen Service Fabric-Cluster bereitgestellt und gedebugged werden.

Verbesserungen an Entity Framework Tools

Verbesserungen von F# und F#-Tools

Wir haben viele Verbesserungen an F# und den zugehörigen Tools vorgenommen. Bei diesem Release lag der Schwerpunkt auf der Leistung und dem Bereinigen von .NET SDK-Projekten. Wie auch sonst gab es hierzu wichtige Beiträge aus der F#-Community.

Verbesserungen am F#-Compiler und der Core-Bibliothek
  • Das Generieren von F#-Assemblyinformationen aus Eigenschaften mit dem F#-Compiler im .NET SDK wurde aktiviert.
  • --debug:full wird für den .NET Core-Compiler für F# unter Windows unterstützt.
  • MakeTuple wird für Strukturtupels unterstützt.
  • Eine unnötige Warnung beim Verwenden einer Erweiterungsmethode für ein Tupel wurde behoben.
  • MailboxProcessor.PostAndAsyncReply verarbeitet das Abbrechen eines übergeordneten Prozesses nun ordnungsgemäß.
  • Die Gleichheit von float32-Typen ist nun gegeben, wenn NonStructuralComparison verwendet wird.
  • Warnungen beim Suchen nach Methodenüberladungen werden nun weitergeleitet. (von Mathias Dittrich)
  • Eine Verbesserung an einer Warnung beim Musterabgleich einer Enumeration wurde vorgenommen, damit diese ein Beispiel einer nicht übereinstimmenden Enumeration ausgibt. (John Wostenberg)
F#-Toolverbesserungen
  • Erhebliche Reduzierung der Arbeitsspeicherauslastung im F#-Compilerdienst. (Avi Avni und Microsoft)
  • Erhebliche Verbesserung der Leistung des nicht verwendeten offenen Analyzers, wenn dieser aktiviert wird.
  • Die Reaktionsfähigkeit, wenn F#-Analyzer und -Codefehlerbehebungen aktiviert sind, wurde verbessert. Die Fehlerdiagnose wird nun stets priorisiert.
  • ASP.NET Core-Vorlagen wurden für F# hinzugefügt.
  • Die ursprüngliche Reihenfolge für eingefügte Dateien in den Ordnern von .NET SDK-Projekten befindet sich nun ordnungsgemäß am oberen Rand des Bereichs, in den die Datei eingefügt wurde.
  • F#-Skripts ohne Projektdatei senden Code ordnungsgemäß an F# Interactive, wenn ALT+EINGABETASTE gedrückt wird.
  • Die Debuggeransicht für F#-Listen wurde von 50 auf 5000 Elemente erweitert.
  • Klassische F#-Projekte (nur für .NET Framework) führen ebenfalls Builds zur Entwurfszeit durch. Dadurch wird die Ladezeit von Projektmappen verringert.
  • Die Ansicht für strukturierte Führungslinien und eine strukturierte Gliederung kann nun unter Einstellungen > Text-Editor > F# > Erweitert aktiviert oder deaktiviert werden.
  • Attribute auf Assemblyebene werden nun vom F#-Compilerdienst zurückgegeben.
  • Entity.DeclaringEntity wurde zum F#-Compilerdienst hinzugefügt.
  • Die Optimierung ist über die API des F#-Compilerdiensts verfügbar. (Steffen Forkmann und ncave)
  • GetDeclarationLocation erfordert keine Datei mehr, um Ergebnisse für ansonsten korrekte Daten bereitzustellen. (amieres)
  • IsNameGenerated ist nun in der API für F#-Symbole verfügbar. (Eugene Auduchinok)
Verbesserungen der F#-Infrastruktur
  • autoconf ist im Mono-Build nicht mehr erforderlich.
  • Alle Integrationsprojekte für Visual Studio verwenden nun das .NET SDK.
  • Der Commithash für einen Build der Tools ist unter Hilfe > Informationen zu Visual Studio verfügbar.

Das vollständige Commitprotokoll für die Neuerungen in diesem Release finden Sie unter dem Releasetag für 15.7.


---

Release Notes Icon Notizen zu Sicherheitsempfehlungen für Visual Studio 2017, Version 15.7

Hinweise zur Sicherheitsempfehlung für Visual Studio 2017 Version 15.7.6:Veröffentlicht am 2. August 2018

CVE-2018-8356: Sicherheitsrisiko durch Umgehung des .NET Core-Sicherheitsfeatures

Microsoft erkennt ein Sicherheitsrisiko durch Umgehung des Sicherheitsfeatures, das auftritt, wenn .NET Core Zertifikate nicht ordnungsgemäß überprüft. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, kann ggf. ein abgelaufenes Zertifikat darstellen. Durch dieses Update wird die Sicherheitslücke geschlossen. Es wird korrigiert, wie .NET Core die Zertifikatüberprüfung behandelt.

Hinweise zur Sicherheitsempfehlung für Visual Studio 2017 Version 15.7.5:Veröffentlicht am 10. Juli 2018

CVE-2018-8172: Sicherheitsrisiko durch Remotecodeausführung in Visual Studio

Ein Sicherheitsrisiko bei der Remotecodeausführung kann zu Missbrauch des Computers eines Benutzers führen, indem ein speziell entwickeltes Projekt oder eine Ressourcendatei geöffnet wird. Das Sicherheitsupdate befasst sich mit diesem Sicherheitsrisiko, indem korrigiert wird, wie Visual Studio das Quellmarkup einer Datei überprüft.

CVE-2018-8260: Sicherheitsrisiko durch Remotecodeausführung in .NET Framework

Ein Sicherheitsrisiko bei einer Remotecodeausführung in der .NET-Software kann zu Missbrauch eines Computers eines Benutzers führen, da Angreifer willkürlich Code im Kontext des aktuellen Benutzers ausführen können. Das Sicherheitsupdate befasst sich mit diesem Sicherheitsrisiko, indem korrigiert wird, wie .NET das Quellmarkup einer Datei überprüft.

CVE-2018-8232: Sicherheitsrisiko durch Manipulation des Microsoft Macro Assemblers für .NET

Manipulation von Sicherheitsrisiken, die in Zusammenhang mit dem nicht ordnungsgemäßen Überprüfen von Code durch Microsoft Macro Assembler stehen. Das Sicherheitsupdate beseitigt dieses Sicherheitsrisiko, indem sichergestellt wird, dass Microsoft Macro Assembler die Codelogik ordnungsgemäß überprüft.

CVE-2018-8171: Sicherheitsrisiko durch Umgehung des ASP.NET Core-Sicherheitsfeatures

Die Manipulation durch Umgehung des ASP.NET Core-Sicherheitsfeatures tritt auf, wenn die Anzahl der falschen Anmeldeversuche nicht überprüft wird. Dies kann dazu führen, dass ein Angreifer unendlich viele Authentifizierungsversuche durchführen kann. Das Update beseitigt das Sicherheitsrisiko, indem die Anzahl der falschen Anmeldeversuche überprüft wird.

Hinweise zur Sicherheitsempfehlung für Visual Studio 2017 Version 15.7.4:Veröffentlicht am 18. Juni 2018

CVE-2018-11235: Microsoft-Sicherheitsempfehlung für Git-Sicherheitsrisiko

Auch ein von der Git-Gemeinschaft offengelegtes Sicherheitsrisiko in Git wurde behoben. Die Sicherheitslücke kann zur Ausführung beliebigen Codes führen, wenn ein Benutzer ein bösartiges Repository klont.

Hinweise zur Sicherheitsempfehlung für Visual Studio 2017 Version 15.7.1:Veröffentlicht am 8. Mai 2018

CVE-2018-0765: Microsoft-Sicherheitsempfehlung für Denial-of-Service-Sicherheitsrisiko für .NET Core

Microsoft veröffentlicht diese Sicherheitsempfehlung, um Informationen über ein Sicherheitsrisiko in .NET Core und der nativen .NET-Version 2.0 bereitzustellen. Dieser Ratgeber enthält ebenso Anweisungen dazu, wie Entwickler ihre Anwendungen aktualisieren können, um dieses Sicherheitsrisiko zu entfernen. Microsoft ist sich eines Denial-of-Service-Sicherheitsrisikos bewusst, dass vorhanden ist, wenn .NET Framework und .NET Core XML-Dokumente nicht ordnungsgemäß verarbeiten. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, kann ein Denial-of-Service einer .NET Framework-, .NET Core- oder nativen .NET-Anwendung verursachen. Durch dieses Update wird die Sicherheitslücke geschlossen. Es wird korrigiert, wie .NET Framework-, .NET Core- und native .NET-Anwendungen die XML-Dokumentverarbeitung behandeln. Wenn es sich bei Ihrer Anwendung um eine ASP.NET Core-Anwendung handelt, wird Entwicklern geraten, ein Update auf ASP.NET Core 2.0.8 durchzuführen.


Release Notes IconVisual Studio 2017, Version 15.7.1

Veröffentlicht am 8. Mai 2018

Behebung der wichtigsten Probleme in 15.7.1

In 15.7.1 wurden folgende von Kunden gemeldete Probleme behoben:

  • Dieses Release enthält eine Korrektur, durch die der Speicherverbrauch und der GC-Druck während des Ladevorgangs der Projektmappe reduziert wird.

Release Notes IconVisual Studio 2017 Version 15.7.2

veröffentlicht am 21. Mai 2018

Behebung der wichtigsten Probleme in Version 15.7.2

In Version 15.7.2 wurden folgende von Kunden gemeldete Probleme behoben:


Release Notes IconVisual Studio 2017 Version 15.7.3

veröffentlicht am 31. Mai 2018

Behebung der wichtigsten Probleme in Version 15.7.3

In Version 15.7.3 wurden folgende von Kunden gemeldete Probleme behoben:


Release Notes IconVisual Studio 2017 Version 15.7.4

veröffentlicht am 18. Juni 2018

Behebung der wichtigsten Probleme in Version 15.7.4

In Version 15.7.4 wurden folgende von Kunden gemeldete Probleme behoben:


Release Notes IconVisual Studio 2017 Version 15.7.5

Veröffentlicht am 10. Juli 2018

Behebung der wichtigsten Probleme in Version 15.7.5

In Version 15.7.5 wurden folgende von Kunden gemeldete Probleme behoben:


Release Notes IconVisual Studio 2017 Version 15.7.6

Veröffentlicht am 2. August 2018

Zusammenfassung der Updates in Version 15.7.6

Dieses Release enthält die folgenden Verbesserungen und Erweiterungen:

  • Mit diesem Release wird das Java™ Development Kit 8, Update 181 (JDK Version 8u181) installiert.

Behebung der wichtigsten Probleme in Version 15.7.6

In Version 15.7.6 wurden folgende von Kunden gemeldete Probleme behoben:


Bekannte Probleme

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. Sehen Sie sich alle vorhandenen bekannten Probleme und verfügbaren Problemumgehungen in Visual Studio 2017 Version 15.7 an.

Visual Studio 2017 Known Issues


Feedback und Vorschläge

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 Report a Problem Icon befindet sich oben rechts. Sie können einen Vorschlag zu einem Produkt einreichen oder Ihre Probleme in der Entwicklercommunity für Visual Studio nachverfolgen, in der Sie auch Fragen stellen und nach Antworten suchen sowie neue Features vorschlagen können. Über unseren Livechatsupport erhalten Sie zudem kostenlose Hilfe bei der Installation.


Blogs

Profitieren Sie von den Einblicken und Empfehlungen auf der Webseite mit Blogs zu Entwicklertools, um sich bei allen Releases auf dem neuesten Stand zu halten und Zugang zu ausführlichen Beiträgen zu zahlreichen Funktionen zu erhalten.

Developer Tools Blogs


Visual Studio 2017: Verlauf der Anmerkungen zu dieser Version

Weitere Informationen bezüglich der früheren Versionen von Visual Studio 2017 finden Sie auf der Seite Visual Studio 2017: Verlauf der Versionsanmerkungen.


Seitenanfang