Delen via


Releaseopmerkingen voor Visual Studio IconVisual Studio 2017 versie 15.8

Opmerking

De ondersteunde versie van Visual Studio 2017 is versie 15.9.

Belangrijk

Dit is niet de nieuwste versie van Visual Studio. Als u de nieuwste versie wilt downloaden, gaat u naar https://visualstudio.microsoft.com/downloads/ de releaseopmerkingen van Visual Studio 2022 en bekijkt u deze.

Visual Studio-blog

De Visual Studio-blog is de officiële bron van product insight van het Visual Studio Engineering-team. In de volgende berichten vindt u uitgebreide informatie over versie 15.8 van Visual Studio 2017:

Visual Studio 2017 versie 15.8 Releases

Belangrijk

Kennisgevingen van beveiligingsadvies voor Visual Studio 2017 versie 15.8

Samenvatting van belangrijke nieuwe functies in 15.8

Belangrijkste problemen opgelost in 15.8

Dit zijn de door de klant gerapporteerde problemen die in 15.8 zijn opgelost:

Bekijk alle door de klant gerapporteerde problemen die zijn opgelost in Visual Studio 2017 versie 15.8.

De ontwikkelaarscommunity-portal


Details van wat er nieuw is in 15.8

Pictogram Release Notes IconVisual Studio 2017 versie 15.8.0

uitgebracht op 14 augustus 2018

Nieuwe functies in 15.8

Install

U hebt nu de mogelijkheid om alle installatiebestanden te downloaden voordat u de installatie start.

  • Als u deze nieuwe optie wilt gebruiken, selecteert u de optie Alles downloaden en vervolgens installeren in het installatieprogramma (afbeelding 1). We raden deze optie aan als u een tragere internetverbinding hebt.
  • De standaardoptie blijft 'Installeren tijdens downloaden', die parallel wordt gedownload en geïnstalleerd.
Download Otion
(Afbeelding 1) Downloadoptie

Performance

Deze release bevat de volgende prestatieverbeteringen:

  • Vertakkingswisselingen voor C#-, VB- en C++-projecten zijn veel sneller voor grote oplossingen, omdat het opnieuw laden van oplossingen niet meer nodig is.
  • We hebben de tijd verkort om een kleine set C# en VB-projecten te verwijderen en opnieuw te laden in grote oplossingen van minuten tot enkele seconden.
  • We hebben een optie toegevoegd om het opnieuw openen van documenten uit te schakelen die in de vorige sessie zijn geopend, omdat het opnieuw openen van bepaalde typen bestanden of ontwerpers de belasting van de oplossing kan vertragen.
    • Schakel deze optie in extra > opties > projecten >> algemeen in.

Testprestaties

We hebben de prestaties aanzienlijk verbeterd bij het uitvoeren van enkele tests in een grote oplossing met meerdere testprojecten. In onze labs heeft een oplossing met meer dan 10.000 MSTests één test uitgevoerd tot 82% sneller!

Prestatieverbetering van Visual Basic

Visual Basic biedt nu een aanzienlijke prestatieverbetering bij het gebruik van het patroon CInt(Fix(number)) om te converteren van niet-geheel getaltypen naar gehele getallen.

Prestatieprofilering

Deze release bevat de volgende prestatieprofileringsverbeteringen:

  • We hebben de mogelijkheid toegevoegd om profilering in een onderbroken status te starten:

    • Het hulpprogramma CPU-gebruik in de Performance Profiler (ALT-F2) kan nu worden gestart in een onderbroken status (afbeelding 2). Dit kan handig zijn tijdens het wachten op een scenario dat het cpu-gebruiksonderzoek waard is. Als het verzamelen van CPU-gebruik tijdens het opstarten is uitgeschakeld, verzamelt de Performance Profiler geen stackgegevens van het CPU-gebruik totdat deze specifiek is ingeschakeld. Dit resulteert in een kleinere hoeveelheid gegevens die moet worden verzameld en geanalyseerd, waardoor uw prestatieonderzoeken efficiënter worden.

    • Als u een sessie wilt starten waarbij de verzameling CPU-gebruiksvoorbeelden is uitgeschakeld, klikt u op het tandwielpictogram naast HET CPU-gebruik op de startpagina van Performance Profiler. Schakel op de eigenschappenpagina CPU-gebruik het selectievakje CPU-profilering inschakelen (sampling) uit en klik op OK om de instellingen op te slaan.

      Pagina instellingen van het hulpprogramma voor CPU-gebruik
      (Afbeelding 2) Instellingen voor het CPU-gebruiksprogramma
    • Zodra u de doeltoepassing start (klik op Start op de startpagina van Performance Profiler), ziet u de grafiek cpu-gebruik (afbeelding 3) waarmee u CPU-profilering kunt beheren. Als u het verzamelen van stackgegevens van het CPU-gebruik wilt inschakelen, selecteert u CPU-profilering in het midden van de weergave inschakelen of klikt u op CPU-profiel net onder de grafiek cpu-gebruik. U kunt op CPU-profiel opnemen klikken om het verzamelen van voorbeeldgegevens zo vaak mogelijk in of uit te schakelen als u wilt. De grafiekkleur van het CPU-gebruik verandert om aan te geven of de voorbeeldverzameling op dat moment is ingeschakeld/uitgeschakeld.

      Bewakingsweergave cpu-gebruikshulpprogramma
      (Afbeelding 3) Grafiek cpu-gebruiksgebruik
  • We hebben een hulpprogramma voor het bijhouden van .NET-objecten toegevoegd:

    • Het hulpprogramma voor het bijhouden van .NET-objecten voegt de familie van hulpprogramma's toe die beschikbaar zijn via de Performance Profiler. Als u dit hulpprogramma aanroept voor een prestatieprofielsessie, wordt de verzameling van een stacktracering gestart voor elke .NET-objecttoewijzing die plaatsvindt in de doeltoepassing. Deze stackgegevens worden samen met informatie over het objecttype en de grootte geanalyseerd om details van de geheugenactiviteit van uw toepassing weer te geven. U kunt snel de toewijzingspatronen in uw code bepalen en afwijkingen identificeren. Daarnaast kunt u voor GC-gebeurtenissen (Garbagecollection) eenvoudig bepalen welke objecten zijn verzameld en bewaard en snel objecttypen identificeren die het geheugengebruik van de toepassing overheerst.
    • Dit is vooral handig voor API-schrijvers om toewijzingen te minimaliseren. Veel toepassingen overschrijden de bufferlimieten die betrokken zijn bij het verzamelen van diagnostische gegevens, maar kleine testtoepassingen die de belangrijkste scenario's van een API uitoefenen, kunnen behoorlijk goed worden diagnosticeren. Terwijl uw testtoepassing wordt uitgevoerd, geeft de Performance Profiler een lijndiagram weer van liveobjecten (aantal), evenals een staafdiagram van Object Delta (% wijziging).
    • Als u het hulpprogramma voor het bijhouden van .NET-objecten wilt gebruiken, geeft u de startpagina van performance profiler (afbeelding 4) weer, selecteert u een doel om te profileren (het standaarddoel is het opstartproject in de oplossing), controleert u .NET Objecttoewijzing bijhouden onder Beschikbare hulpprogramma's en klikt u vervolgens op Start.
    Startpagina van Performance Profiler
    (Afbeelding 4) Startpagina van Performance Profiler

Prestatieprofilering (CPU-gebruik)

Deze release bevat de volgende verbeteringen in het hulpprogramma CPU-gebruik van de Performance Profiler (beschikbaar via ALT-F2):

  • In de weergave Oproepstructuur wordt nu standaard asynchrone uitvoering per logische aanroepstack weergegeven. U kunt dit gedrag uitschakelen door de optie Stitch Async Code uit te schakelen in de vervolgkeuzelijst Filter van de hoofdweergave CPU-gebruik.
  • We hebben een modules/functions-weergave toegevoegd waarmee prestatiegegevens per module (dll) en functie in een module worden weergegeven. U kunt de weergave Modules/Functies weergeven in het contextmenu dat beschikbaar is wanneer u een functie selecteert in de hoofdweergave CPU-gebruik, of in de vervolgkeuzelijst Beeld in de weergave Oproepstructuur of Aanroeper/Oproepende weergave.
  • Exemplaarindicatie is toegevoegd aan de grafiek CPU-gebruik in de hoofdweergave van het hulpprogramma CPU-gebruik. U kunt de exemplaren bekijken wanneer een functie wordt uitgevoerd (bijvoorbeeld op de stack) door te dubbelklikken op een functie die wordt vermeld in een van de weergaven cpu-gebruik.

Productiviteit

Deze release bevat de volgende productiviteitsverbeteringen:

  • U kunt extra codeopschoning uitvoeren met Document opmaken (Ctrl + K, D of Ctrl + E, D) voor C#-ontwikkeling. Configureer opschonen door naar Extra>>Teksteditor>C#>Code Style>Format>General te gaan.
  • We hebben meer herstructureringen en snelle acties toegevoegd met Ctrl + . of Alt + Enter:
    • Invert If stelt u in staat uw logica om te keren in if-else-instructies. Plaats de cursor in het if trefwoord om deze herstructurering te activeren.
    • Met parameter toevoegen vanuit methodeoproepite kunt u een parameter toevoegen aan een methode door een argument toe te voegen aan een methodeaanroepende methode en snelle acties en herstructureringen te activeren.
    • Verwijder overbodige haakjes verwijdert haakjes rond binaire operators die niet essentieel zijn voor compilatie. U kunt deze stijlregel configureren via Extra Opties>>Teksteditor>C#>Codestijl>Algemeen of .editorconfig:
      • dotnet_style_parentheses_in_arithmetic_binary_operators
      • dotnet_style_parentheses_in_relational_binary_operators
      • dotnet_style_parentheses_in_other_binary_operators
      • dotnet_style_parentheses_in_other_operators
    • Gebruik ternaire voorwaarden in toewijzingen en retourinstructies kan ook worden geconfigureerd als een stijlregel inExtra-opties>>... of via .editorconfig:
      • dotnet_style_prefer_conditional_expression_over_assignment
      • dotnet_style_prefer_conditional_expression_over_return
  • We hebben nieuwe opdrachten en verbeteringen toegevoegd aan het venster Ga naar alles :
    • Ga naar Enclosing Block (Ctrl + Alt + UpArrow) zodat u snel naar het begin van het insluitcodeblok kunt navigeren.
    • Ga naar Volgende/Vorige probleem (Alt + PgUp/PgDn) zodat u naar het volgende/vorige probleem kunt gaan (fout, golvende, gloeilamp).
    • Ga naar Lid (Ctrl+ T, M) is nu standaard ingesteld op het bestand. U kunt de standaardinstelling weer wijzigen in de oplossing door het bereik in te schakelen op huidig document (Ctrl + Alt + C).
  • U kunt nu invoegpunten en selecties maken op meerdere, willekeurige locaties in een bestand met ondersteuning voor meerdere carets. Hiermee kunt u tekst op meerdere plaatsen tegelijk toevoegen, bewerken of verwijderen.
    • Voeg carets in met Ctrl + Alt + LeftMouseClick.
    • Voeg een selectie toe en zorg op de volgende locatie die overeenkomt met de huidige selectie met Shift + Alt + Ins.
    • Zie Meerdere carets bewerken > voor een volledige lijst met acties.
  • Open een contextueel navigatiemenu met Alt + '.
  • Houd uw toetsbindingen consistent met twee nieuwe toetsenbordprofielen: Visual Studio Code en ReSharper (Visual Studio). U vindt deze schema's onder Extra > Opties > Omgeving > toetsenbord en de bovenste vervolgkeuzelijst.

Fouten opsporen

Deze release bevat de volgende verbeteringen voor foutopsporing:

  • Wanneer u meer dan één exemplaar van Visual Studio 2017 hebt geïnstalleerd, kunt u nu selecteren op welk exemplaar uw extensie moet worden geïmplementeerd wanneer er fouten worden opgespoord (afbeelding 5). Op die manier kunt u bijvoorbeeld ontwikkelen in het Visual Studio-releasekanaal tijdens foutopsporing in het preview-kanaal.

    Selecteer uw foutopsporingsexemplaren
    (Afbeelding 5) Foutopsporingsinstantie selecteren
  • U kunt nu het foutopsporingsprogramma voor momentopnamen rechtstreeks toevoegen vanaf de pagina Samenvatting publiceren (afbeelding 6).

    Snapshot Debugger bijvoegen vanaf de pagina Samenvatting publiceren
    (Afbeelding 6) Snapshot Debugger bijvoegen vanuit de publicatiesamenvatting
  • We ondersteunen nu het weergeven van beheerde taken via het venster Taken tijdens het opsporen van fouten in minidumps met heap.

Hulpprogramma's voor universeel Windows-platformontwikkelaars

We hebben veel belangrijke verbeteringen aangebracht in de XAML-ontwerpfunctie voor projecten die gericht zijn op het Universal Windows-platform met een doelplatformversie van de Windows 10 Fall Creators Update (build 16299) of hoger. Deze verbeteringen zijn:

  • U kunt nu verzamelingen bewerken in eigenschapcontrole.
  • Met de ontwerpfunctie kunnen nu sjablonen en stijlen worden bewerkt, ook wanneer de definities voor deze entiteiten worden gedefinieerd in andere documenten.
  • Eigenschappen van het type IconElement (zoals Pictogram in een AppBarButton) hebben nu een aangepaste editor in de Eigenschappencontrole, waardoor deze eigenschappen gemakkelijker kunnen worden ingesteld.
  • De ontwerper, editor en Bewerken en Doorgaan moeten nu allemaal correct werken met x:DefaultBindMode.
  • De Visual State Manager-ervaring in Blend ondersteunt nu AdaptiveTrigger.

F# 4.5 en F#-hulpprogramma's voor Visual Studio

We hebben de F#-taal versie 4.5 geïntroduceerd met deze release. Dit komt ook overeen met de nieuwe 4.5.x-familie van FSharp.Core (de F#-kernbibliotheek). U kunt de specificaties voor elk van deze wijzigingen lezen in de F# RFC-opslagplaats. Er zijn ook veel verbeteringen in F#-hulpprogramma's voor Visual Studio met deze release.

F# 4.5

Hier volgen enkele van de hoogtepunten met de F#-taalversie 4.5:

Ondersteuning voor Span'T<>

We hebben functies geïmplementeerd Span<'T> en gerelateerd, zodat effectief verbruik en productie van API's met behulp Spanvan , Memoryen ref-like constructies mogelijk zijn met F#. De functies hiervoor zijn onder andere:

  • Nieuw voidptr type.
  • Nieuwe NativePtr.ofVoidPtr functies en NativePtr.toVoidPtr functies in FSharp.Core.
  • Nieuwe typen inref<'T> en outref<'T>, die respectievelijk alleen-lezen byrefs en alleen-schrijven perrefs zijn. Dit komt overeen met in ref en out ref in C#.
  • De mogelijkheid om structs te produceren ByRefLike (zoals Span en ReadOnlySpan).
  • De mogelijkheid om structs te produceren IsReadOnly .
  • Impliciete deductie van byref- en inref-retourneert van methoden.
  • De mogelijkheid om extensieleden te produceren op byref/inref/outref.

Met deze functieset wordt een fout opgelost in het oorspronkelijke ontwerp van byref-returns in F# 4.1, waarbij functies, methoden en eigenschappen die worden geretourneerd byref, niet impliciet de retourwaarde deductie van de geretourneerde waarde hebben. We brengen deze wijziging aan om de functie in overeenstemming te brengen met de manier waarop C# -returns refverwerkt. Er wordt een foutbericht gebruikt wanneer een typeaantekening aangeeft dat een impliciete deductie van een ref- return nu wordt gebruikt.

Daarnaast lost deze functieset ook een bug op in de F#-compiler waar "Evil struct replacement" mogelijk was; Het aanroepen van een methode op een F#-struct kan de werkelijke struct die is aangeroepen, vervangen door een andere. De this parameter voor een struct wordt nu beschouwd als een inref<MyStruct>, met een fout die aangeeft dat u een veranderlijk veld toevoegt als u de struct wilt wijzigen.

Meer informatie over span en ref-like constructies vindt u in de RFC voor deze functieset.

Lucifer! in berekeningsexpressies

F# 4.5 introduceert match!, een nieuw trefwoord voor gebruik binnen berekeningsexpressies, dat volledig is bijgedragen door JohnWo. Deze syntactische suiker is gelijk aan een let! gevolgd door een match op het resultaat. Meer informatie vindt u in de RFC voor match!.

De noodzaak om upcast te maken met yield in volgorde, lijst en matrixexpressies

F# 4.5 versoepelen nu enkele gevallen waarin een upcast tijdens het gebruik yield vereist was om een subtype te converteren naar een supertype. Deze beperking was al niet nodig voor deze expressies sinds F# 3.1 wanneer deze niet werd gebruikt yield, dus dit maakt dingen consistenter met bestaand gedrag. Meer informatie vindt u in de RFC voor deze functie.

Inspringing toestaan op lijst- en matrixhaken

F# 4.5 versoepelen nu de inspringingsregel voor lijst- en matrixhaken waarvoor ze één bereik vooruit moesten laten inspringen wanneer ze op hun eigen regel staan. Deze vorige vereiste is altijd nogal verwarrend geweest, vooral voor beginners tot F#. Daarnaast is dit niet vereist voor F#-reeksexpressies. Dit brengt nu matrix- en lijstexpressies naar dezelfde consistente status als reeksexpressies. Meer informatie vindt u in de RFC voor deze functie.

Opsommingsaanvragen die als openbaar worden verzonden

F# 4.5 verzendt nu opsommingscases als openbaar onder alle omstandigheden, om af te stemmen op de wijze waarop C# opsommingscases verzendt. Dit maakt het ook eenvoudiger voor profileringshulpprogramma's om logboeken uit F#-code te analyseren, waarbij de waarde in plaats van de labelnaam is verzonden. Meer informatie vindt u in de RFC voor deze functie.

Verbeteringen in F#-compiler

Verbeteringen in de F#-compiler zijn naast de eerder genoemde taalfuncties beschikbaar in F# 4.5. Deze omvatten:

  • We hebben de prestaties van de compiler verbeterd door maximaal 2.2% van alle toewijzingen in de F#-compiler (onder verschillende scenario's) te verwijderen.
  • We hebben een bug opgelost die resulteert in een AccessViolatioNException gebruik met yield! op struct gebaseerde enumerables.
  • Het is nu mogelijk om opnieuw over te nemen van FSharpFunc .
  • Tail-aanroepen zijn standaard uitgeschakeld voor foutopsporingsversies van F# voor .NET Core. Ze zijn ingeschakeld voor release, zodat deze overeenkomen met de F#-compiler van het bureaublad.
  • F#-verwijzingsnormalisatie is opgelost, zodat u transitieve assemblyverwijzingen kunt beheren die naar een uitvoerbestand zijn geschreven. Hiermee kunt u het equivalent van assembly-omleiding op .NET Core uitvoeren.
  • Er is een fout opgelost waarbij het foutbericht dat werd gebruikt bij het gebruik van dynamische aanroep op inlinefuncties werd genegeerd. Het foutbericht wordt nu doorgegeven.
  • F# respecteert nu de WarningsNotAsErrors vlag die u kunt instellen in projectbestanden.
  • Wanneer vertakkingen van een patroonovereenkomst niet dezelfde foutmeldingstypevoorwaarde retourneren, is deze bijgewerkt om gebruiksvriendelijker te zijn door Isaac Abraham.
  • Een interne foutfout bij een compiling interface-implementatie die geen overbelaste methode-implementatie mist, is opgelost door Steffen Forkmann.
  • Sommige onnodige matrixkopie in de lexingfase van de compiler is verwijderd door Gauthier Segay.
  • Onvolledige patroonovereenkomsten op F#-opsommingen produceren nu een gedetailleerde waarschuwing die een voorbeeld geeft van een case die niet wordt gedekt, bijgedragen door John Woseration.
  • "#nowarn "2003" wordt nu gerespecteerd, bijgedragen door Azure Diitrich.
  • Een fout waarbij het gebruik van C#-uitbreidingsmethoden kan mislukken in de F#-overbelastingsresolutie is opgelost door Steffen Forkmann.
  • Er is een interne fout in de gegevensstructuur QueueList opgelost door Steffen Forkmann.
  • Verschillende kleinere optimalisaties en inspanningen voor het opschonen van code zijn bijgedragen door Steffen Forkmann, Auduchink en ncave.

F# Core Library 4.5.x

De volgende toevoegingen aan de F# Core-bibliotheek zijn nu beschikbaar:

  • Er is veel werk verricht om stacktraceringen voor async { } rekenexpressies te verbeteren. U moet nu gebruikerscode en gebruikersregelnummers in stacktraceringen kunnen zien. Meer informatie vindt u in de RFC voor deze functie.
  • FuncConvert.FromFunc en FuncConvert.FromAction API's die typen System.Func en System.Action overbelastingen, om te helpen bij interoperation met C#. Meer informatie vindt u in de RFC voor deze functie.
  • ValueOption is een nieuw type dat beschikbaar is. Dit is de eerste in een reeks toekomstige functies die uiteindelijk gericht zijn op betere prestaties voor actieve patronen. Meer informatie vindt u in de RFC voor deze functie.
  • TryGetValue is nu een nieuw lid van het type F#-kaart. Meer informatie vindt u in de RFC voor deze functie.
  • We hebben hoog CPU-gebruik opgelost bij de eerste aanroep van MailboxProcessor.TryReceive.
  • Vergelijking voor bool nu maakt gebruik van snelle generieke vergelijking, bijgedragen door Vasily Kirichenko.
  • De samenvattingstekst is Array.allPairs bijgewerkt om correct te zijn, bijgedragen door Patrick McDonald

Verbeteringen in F#-hulpprogramma's

Belangrijke verbeteringen in de F#-hulpprogramma's, zoals prestatieverbeteringen en enkele nieuwe editorfuncties, zijn opgenomen in deze release. Zoals altijd, met een groot aantal bijdragen van de opensource-community van F#. Dit zijn de hoogtepunten:

  • We hebben de prestaties van IntelliSense verbeterd voor .NET SDK-projecten van alle formulieren, inclusief projecten die meerdere targeting gebruiken.
  • Een communitygestuurde inspanning voor het analyseren en verbeteren van IntelliSense-prestaties voor zeer grote bestanden is bijgedragen door Vasily Kirichenko, Steffen Forkmann en Gauthier Segay. IntelliSense in zeer grote bestanden (10.000 regels code) is nu ongeveer twee keer zo snel.
  • De waarschuwing voor een verouderde FSharp.Core (ondanks dat het pakket wordt geïnstalleerd) is niet meer aanwezig in .NET SDK-projecten.
  • De beschrijvingsknopinfo die XML-documentatie weergeeft voor een lid na . in IntelliSense, treedt na 10 seconden geen time-out meer op.
  • Er is een fout opgelost waarbij u geen onderbrekingspunten in objectconstructorargumenten kon instellen.
  • Een fout waarbij een hernoemd symbool wordt gedupliceerd wanneer het een algemene parameter is, is opgelost.
  • Sjablonen voor .NET Framework (klassieke F#-sjablonen) verbruiken nu FSharp.Core vanuit een NuGet-pakket om te worden afgestemd op .NET SDK F#-sjablonen.
  • Automatische voltooiing van transactionele accolades is nu beschikbaar voor ()paren , [], {}en [||][<>] accolades. We hebben dit gedaan in samenwerking met Gibran Rosa.
  • U kunt nu naar de definitie gaan met Ctrl + klikken op een F#-symbool. De instellingen voor dit gebaar worden ook gerespecteerd in het venster Extra-opties>.
  • De intelliSense-prestatiegebruikersinterface is gewijzigd om configuratie van verouderde typecontrolegegevens voor verschillende IDE-functies toe te staan. Uitleg voor elke optie is nu aanwezig in knopinfo voor de instellingen.
  • Accolade match markeren nu correct markeert accolades, voltooid in samenwerking met Vasily Kirichenko.
  • Ga naar de definitie navigeert nu correct wanneer een type recursief wordt gedefinieerd, bijgedragen door Vasily Kirichenko.
  • Een fout waarbij een automatisch geïmporteerde naamruimte niet werd geopend toen het begin van een bestand leeg was, is opgelost door Vasily Kirichenko.
  • Een bug waarbij printf aanduidingen die puntjes bevatten verkeerd zijn verkleurd, is opgelost door Vasily Kirichenko.
  • Een fout waarbij alle geopenden als ongebruikt in een recursieve module werden beschouwd, is opgelost door Vasily Kirichenko.
  • De prestaties van de Unused Opens Analyzer zijn aanzienlijk verbeterd door Vasily Kirichenko.
  • Automatisch aanvullen voor kenmerken suggereert nu alleen opties die eigenlijk kenmerken zijn, bijgedragen door Vasily Kirichenko.
  • Knopinfo voor handtekeninghulp wordt nu gegenereerd voor statische parameters van typeprovider op de site van de constructor-aanroep, bijgedragen door Vasily Kirichenko.
  • Een bug waarbij waardetypen die worden gebruikt als maateenheden, zijn gekleurd als referentietypen, opgelost door Vasily Kirichenko.
  • Een bug waarbij semantische colorisatie kon verdwijnen voor sommige bestanden tijdens het schuiven is opgelost door Vasily Kirichenko.
  • Er is nu een experimentele CodeLens-implementatie, bijgedragen door Victor Peter Rouven Müller. U kunt deze inschakelen in opties > teksteditor > F# > Code Lens.
  • Er is een fout opgetreden waarbij de F#-compilerservice de modulenamen in XML-documentatie onjuist zou ontwijken, is opgelost door Sebastian Urban.
  • Code die wordt gebruikt Dictionary met ContainsKey en volgende Item aanroepen is gewijzigd in gebruik TryGetValue, door Auduchink.
  • Jakob Majoka heeft ook bijgedragen aan het verwerken van een andere API voor Tooltips.

Verbeteringen in infrastructuur, verpakking en opensource

We hebben de volgende verbeteringen aangebracht in infrastructuur, verpakking en onze opensource-bijdrage-ervaring:

  • De F#-compiler die is gedistribueerd met Visual Studio, wordt niet meer geïnstalleerd als een singleton op de locatie van de F#Compiler SDK. Het is nu volledig naast Visual Studio, wat betekent dat naast elkaar installaties van Visual Studio eindelijk echt naast elkaar F#-hulpprogramma's en taalervaringen worden gebruikt.
  • Het NuGet-pakket FSharp.Core is nu ondertekend.
  • ETW-logboekregistratie is toegevoegd aan de F#-hulpprogramma's en compiler.
  • De zeer grote control.fs/control.fsibestanden in FSharp.Core zijn gesplitst inasync.fs/async.fsi ,event.fs/event.fsi ,eventmodule.fs/eventmodule.fsi ,mailbox.fs/mailbox.fsi en .observable.fs/observable.fsi
  • We hebben versies van de .NET SDK-stijl van onze testartefacten voor projectprestaties toegevoegd.
  • We hebben Newtonsoft.json verwijderd uit onze codebasis en u hebt nu nog één pakket gedownload voor OSS-inzenders.
  • We gebruiken nu de nieuwste versies van System.Collections.Immutable en System.Reflection.Metadata.

Verbeteringen in de C++ conformance en toolset

Deze release bevat de volgende C++-conformiteit en toolsetverbeteringen:

  • Een nieuwe, experimentele, op tokens gebaseerde preprocessor die voldoet aan de C++11-standaarden (inclusief C99 preprocessorfuncties), ingeschakeld met de /experimentele:preprocessorswitch. Dit wordt beheerd met macro's _MSVC_TRADITIONAL, die 1 zijn gedefinieerd bij het gebruik van de traditionele preprocessor en 0 wanneer de nieuwe experimentele standaarden voldoen aan preprocessor.
  • De Visual Studio Developer-opdrachtprompt biedt ondersteuning voor het inschakelen van visual C++ spectre variant 1 van verzachte runtimes (-vcvars_spectre_libs = spectre). Meer informatie over spectre-oplossingen vindt u in de Visual C++-teamblog.
  • Twee nieuwe toevoegingen aan de SSA Optimizer gericht op het genereren van moderne C++-code: redundante opslagverwijdering en het vouwen van redundante vertakkingen.
  • Geoptimaliseerde I/O-prestaties op basis van geheugen in de linker om de koppelingstijden te verminderen.

C++ platformoverschrijdende ontwikkeling

We hebben het volgende toegevoegd, verbeterd en toegevoegd aan de platformoverschrijdende ontwikkeling van C++ voor deze release:

  • Er is eennieuwe itemsjabloon> voor het genereren van een .clang-format-bestand volgens de coderingsconventie die is opgegeven voor ClangFormat in Extra>Opties. Als de Visual Studio-conventie is geselecteerd, probeert het gegenereerde bestand overeen te komen met de huidige configuratie van Visual Studio-opmaak van de gebruiker vanuit extra > opties.
  • De verzonden clang-format.exe versie bijgewerkt naar 6.0.0.
  • Sjablonen om het toevoegen van configuraties aan CppProperties.jsonte vereenvoudigen.
  • Sjablonen toegevoegd om het toevoegen van configuraties aan CMakeSettings.json(afbeelding 7) te vereenvoudigen.
Configuratiesjablonen voor CMake
(Afbeelding 7) Configuratiesjablonen voor CMake

C++ Productiviteit

We hebben de volgende verbeteringen en verbeteringen aangebracht in de productiviteit van C++ :

  • Knopinfo voor snelle info in C++ voor macro's laat nu zien waar ze zich in uitvouwen, in plaats van alleen hun definitie. Dit is met name handig voor complexe macro's die verwijzen naar andere macro's, omdat hiermee wordt verduidelijkt wat de macro-id wordt vervangen door de preprocessor.
  • Er is een nieuwe gloeilamp toegevoegd om eenvoudige macro's te converteren naar constexpr als een nieuw hulpmiddel om code te moderniseren.
  • IntelliSense voor sjablonen bevat meer informatie over sjabloonargumenten om optimaal te profiteren van IntelliSense in de hoofdtekst van uw sjabloon (afbeelding 8).
Sjabloon IntelliSense
(Afbeelding 8) Sjabloon IntelliSense
  • We werken aan het vernieuwen van onze ervaring voor codeanalyse. U kunt nu de nieuwe functies inschakelen die worden uitgevoerd onder Extra>Opties>Teksteditor>C++>Experimentele>codeanalyse. Codeanalyse kan op de achtergrond worden uitgevoerd wanneer bestanden worden geopend of opgeslagen, en resultaten worden weergegeven in de foutenlijst en als groene golvende golven in de editor (afbeelding 9).
Codeanalyse in editor
(Afbeelding 9) Codeanalyse in editor

Verbeteringen voor foutopsporing in C++

We hebben de volgende foutopsporingsverbeteringen aangebracht:

  • Met Just My Code kunt u nu stapsgewijze code uitvoeren vanuit systeem- of C++-bibliotheken van derden, naast het samenvouwen van deze aanroepen in het aanroepstackvenster. U kunt dit gedrag voor alle C++-bibliotheken beheren wanneer uw code wordt gecompileerd met /JMC en de paden voor niet-gebruikersbibliotheken worden opgegeven in een NATJMC-bestand. Als de systeembibliotheek wordt aangeroepen in gebruikerscode, slaat het foutopsporingsprogramma alle systeemcode over en stopt het op de eerste regel van callback van gebruikerscode (afbeelding 10).
Alleen mijn code
(Afbeelding 10) Alleen mijn code
  • Gegevensonderbrekingspunten kunnen nu worden ingesteld in de vensters Watch, Quickwatch, Autos en Locals, zodat u kunt breken wanneer een waarde die is opgeslagen in geheugenwijzigingen in slechts enkele, korte klikken.
  • Met Source Link kunt u informatie insluiten over de oorspronkelijke broncode van een uitvoerbaar bestand of bibliotheek in de PDB tijdens de compilatie.
  • Bij foutopsporing blijft het consolevenster nu standaard geopend wanneer het programma de uitvoering beëindigt (vergelijkbaar met het uitvoeren van het programma zonder het foutopsporingsprogramma). Dit gedrag kan worden teruggezet om de console automatisch te sluiten in extra > opties > foutopsporing > algemeen.

Verbeteringen in JavaScript en TypeScript

TypeScript 3.0

Visual Studio 2017 versie 15.8 bevat nu standaard TypeScript 3.0. Zie de aankondiging van de Release van TypeScript 3.0 voor meer informatie over deze release.

Verbeterde ondersteuning voor Vue.js

Ondersteuning voor de Vue.js-bibliotheek is verbeterd en met name ondersteuning voor .vue-bestanden, ook wel 'onderdelen van één bestand' genoemd. Dit biedt verbeteringen bij het bewerken van scriptblokken in .vue-bestanden, inclusief ondersteuning voor scriptblokken die zijn geschreven in TypeScript via het lang="ts" kenmerk op het scriptelement. (Opmerking: een buildproces met behulp van WebPack of vergelijkbaar moet worden gebruikt om de .vue-bestanden te converteren naar de HTML- en JS-bestanden die nodig zijn tijdens runtime. Zie de pagina Onderdelen voor één bestand voor meer informatie).

Als de Node.js-workload is geïnstalleerd, zijn er nu de sjablonen 'Basic Vue.js Web Application' onder de paden 'JavaScript/Node.js' of 'TypeScript/Node.js' in het dialoogvenster Nieuw project. Hieronder ziet u een voorbeeld van het bewerken van TypeScript-code in een scriptblok in een .vue-bestand (afbeelding 11).

Een .vue-bestand bewerken
(Afbeelding 11) .vue-bestanden bewerken

ESLint-verbeteringen

We hebben de ESLint-ondersteuning voor deze release opnieuw geïmplementeerd. ESLint heeft de volgende verbeteringen en verbeteringen:

  • In plaats van alleen opgeslagen bestanden te linten, worden JavaScript-bestanden nu ook door Visual Studio linten terwijl u bewerkt.
  • Resultaten kunnen worden gerapporteerd voor alle JS-bestanden in uw project, niet alleen voor het openen van bestanden; als er delen van uw project zijn die u niet wilt verwijderen, kan een .eslintignore-bestand nu worden gebruikt om mappen en bestanden op te geven die moeten worden genegeerd.
  • ESLint is standaard bijgewerkt voor gebruik van ESLint 4, maar als uw project een lokale installatie van ESLint heeft, wordt die versie gebruikt.

ESLint kan globaal worden uitgeschakeld in Visual Studio door de instelling ESLint inschakelen uit te schakelen in de >>> Javascript/Typescript > Linting ** (afbeelding 12).

Opties voor ESLint
(Afbeelding 12) Opties voor ESLint

Mapverbeteringen voor Node.js openen

Er zijn talloze verbeteringen die werken met JavaScript en TypeScript in het scenario Open Folder wanneer de 'Node.js workload' is geïnstalleerd. Bijvoorbeeld het beheren van NPM-pakketten, het bouwen van TypeScript, het starten en opsporen van fouten met Node.exe, het uitvoeren van NPM-scripts en het uitvoeren van eenheidstests.

Zie JavaScript- en TypeScript-code ontwikkelen in Visual Studio zonder oplossingen of projecten} voor meer informatie.

Verbeterde prestaties van editor

In eerdere versies werden alle bewerkingen van de JavaScript- en TypeScript-taalservice verwerkt door één Node.js proces. Dit kan leiden tot vertragingen in de editor als opdrachten die invloed hebben op het typen van gebruikers (zoals automatische opmaak na een nieuwe regel) zijn verzonden terwijl er al een langdurige bewerking is uitgevoerd (zoals het analyseren van code voor fouten). Om dit te verhelpen, wordt nu een afzonderlijk proces gebruikt voor de bewerkingen die van invloed zijn op het bewerken van het meest. Dit proces is aanzienlijk lichter voor systeemresources dan het bestaande taalserviceproces. Als u het nieuwe proces echter wilt uitschakelen, schakelt u het selectievakje Toegewezen syntaxisproces uitschakelen in de JavaScript-/TypeScript-taalservice > voor de teksteditor > extra >>in.

Visual Studio Web Tools

Bibliotheekbeheer is een nieuwe functie die is opgenomen in Visual Studio 2017. Het helpt u bij het beheren van bibliotheken aan de clientzijde in uw webprojecten.

Containerhulpprogramma's

Er is een nieuwe Docker-containerervaring voor één project toegevoegd voor ASP.NET Core-webprojecten. Dit vormt een aanvulling op de bestaande docker Compose-hulpprogramma's voor containers en biedt een eenvoudigere, eenvoudigere manier om Docker-containers rechtstreeks vanuit Visual Studio te maken, fouten op te sporen en te bouwen.

U kunt Docker-ondersteuning toevoegen bij het maken van het project (afbeelding 13):

Docker-ondersteuning inschakelen
(Afbeelding 13) Docker-ondersteuning inschakelen

U kunt ook Docker-ondersteuning inschakelen voor een bestaand project via het contextmenu van het project in Solution Explorer (afbeelding 14). Zodra u dit hebt uitgevoerd, maakt Visual Studio één Dockerfile in het project. U hebt de mogelijkheid om Windows of Linux te kiezen.

Docker-ondersteuning toevoegen
(Afbeelding 14) Docker-ondersteuning toevoegen

Visual Studio voegt ook een startprofiel voor foutopsporingsprogramma (afbeelding 15) voor Docker toe, zodat het project kan worden opgespoord tijdens het uitvoeren binnen een container.

Docker-startprofiel
(Afbeelding 15) Docker-startprofiel

Als u een oplossing met meerdere Docker-projecten hebt, wordt standaard slechts één container uitgevoerd wanneer u ervoor kiest om de oplossing te starten. Als u meerdere containers tegelijk wilt uitvoeren, klikt u met de rechtermuisknop op de oplossing in Solution Explorer en selecteert u Opstartprojecten instellen en vervolgens meerdere opstartprojecten en stelt u vervolgens de vervolgkeuzelijst Actie in op Starten of Starten zonder foutopsporing voor alle projecten die u wilt uitvoeren.

Zodra uw containerproject op de gewenste manier wordt uitgevoerd, kunt u met de rechtermuisknop op het project klikken en Docker-installatiekopieën bouwen selecteren om een installatiekopieën lokaal te bouwen, wanneer u klaar bent om naar Azure Container Registry of DockerHub te pushen.

U kunt ook de bestaande op Docker Compose gebaseerde functionaliteit toevoegen aan een ASP.NET Core-webproject via de nieuwe optie ondersteuning voor Container Orchestrator(afbeelding 16). Klik met de rechtermuisknop op het ASP.NET Core-webproject in Solution Explorer, selecteer Container Orchestrator-ondersteuning toevoegen >en selecteer Vervolgens Docker Compose in de vervolgkeuzelijst.

Ondersteuning voor Container Orchestrator toevoegen
(Afbeelding 16) Ondersteuning voor indeling toevoegen

Verbeteringen publiceren

Deze release bevat de volgende publicatieverbeteringen:

  • Wanneer u een Docker-container publiceert naar een containerregister, kunt u nu de tag voor de installatiekopieën aanpassen. U kunt handmatig een tag toevoegen (standaard is 'nieuwste') of een automatisch gegenereerde tag gebruiken om ervoor te zorgen dat elke tag uniek is.
  • Wanneer u een nieuwe Azure App Service maakt, kunt u Application Insights ook configureren om automatisch telemetrie te verzamelen. Als u een regio kiest die ook Application Insights heeft, is deze standaard ingeschakeld. Als u een regio kiest die nog geen Application Insights bevat, kunt u handmatig een andere regio opgeven voor uw Application Insights-resource in de vervolgkeuzelijst.
  • Wanneer u Azure Functions-projecten publiceert, kunt u ervoor kiezen om te publiceren met behulp van de nieuwe functie Uitvoeren vanaf zip .

Visual Studio Tools voor Xamarin

Deze release bevat de volgende updates voor Xamarin:

  • We hebben ondersteuning toegevoegd voor Xcode 9.4.
  • Wanneer u een nieuw Xamarin.Forms-project maakt, is de standaardoptie voor het delen van code nu .NET Standard. De optie gedeeld project is nog steeds beschikbaar.
  • We hebben incrementele buildverbeteringen voor Android toegevoegd. Xamarin.Android maakt gebruik van bestanden die zijn gegenereerd in de tussenliggende uitvoermap om incrementele builds te bereiken die sneller zijn dan volledige builds. Als u eerder het doelframework van uw project hebt gewijzigd, zou dit de bestanden ongeldig maken en resulteren in een volledige build op de volgende uitvoering. In deze release behouden we nu de bestanden in mappen per framework, zodat u kunt schakelen tussen verschillende doelframeworks en nog steeds profiteren van incrementele builds. Door het project op te schonen, kunt u de schijfruimte vrijmaken die wordt gebruikt door de bewaarde bestanden.
  • We hebben minimale ondersteuning toegevoegd voor Xamarin.Mac-bindingsprojecten in Visual Studio 2017. Hierdoor kan Visual Studio bindingsprojecten van Xamarin.Mac laden en herkennen zoals ondersteund. U kunt ook Xamarin.Mac-bindingsprojecten bouwen. Het buildproces wordt echter lokaal uitgevoerd zonder de systeemeigen Mac-hulpprogrammaketen te gebruiken, zodat de gegenereerde IL-assembly's niet kunnen worden gebruikt voor het uitvoeren of opsporen van fouten in apps.

Ondersteuning voor Hyper-V Android Emulator

Deze release voegt ondersteuning toe voor de Google Android-emulator die compatibel is met Hyper-V wanneer deze wordt uitgevoerd op de Update van Windows 10 april 2018 (afbeelding 17). Hiermee kunt u de Android-emulator van Google naast andere Hyper-V technologieën gebruiken, waaronder Hyper-V virtuele machines, Docker-hulpprogramma's, de HoloLens-emulator en meer. Ontwikkelaars van mobiele apps die gebruikmaken van Hyper-V hebben nu toegang tot een snelle Android-emulator die altijd ondersteuning biedt voor de nieuwste Android-API's, werkt met Google Play Services, en ondersteunt alle functies van de Android-emulator, waaronder camera, geolocatie en Quick Boot.

Schermopname van zowel de Google Android-emulator als de HoloLens-emulator die tegelijkertijd wordt uitgevoerd.
(Afbeelding 17) Google Android Emulator en HoloLens Emulator

Xamarin.Android Designer

We hebben belangrijke verbeteringen aangebracht in de ontwerpervaring voor Xamarin.Android. Hoogtepunten zijn onder andere:

  • Er is een editor voor gesplitste weergave geïntroduceerd waarmee u uw indelingen tegelijk kunt maken, bewerken en bekijken (afbeelding 18).
Schermopname van de split-view-editor van Xamarin.Android.
(Afbeelding 18) Xamarin.Android Split-view Editor
  • Verbeterde IntelliSense-ervaring en betrouwbaarheid van aangepaste besturingselementen.
  • Ondersteuning voor voorbeeldgegevens voor door het systeem geleverde waarden.

Xamarin.Forms Previewer

Xamarin.Forms Previewer biedt nu ondersteuning voor werksets bij het gebruik van Xamarin.Forms versie 3.1.0.583944 of hoger. Xamarin.Forms-besturingselementen worden weergegeven in de werkset, zodat ze beter kunnen worden gedetecteerd voor degenen die nieuw zijn in de toolkit. U kunt ook een besturingselement naar de XAML-code-editor slepen en neerzetten om het besturingselement toe te voegen aan de pagina. Xamarin.Forms Previewer maakt nu deel uit van de XAML-editor. U kunt het openen en sluiten met het uitvouwpictogram aan de rand van het deelvenster Editor.

Python

In deze release worden de volgende verbeteringen toegevoegd voor Python-ontwikkelaars:

  • Python IntelliSense maakt nu gebruik van typen definities om uitgebreidere resultaten te bieden voor bibliotheken waarbij automatisch aanvullen niet kan worden afgeleid door statische analyse.
  • Het experimentele foutopsporingsprogramma, dat voor het eerst werd aangekondigd in de preview-versies van 15.7, is nu de standaarddebug-engine die wordt gebruikt voor Python, en biedt snellere en betrouwbaardere foutopsporing voor Python-code.
  • We hebben ondersteuning toegevoegd voor Python 3.7, waaronder oplossingen voor het inschakelen van foutopsporingskoppelingen, profilering en functies voor foutopsporing in gemengde modus (cross-language).
  • Raadpleeg voor meer informatie over de bovenstaande functies ons blogbericht over Python in Visual Studio 2017 versie 15.8 .

Lokale Azure-functie-instellingen migreren

In het dialoogvenster Beheerde toepassingsinstellingen die beschikbaar zijn op de pagina Overzicht publiceren worden nu waarden uit uw local.settings.json-bestand weergegeven en kunt u waarden migreren naar uw externe Azure Function-app die wordt gehost in Azure.

Connected Services

U kunt nu continue levering voor Azure-functies rechtstreeks vanuit Visual Studio 2017 configureren voor oplossingen met Azure Function Projects.

Verbetering van Test Explorer

Test Explorer geeft nu een meer informatief samenvattingsvenster van de teststatus weer (onderste deelvenster van testverkenner) wanneer een van de groeperingen in de hiërarchieweergave is geselecteerd. In het deelvenster wordt nu weergegeven hoeveel tests zijn mislukt, geslaagd of niet worden uitgevoerd in die groep.

Nieuwe uitbreidbaarheidsfuncties

Taalserverprotocol

Visual Studio biedt nu systeemeigen ondersteuning voor het Language Server Protocol. Auteurs van extensies kunnen extensies maken die communiceren met bestaande taalservers om extra taalondersteuning toe te voegen aan Visual Studio. Gebruikers van extensies kunnen deze extensies installeren om hun favoriete taal te gebruiken in Visual Studio, zoals Rust.

AsyncPackage-sjabloon

Auteurs van extensies kunnen nu itemsjablonen gebruiken om AsyncPackages te maken om de prestaties van hun extensie te optimaliseren. Lees meer over AsyncPackages.

Uitbreidingspakketten

Deel eenvoudig uw favoriete set extensies of stel een nieuwe installatie van Visual Studio in met al uw extensies met behulp van een extensiepakket. Met extensiepakketten kunt u een lijst met extensies maken, ze verpakken in een extensie en deze snel gebruiken om deze extensies bulksgewijs te installeren.

Publicatie van opdrachtregeluitbreidingen

Publiceer uw extensies naar Visual Studio Marketplace met behulp van de opdrachtregel.

.NET Core SDK 2.1.400

Visual Studio 2017 versie 15.8 bevat .NET Core SDK 2.1.400. Nieuwe SDK-functies zijn onder andere:

  • NUnit-sjablonen toegevoegd
  • Ondersteuning toegevoegd voor ondertekende algemene hulpprogramma's
  • Verbeterde Help-tekst voor betere duidelijkheid

32 problemen zijn gesloten op de .NET Core CLI.
Er zijn 20 problemen gesloten op de .NET Core SDK.

Broncodebeheer

Voor .NET Core-projecten worden de juiste Git- en TFS-traceringspictogrammen in Solution Explorer weergegeven zonder dat u de oplossing opnieuw hoeft te laden.

Extensie voor .NET-testadapter

De .NET-testadapter heeft de volgende belangrijke wijziging en afschaffing:

  • Belangrijke wijziging: alle testprojecten moeten hun .NET-testadapter NuGet-verwijzing in hun csproj bevatten. Als dat niet zo is, wordt deze testuitvoer weergegeven in het project als de detectie door een testadapterextensie wordt gestart na een build of als de gebruiker de geselecteerde tests probeert uit te voeren:
    • Testproject {<Volledig pad van testproject>} verwijst niet naar een .NET NuGet-adapter. Testdetectie of -uitvoering werkt mogelijk niet voor dit project. Het wordt aanbevolen om te verwijzen naar NuGet-testadapters in elk testproject in de oplossing.
  • .NET-testframeworks hebben hun adapters uitgebracht in NuGet-pakketten en worden verwijderd van Visual Studio-extensies. De ondersteuning voor .NET-testadapters die via extensies worden geleverd, is afgeschaft, maar wordt nog steeds ondersteund. Dit betekent dat er twee nieuwe opties beschikbaar zijn in Extra > Opties > Testen.
    • Met de eerste optie kan Visual Studio alleen de testadapters gebruiken die worden gevonden in de testassemblymap (ingevuld door de NuGet-verwijzing van de testadapter) of zoals opgegeven in het runettings-bestand.
    • Met de tweede optie kan Visual Studio terugvallen op het oude gedrag en zoeken naar testadapterextensies voor projecten die geen NuGet-verwijzing voor testadapters hebben. Beide opties worden standaard gecontroleerd, dus er wordt geen standaardgedrag gewijzigd in deze release.
  • Opmerking: Non-.NET testadapters worden niet beïnvloed door deze wijziging.

ondersteuning voor .NET Framework-geheimen ASP.NET

Voor ASP.NET kunt u .NET Framework-projecten die zijn gericht op .NET Framework 4.7.1 of hoger, nu geheimen openen en opslaan die u niet in uw broncode wilt opnemen in usersecrets.xml door met de rechtermuisknop op het project te klikken en beheerde gebruikersgeheimen te selecteren.

Prestaties van .NET Framework verbeteren ASP.NET

Als het .NET Compiler-pakket waarnaar wordt verwezen verouderd is in een ASP.NET .NET Framework-project, wordt u gevraagd het pakket bij te werken wanneer u het project opent om de buildprestaties te verbeteren.

.NET Framework 4.7.2

Visual Studio 2017 versie 15.8 biedt nu de ontwikkelhulpprogramma's van .NET Framework 4.7.2 voor alle ondersteunde platforms met de runtime 4.7.2. .NET Framework 4.7.2 biedt verschillende nieuwe functies en verbeteringen, evenals talloze betrouwbaarheids-, stabiliteits-, beveiligings- en prestatiecorrecties.

Meer informatie over .NET Framework 4.7.2 vindt u in deze artikelen:

Pakketbelasting vertragen

Visual Studio vertraagt nu het laden van asynchrone pakketten die zijn geconfigureerd voor automatisch laden totdat de Visual Studio IDE volledig is gestart en de oplossing is geladen. Deze wijziging heeft geen invloed op synchroon automatisch geladen pakketten. Gebruikers kunnen het taakstatuscentrum in de linkerbenedenhoek van de statusbalk bekijken om de voortgang te controleren. Auteurs van extensies die asyncpackages maken, moeten hun extensie testen. Zie Verbetering van de reactiesnelheid van kritieke scenario's door het gedrag van automatische belasting voor extensies bij te werken voor meer informatie.


---

Pictogram Releaseopmerkingen Kennisgevingen van beveiligingsadvies voor Visual Studio 2017 versie 15.8

Visual Studio 2017 versie 15.8.7 Service Release- uitgebracht op 10 oktober 2018

CVE-2018-8292 .NET Core Information Disclosure Vulnerability

Er bestaat een beveiligingsfunctie omzeilingsprobleem in .NET Core wanneer HTTP-verificatiegegevens per ongeluk worden weergegeven in een uitgaande aanvraag die een HTTP-omleiding tegenkomt. Een aanvaller die dit beveiligingsprobleem heeft misbruikt, kan de informatie gebruiken om de webtoepassing verder in gevaar te brengen. Met de beveiligingsupdate wordt het beveiligingsprobleem opgelost door te corrigeren hoe .NET Core-toepassingen HTTP-omleidingen verwerken.

Visual Studio 2017 versie 15.8.4 Service Release- uitgebracht op 11 september 2018

CVE-2018-8409 .NET Core Denial of Service Vulnerability

Er bestaat een denial of service-beveiligingsprobleem in .NET Core 2.1 wanneer System.IO.Pipelines aanvragen onjuist verwerkt. Een aanvaller die dit beveiligingsprobleem heeft misbruikt, kan een Denial of Service veroorzaken voor een toepassing die gebruikmaakt van System.IO.Pipelines. Het beveiligingsprobleem kan extern worden misbruikt, zonder verificatie. Een externe niet-geverifieerde aanvaller kan dit beveiligingsprobleem misbruiken door speciaal gemaakte aanvragen aan de toepassing te verstrekken.

CVE-2018-8409 ASP.NET Core Denial of Service Vulnerability

Er bestaat een denial of service-beveiligingsprobleem in ASP.NET Core 2.1 die webaanvragen onjuist verwerkt. Een aanvaller die dit beveiligingsprobleem heeft misbruikt, kan een denial of service veroorzaken voor een ASP.NET Core-webtoepassing. Het beveiligingsprobleem kan extern worden misbruikt, zonder verificatie. Een externe niet-geverifieerde aanvaller kan dit beveiligingsprobleem misbruiken door een speciaal samengestelde webaanvragen te verstrekken aan de ASP.NET Core-toepassing.

Visual Studio 2017 versie 15.8- uitgebracht op 14 augustus 2018

CVE-2018-0952 Beveiligingsprobleem met diagnostische hub Standard Collector-uitbreiding van bevoegdheden

Er bestaat een beveiligingsprobleem met uitbreiding van bevoegdheden in een Visual Studio-service, wat kan leiden tot systeembevoegdheden door een niet-beheerdersgebruiker bij het schrijven van bestanden. Een aanvaller die hiervan gebruik heeft gemaakt, kan bestanden schrijven als systeem en alleen toegang op gebruikersniveau hebben. Met deze beveiligingsupdate wordt dit probleem opgelost door de huidige gebruiker te imiteren om de toegang tot de bestandslocatie te valideren.

Visual Studio 2017 versie 15.8 Preview 4 - uitgebracht op 10 juli 2018

CVE-2018-8172 Beveiligingsprobleem met uitvoering van Externe code in Visual Studio

Een beveiligingsprobleem met de uitvoering van externe code dat kan leiden tot exploitatie van de computer van een gebruiker door een speciaal ontworpen project of resourcebestand te openen. Met de beveiligingsupdate wordt het beveiligingsprobleem opgelost door te corrigeren hoe Visual Studio de bronmarkeringen van een bestand controleert.

CVE-2018-8260 .NET Framework Remote Code Execution Vulnerability

Er bestaat een beveiligingsprobleem met de uitvoering van externe code in .NET-software die kan leiden tot exploitatie van de computer van een gebruiker door aanvallers toe te staan willekeurige code uit te voeren in de context van de huidige gebruiker. Met de beveiligingsupdate wordt het beveiligingsprobleem opgelost door te corrigeren hoe .NET de bronmarkeringen van een bestand controleert.

CVE-2018-8232 .NET Microsoft Macro Assemblyer Manipulatie Beveiligingsprobleem

Beveiligingsprobleem met betrekking tot manipulatie met betrekking tot de Microsoft Macro Assembler valideert onjuist code. Met de beveiligingsupdate wordt het beveiligingsprobleem opgelost door ervoor te zorgen dat Microsoft Macro Assembler codelogica correct valideert.

CVE-2018-8171 ASP.NET Beveiligingsfunctie omzeilen beveiligingsprobleem

Er bestaat een ASP.NET Beveiligingsfunctie omzeilingsprobleem wanneer het aantal onjuiste aanmeldingspogingen niet is gevalideerd dat kan leiden tot een aanvaller die oneindige verificatiepogingen probeert uit te voeren. De update lost het beveiligingsprobleem op door het aantal onjuiste aanmeldingspogingen te valideren.

Visual Studio 2017 versie 15.8 Preview 3 - uitgebracht op 26 juni 2018

CVE-2018-11235 Microsoft-beveiligingsadvies voor Git-beveiligingslek

We hebben een beveiligingsprobleem opgelost in Git dat is bekendgemaakt door de Git-community. Het beveiligingsprobleem kan leiden tot willekeurige uitvoering van code wanneer een gebruiker een schadelijke opslagplaats kloont.

Visual Studio 2017 versie 15.8 Preview 1 - uitgebracht op 08 mei 2018

CVE-2018-0765 Microsoft Security Advisory for .NET Core Denial of Service Vulnerability

  • Microsoft brengt dit beveiligingsadvies uit om informatie te verstrekken over een beveiligingsprobleem in .NET Core en .NET native versie 2.0. Dit advies biedt ook richtlijnen voor wat ontwikkelaars kunnen doen om hun toepassingen bij te werken om dit beveiligingsprobleem te verwijderen.
  • Microsoft is op de hoogte van een denial of service-beveiligingsprobleem dat bestaat wanneer XML-documenten door .NET Framework en .NET Core onjuist worden verwerkt. Een aanvaller die dit beveiligingsprobleem heeft misbruikt, kan een denial of service veroorzaken voor een .NET Framework-, .NET Core- of .NET-systeemeigen toepassing.
  • Met de update wordt het beveiligingsprobleem opgelost door te corrigeren hoe .NET Framework-, .NET Core- en .NET-systeemeigen toepassingen XML-documentverwerking verwerken.
  • Als uw toepassing een ASP.NET Core-toepassing is, wordt ontwikkelaars ook aangeraden om bij te werken naar ASP.NET Core 2.0.8.

Pictogram Release Notes IconVisual Studio 2017 versie 15.8.1

uitgebracht op 17 augustus 2018

Belangrijkste problemen opgelost in 15.8.1

Dit zijn de problemen die in 15.8.1 zijn opgelost:

  • Er is een probleem opgelost waarbij Visual Studio onverwacht werd gesloten wanneer een browservenster werd gesloten tijdens het opsporen van fouten in een webproject.

Pictogram Release Notes IconVisual Studio 2017 versie 15.8.2

uitgebracht op 28 augustus 2018

Belangrijkste problemen opgelost in 15.8.2

Dit zijn de door de klant gerapporteerde problemen die in 15.8.2 zijn opgelost:


Pictogram Release Notes IconVisual Studio 2017 versie 15.8.3

uitgebracht op 6 september 2018

Belangrijkste problemen opgelost in 15.8.3

Dit zijn de door de klant gerapporteerde problemen die in 15.8.3 zijn opgelost:


Pictogram Release Notes IconVisual Studio 2017 versie 15.8.4

uitgebracht op 11 september 2018

Belangrijkste problemen opgelost in 15.8.4

Dit zijn de door de klant gerapporteerde problemen die in 15.8.4 zijn opgelost:

Kennisgevingen over beveiligingsadvies


Pictogram Release Notes IconVisual Studio 2017 versie 15.8.5

uitgebracht op 20 september 2018

Samenvatting van wat is er nieuw in 15.8.5

  • Visual Studio Tools voor Xamarin- ondersteunt nu Xcode 10.

Belangrijkste problemen opgelost in 15.8.5

Dit zijn de door de klant gerapporteerde problemen die in 15.8.5 zijn opgelost:

Details van wat er nieuw is in 15.8.5

Visual Studio Tools voor Xamarin

Visual Studio Tools voor Xamarin ondersteunt nu Xcode 10 waarmee u apps voor iOS 12, tvOS 12 en watchOS 5 kunt bouwen en er fouten in kunt opsporen. Bekijk hoe u zich kunt voorbereiden voor iOS 12 en onze inleiding tot iOS 12 voor meer informatie over de nieuwe functies die beschikbaar zijn.


Pictogram Release Notes IconVisual Studio 2017 versie 15.8.6

uitgebracht op 02 oktober 2018

Samenvatting van wat is er nieuw in 15.8.6

Belangrijkste problemen opgelost in 15.8.6

Dit zijn de door de klant gerapporteerde problemen die in 15.8.6 zijn opgelost:

Details van wat er nieuw is in 15.8.6

Nieuwste Ontwikkelaars van Windows 10 SDK voor universeel Windows-platform

De nieuwste Windows 10 SDK (build 17763) is nu beschikbaar als een optioneel onderdeel voor de universal Windows Platform-ontwikkelworkload. U kunt deze SDK toevoegen aan de workload door het selectievakje Windows 10 SDK (10.0.17763.0) in te schakelen.


Pictogram Release Notes IconVisual Studio 2017 versie 15.8.7

uitgebracht op 10 oktober 2018

Nieuw in 15.8.7

Azure DevOps

Visual Studio Team Services is nu Azure DevOps. U ziet deze nieuwe huisstijl in Team Explorer en in verwijzingen in Visual Studio.

Kennisgevingen over beveiligingsadvies

CVE-2018-8292 .NET Core Information Disclosure Vulnerability


Pictogram Release Notes IconVisual Studio 2017 versie 15.8.8

uitgebracht op 24 oktober 2018

Belangrijkste problemen opgelost in 15.8.8

Dit zijn de door de klant gerapporteerde problemen die in 15.8.8 zijn opgelost:


Pictogram Release Notes IconVisual Studio 2017 versie 15.8.9

uitgebracht op 2 november 2018

Belangrijkste problemen opgelost in 15.8.9

Dit zijn de door de klant gerapporteerde problemen die in 15.8.9 zijn opgelost:


bekende problemen

Bekijk alle bestaande bekende problemen en beschikbare tijdelijke oplossingen in Visual Studio 2017 versie 15.8.

Bekende problemen met Visual Studio 2017


Geschiedenis van releaseopmerkingen voor Visual Studio 2017

Zie voor meer informatie over eerdere versies van Visual Studio 2017 de Visual Studio 2017 Release Notes History pagina.