Visual Studio IconZpráva k vydání verze sady Visual Studio 2017 15.8


Komunita vývojářů | Požadavky na systém | Kompatibilita | Distribuovatelný kód | Licenční podmínky | Blogy | Známé problémy



Poznámka:

Nejedná se o nejnovější verzi sady Visual Studio. Pokud si chcete stáhnout nejnovější verzi, navštivte prosím web sady Visual Studio .


Časový rámec podpory

Tato verze už není podporována. Další informace o podpoře sady Visual Studio najdete v zásadách podpory pro Visual Studio 2017.

Přečtěte si nejnovější verzi poznámky k verzi nebo navštivte web sady Visual Studio a stáhněte si nejnovější podporovanou verzi sady Visual Studio 2017.

Visual Studio Blog

Blog o sadě Visual Studio je oficiální zdroj informací o produktu, které poskytuje tým technických specialistů sady Visual Studio. Podrobné informace o vydaných verzích sady Visual Studio 2017 verze 15.8 najdete v těchto příspěvcích:

Vydané verze sady Visual Studio 2017 ve verzi 15.8

Důležité

Oznámení o poradci Security Advisory sady Visual Studio 2017 verze 15.8

Krátký přehled zajímavých nových funkcí ve verzi 15.8

Hlavní chyby opravené ve verzi 15.8

Problémy hlášené zákazníky, které jsou vyřešené ve verzi 15.8:

Podívejte se na všechny problémy nahlášené zákazníky, které byly opraveny v sadě Visual Studio 2017 verze 15.8.

The Developer Community Portal


Podrobnosti o novinkách ve verzi 15.8

Release Notes IconVisual Studio 2017 verze 15.8.0

Vydáno 14. srpna 2018

Nové funkce ve verzi 15.8

Instalace

Nyní si můžete stáhnout všechny instalační soubory před zahájením instalace.

  • Pokud chcete tuto novou možnost využít, vyberte v instalačním programu volbu „Vše stáhnout, potom nainstalovat“ (obr. 1). Její použití se doporučuje, pokud máte pomalejší připojení k internetu.
  • Výchozí možností zůstává „Nainstalovat při stahování“, při které probíhá stahování a instalace současně.
Download Otion
(Obrázek 1) Možnost stáhnout

Výkon

Tato verze obsahuje následující vylepšení výkonu:

  • Přepínání větví u projektů v jazycích C#, VB a C++ je u velkých řešení mnohem rychlejší, protože už se nevyžaduje opětovné načítání řešení.
  • U velkých řešení jsme zkrátili dobu uvolnění a opětovného načtení malé sady projektů v jazycích C# a VB z řádu minut na několik sekund.
  • Přidali jsme možnost zakázat opětovné otevření dokumentů, které byly otevřené v předchozí relaci, protože takové otevírání může u některých typů souborů nebo návrhářů zpozdit načtení řešení.
    • Tuto možnost můžete přepnout v části Nástroje > Možnosti > Projekty > Řešení > Obecné.

Test výkonu

Výrazně jsme vylepšili výkon při spuštění několika testů u velkých řešení s více testovacími projekty. V našich testovacích prostředích provedlo řešení s více než 10 000 MSTesty jediný test až o 82 % rychleji.

Vylepšení výkonu jazyka Visual Basic

Visual Basic nově poskytuje výrazně vyšší výkon při použití vzoru CInt(Fix(number)) pro převod jiných než celých čísel na celočíselné typy.

Profilace výkonu

Tato verze obsahuje následující vylepšení profilace výkonu:

  • Přidali jsme možnost spuštění profilace v pozastaveném stavu:

    • Nástroj Využití CPU v profileru výkonu (ALT-F2) je nyní možné spustit v pozastaveném stavu (Obrázek 2). To se může hodit například tehdy, když čekáte na vhodný scénář pro šetření využití CPU. Pokud bude shromažďování dat o využití CPU při spuštění zakázané, profiler výkonu nebude sbírat žádná data zásobníku ze vzorkování využití procesoru až do doby, než ho výslovně povolíte. Ve výsledku se tak shromažďuje a analyzuje menší množství dat a zkoumání výkonu se zefektivní.

    • Pokud chcete spustit relaci se zakázaným vzorkováním využití CPU, klikněte na úvodní stránce profileru výkonu na ikonu ozubeného kola vedle nástroje Využití CPU. Na stránce vlastností tohoto nástroje zrušte zaškrtnutí políčka Povolit profilaci procesoru (vzorkování) a kliknutím na OK nastavení uložte.

      CPU Usage Tool settings page
      (Obrázek 2) Nastavení nástroje Využití CPU
    • Po spuštění cílové aplikace (kliknutím na Start na úvodní stránce profileru výkonu) se zobrazí graf využití procesoru (Obrázek 3), který vám umožní řídit profilaci procesoru. Pokud chcete povolit shromažďování dat zásobníku ze vzorkování využití procesoru, vyberte Povolit profilaci procesoru uprostřed zobrazení nebo klikněte na Zaznamenat profil CPU přímo pod grafem využití procesoru. Vzorkování dat můžete kliknutím na Zaznamenat profil CPU povolit nebo zakázat, kolikrát chcete. Barva grafu využití CPU se mění podle toho, jestli je v aktuální chvíli vzorkování povoleno nebo zakázáno.

      CPU Usage Tool monitoring view
      (Obrázek 3) Graf využití procesoru
  • Přidali jsme nástroj pro sledování přidělování objektů .NET:

    • Nástroj pro sledování přidělování objektů .NET je dalším z řady nástrojů, které jsou k dispozici v profileru výkonu. Při jeho vyvolání v relaci profileru výkonu se začne shromažďovat trasování zásobníku pro každé přidělení objektu .NET, k němuž dojde v cílové aplikaci. Tato data zásobníku se analyzují spolu s informacemi o typu a velikosti objektu za účelem zjištění podrobností o aktivitě paměti aplikace. V kódu tak můžete rychle určit zákonitosti přidělování a identifikovat anomálie. Kromě toho můžete na základě událostí uvolnění paměti snadno zjistit, které z objektů se shromáždily a uchovaly, a tím také rychle určit typy objektů, které ve využití paměti aplikace převládají.
    • To ocení hlavně tvůrci rozhraní API, kterým tato novinka pomůže minimalizovat přidělení. U řady aplikací sice dojde k přetečení limitů vyrovnávací paměti, které jsou součástí shromažďování diagnostických dat, ale u malých testovacích aplikací provádějících klíčové scénáře rozhraní API funguje diagnostika poměrně dobře. V době, kdy je testovací aplikace spuštěná, je v profileru výkonu k dispozici spojnicový graf živých objektů (počet) i pruhový graf rozdílu objektů (% změn).
    • Pokud chcete nástroj pro sledování přidělování objektů .NET použít, otevřete úvodní stránku profileru výkonu (Obrázek 4), vyberte cíl profilu (výchozí cíl je spouštěný projekt v řešení), v části Dostupné nástroje zaškrtněte Sledování přidělování objektů .NET a potom klikněte na Start.
    Performance Profiler launch page
    (Obrázek 4) Úvodní stránka profileru výkonu

Profilace výkonu (využití procesoru)

Tato verze obsahuje následující vylepšení nástroje Využití CPU v profileru výkonu (k dispozici prostřednictvím ALT-F2):

  • Zobrazení stromu volání nyní ve výchozím nastavení zobrazuje asynchronní spouštění logickým zásobníkem volání. Toto chování můžete vypnout zrušením zaškrtnutí možnosti Spojit asynchronní kód v rozevírací nabídce Filtr hlavního zobrazení nástroje Využití CPU.
  • Přidali jsme zobrazení modulů a funkcí, které zobrazuje informace o výkonu podle modulu (DLL) a funkce v rámci modulu. Zobrazení modulů a funkcí otevřete v místní nabídce dostupné po výběru funkce v hlavním zobrazení nástroje Využití CPU nebo v rozevírací nabídce Zobrazení v zobrazení stromu volání nebo v zobrazení volajícího a volaného.
  • Do grafu využití procesoru v hlavním zobrazení nástroje Využití CPU jsme přidali označení instance. V době provádění funkce (například v zásobníku) můžete instance zobrazit dvojím kliknutím na funkci uvedenou v jakémkoli zobrazení nástroje Využití CPU.

Produktivita

Tato verze obsahuje následující vylepšení produktivity:

  • V jazyce C# můžete provádět doplňková čištění kódu pomocí možnosti Formátovat dokument (Ctrl + K, D nebo Ctrl + E, D). Čištění nakonfigurujete kliknutím na Nástroje>Možnosti>Textový editor>C#>Styl kódu>Formátování>Obecné.
  • Přidali jsme další refaktoringy a rychlé akce pomocí ctrl + . nebo Alt + Enter:
    • Invertovat If umožňuje invertovat logiku v příkazech typu if-else. Tento refaktoring aktivujete umístěním kurzoru na klíčové slovo if.
    • Možnost Add parameter from method callsite (Přidat parametr z metody callsite) umožňuje přidat do metody parametr vložením argumentu do metody callsite a aktivací možnosti Rychlé akce a refaktoring.
    • Možnost Odebrat nadbytečné závorky odebere závorky okolo binárních operátorů, které nejsou pro kompilaci zásadní. Toto pravidlo stylu můžete nakonfigurovat prostřednictvím editoru nástrojů>>Editoru textu>C#>Styl>kódu Obecné nebo .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
    • Použití ternárních podmíněných výrazů v přiřazeních a návratových příkazech lze také nakonfigurovat jako pravidlo stylu v nástrojích>Možnosti>... nebo prostřednictvím .editorconfig:
      • dotnet_style_prefer_conditional_expression_over_assignment
      • dotnet_style_prefer_conditional_expression_over_return
  • Do okna Přejít na vše jsme přidali nové příkazy a vylepšení:
    • Možnost Go to Enclosing Block (Přejít na vnější blok) (Ctrl + Alt + šipka nahoru) umožňuje rychlou navigaci směrem nahoru na začátek vnějšího bloku kódu.
    • Možnost Přejít na další/předchozí problém (Alt + PgUp/PgDn) umožňuje přeskočit na další, respektive předchozí chybu, podtržení vlnovkou nebo žárovku.
    • Možnost Přejít na člen (Ctrl + T, M) se nyní ve výchozím nastavení váže na soubor. To můžete vrátit zpět na řešení přepnutím volby Rozsah na Aktuální dokument (Ctrl + Alt + C).
  • Díky podpoře více kurzorů můžete nyní libovolně vytvářet body vložení a výběry na více místech v souboru. To vám umožní přidávat, upravovat a odstraňovat text na větším počtu míst najednou.
    • Kurzory vložíte pomocí Ctrl + Alt + levé tlačítko myši.
    • Výběr a kurzor přidáte na další umístění odpovídající aktuálnímu výběru pomocí Shift + Alt + Ins.
    • Kompletní seznam akcí si zobrazíte kliknutím na Upravit > Více kurzorů.
  • Přístup ke kontextové navigační nabídce je možný pomocí Alt + `.
  • Konzistenci klávesových zkratek lze zajistit pomocí dvou nových profilů pro klávesnice: Visual Studio Code a ReSharper (Visual Studio). Tato schémata najdete v horní rozevírací nabídce v části Nástroje > Možnosti > Prostředí > Klávesnice.

Ladění

Tato verze obsahuje následující vylepšení ladění:

  • Pokud máte nainstalovaných více instancí sady Visual Studio 2017, můžete nyní vybrat, která z nich se má při ladění nasadit do rozšíření (obr. 5). Díky tomu můžete například pracovat v prodejním kanálu sady Visual Studio a současně mít v náhledovém kanálu spuštěné ladění.

    Select your debug instance
    (Obrázek 5) Výběr instance pro ladění
  • Nově můžete připojit Snapshot Debugger přímo ze stránky se souhrnem publikování (Obrázek 6).

    Attach Snapshot Debugger from Publish Summary page
    (Obrázek 6) Připojení Snapshot Debuggeru ze stránky Souhrn publikování
  • Nyní při ladění s minimálním výpisem s haldou podporujeme zobrazení spravovaných úloh prostřednictvím okna Úlohy.

Nástroje pro vývojáře Univerzální platforma Windows

Provedli jsme řadu důležitých vylepšení návrháře XAML u projektů určených pro univerzální platformu Windows s verzí cílové platformy Windows 10 Fall Creators Update (sestavení 16299) nebo novější. Mezi tato vylepšení patří:

  • Kolekce nově můžete upravovat v Kontrole vlastností.
  • Návrhář nyní umožňuje úpravy šablon a stylů včetně případů, kdy se definice těchto entit nacházejí v jiných dokumentech.
  • Vlastnosti typu IconElement (například Icon v AppBarButton) mají nově v Kontrole vlastností vlastní editor, takže je jejich nastavení jednodušší.
  • Návrhář, editor a možnost Upravit a pokračovat by už měly s x:DefaultBindMode fungovat správně.
  • Prostředí ve Správci vizuálního stavu v nástroji Blend nyní podporuje AdaptiveTrigger.

F# 4.5 a F# Tools for Visual Studio

V této verzi jsme představili jazyk F# verze 4.5. To také odpovídá nové rodině 4.5.x FSharp.Core (základní knihovna F#). Specifikace pro každou z těchto změn si můžete přečíst v úložišti F# RFC. V této verzi je také mnoho vylepšení nástrojů jazyka F# pro Visual Studio.

F# 4.5

Tady jsou některé z hlavních bodů jazyka F# verze 4.5:

Podpora span't<>

Implementovali Span<'T> jsme a související funkce, které umožňují efektivní spotřebu a produkci rozhraní API využívajících MemorySpanrefa -like konstruktorů, které jsou možné s jazykem F#. Mezi tyto funkce patří:

  • Nový typ voidptr
  • Nové funkce NativePtr.ofVoidPtr a NativePtr.toVoidPtr v FSharp.Core
  • Nové typy inref<'T> a outref<'T>, které představují parametry ByRef jen pro čtení, respektive jen pro zápis. V jazyce C# odpovídají in ref a out ref.
  • Možnost vytvářet struktury ByRefLike (například Span nebo ReadOnlySpan)
  • Možnost vytvářet struktury IsReadOnly
  • Implicitní přístup přes ukazatel, pokud se z metod vrací byref a inref
  • Možnost vytvářet členy rozšíření v byref/inref/outref

Tato sada funkcí opravuje chybu v počátečním návrhu parametru byref-return v jazyce F# 4.1, kde funkce, metody a vlastnosti vracející byref's nebyly implicitně dereferencovat návratovou hodnotu. Tuto změnu jsme zavedli proto, aby funkce zpracovávala návraty s ref stejným způsobem jako jazyk C#. Pokud anotace typu indikuje, že se právě používá implicitní přístup k návratům typu ref přes ukazatel, zobrazí se chybová zpráva.

Kromě toho tato sada funkcí také opravuje chybu v kompilátoru jazyka F#, kde bylo možné "nahrazení zlé struktury"; Tj. volání metody ve struktuře jazyka F# by mohlo nahradit skutečnou strukturu, která byla volána jiným. Parametr this ve struktuře se nyní považuje za inref<MyStruct> a chybová zpráva vám navrhuje přidat proměnlivé pole, pokud si přejete strukturu upravit.

Další informace o konstrukcích typu span a ref se dozvíte v dokumentu RFC pro tuto sadu funkcí.

Zápas! ve výpočetních výrazech

F# 4.5 zavádí match!nové klíčové slovo pro použití v rámci výpočetních výrazů, přispěl zcela John Wostenberg. Tento syntaktický cukr je ekvivalentem let! a jeho výsledkem je match. Další informace najdete v dokumentu RFC pro match!.

Rozvolnění nutnosti přetypovat nahoru tam, kde výrazy sekvencí, seznamů a polí využívají yield

F# 4.5 nyní uvolní některé případy, kdy upcast při použití yield bylo nutné převést podtyp na supertyp. Toto omezení již nebylo pro tyto výrazy nezbytné, protože jazyk F# 3.1 při použitíyield, takže to dělá věci konzistentnější s existujícím chováním. Další informace najdete v dokumentu RFC pro tuto funkci.

Povolení odsazení u závorek seznamů a polí

F# 4.5 teď uvolní pravidlo odsazení pro závorky seznamu a matice, které vyžadovaly odsazení jednoho oboru dopředu, když je na vlastním řádku. Tento předchozí požadavek byl vždy docela matoucí, zejména pro začátečníky do F#. Kromě toho se nevyžaduje pro výrazy sekvence jazyka F#. Výrazy polí a seznamů jsou tak stejně konzistentní jako výrazy pořadí. Další informace najdete v dokumentu RFC pro tuto funkci.

Případy výčtu generované jako veřejné

F# 4.5 nyní generuje případy výčtu jako veřejné za všech okolností, aby bylo v souladu s tím, jak jazyk C# generuje případy výčtu. To také usnadňuje nástrojům profilace analýzu protokolů z kódu F#, kde se hodnota místo názvu popisku vygenerovala. Další informace najdete v dokumentu RFC pro tuto funkci.

Vylepšení kompilátoru F#

Vylepšení kompilátoru jazyka F# kromě dříve zmíněných jazykových funkcí jsou v jazyce F# 4.5. Tady jsou některé z nich:

  • Vylepšili jsme výkon kompilátoru odebráním až 2,2 % všech přidělení v kompilátoru jazyka F# (v různých scénářích).
  • Opravili jsme chybu způsobující AccessViolatioNException při použití yield! s výčty založenými na strukturách.
  • Nyní je znovu možné dědit z FSharpFunc.
  • Koncová volání jsou ve výchozím nastavení zakázaná pro sestavení ladění jazyka F# pro .NET Core. Jsou povolené pro vydání, takže odpovídají desktopovým kompilátoru jazyka F#.
  • Normalizace odkazů F# byla opravena, aby bylo možné řídit přechodné odkazy sestavení zapsané do výstupního souboru. V .NET Core tak můžete provádět ekvivalent přesměrování sestav.
  • Opravili jsme chybu, která způsobovala ignorování chybové zpráv při pokusu o použití dynamického vyvolání u vložených funkcí. Tato zpráva se teď už rozšíří.
  • Jazyk F# teď respektuje WarningsNotAsErrors příznak, který můžete nastavit v souborech projektu.
  • Isaac Abraham vylepšil chybovou zprávu, která se zobrazovaná v případě, že větve porovnání vzorů nevracely stejnou podmínku typu.
  • Steffen Forkmann opravil problém způsobující vnitřní chybu při kompilaci implementace rozhraní bez implementace přetížení metody.
  • Gauthier Segay odebral některá nepotřebná kopírování polí ve fázi lexikální analýzy kompilátoru.
  • Neúplné shody vzorů v výčtech jazyka F# nyní vytvoří podrobné upozornění, které poskytuje příklad případu, který není pokryt, přispěl John Wostenberg.
  • Nově se respektuje `#nowarn "2003". Touto aktualizací přispěl Matthias Diitrich.
  • Steffen Forkmann opravil chybu, která způsobovala selhání metod rozšíření jazyka C#v překladu přetížení jazyka F#.
  • Steffen Forkmann odstranil vnitřní chybu datové struktury QueueList.
  • Na různých drobnějších optimalizacích a čištění kódu se podíleli Steffen Forkmann, Eugene Auduchinok a ncave.

Základní knihovna F# 4.5.x

Nyní jsou k dispozici následující doplňky k základní knihovně jazyka F#:

  • Vykonali jsme velký kus práce na vylepšování trasování zásobníků u výpočetních výrazů async { }. Nově byste v trasování zásobníků měli vidět uživatelský kód a uživatelská čísla řádků. Další informace najdete v dokumentu RFC pro tuto funkci.
  • Byla přidána rozhraní API typu FuncConvert.FromFunc a FuncConvert.FromAction přetížená typem System.Func a System.Action za účelem lepší vzájemné spolupráce s jazykem C#. Další informace najdete v dokumentu RFC pro tuto funkci.
  • K dispozici je nový typ ValueOption, první ze sady plánovaných funkcí určených pro lepší výkon aktivních vzorů. Další informace najdete v dokumentu RFC pro tuto funkci.
  • TryGetValue je nyní novým členem typu mapování jazyka F#. Další informace najdete v dokumentu RFC pro tuto funkci.
  • Odstranili jsme problém s vysokým využitím procesoru při prvním volání MailboxProcessor.TryReceive.
  • Při porovnávání pro bool se nyní využívá rychlé obecné srovnání. Autorem je Vasil Kirichenko.
  • Souhrnný text k Array.allPairs je přispěním Patricka McDonalda aktualizovaný a správný.

Vylepšení nástrojů jazyka F#

Tato verze obsahuje významná vylepšení nástrojů F#, jako jsou vylepšení výkonu a některé nové funkce editoru. Stejně jako vždy, s velkým počtem příspěvků od opensourcové komunity jazyka F#. Zde jsou ty nejdůležitější:

  • Zlepšili jsme výkon IntelliSense pro všechny formy projektů založených na sadě .NET SDK včetně těch, které využívají cílení na více verzí.
  • Ke komunitou iniciované snaze analyzovat a vylepšovat výkon funkce IntelliSense u velmi rozsáhlých souborů přispěli Vasil Kirichenko, Steffen Forkmann a Gauthier Segay. Funkce IntelliSense je u takových projektů (nad 10 tisíc řádků kódu) nyní asi dvakrát rychlejší.
  • V projektech založených na sadě .NET SDK se už nezobrazuje upozornění na zastaralé FSharp.Core (bez ohledu na nainstalovaný balíček).
  • Popis tlačítka zobrazující dokumentaci XML pro člena po . ve funkci IntelliSense se zobrazuje i po uplynutí deseti sekund.
  • Byla opravena chyba, kdy nešlo nastavit zarážky v argumentech konstruktoru objektů.
  • Byla odstraněna chyba, kdy se přejmenovaný symbol duplikoval, pokud představoval obecný parametr.
  • Šablony pro .NET Framework (klasické šablony F#) teď využívají FSharp.Core z balíčku NuGet, aby byly v souladu se šablonami sady .NET SDK F#.
  • Automatické, transakční uzavírání hranatých závorek je teď k dispozici pro tyto páry závorek: (), [], {}, [||] a [<>]. Na tomto jsme spolupracovali s Gibranem Rosou.
  • Teď můžete přejít k definici pomocí ctrl a kliknutí na symbol F#. Nastavení tohoto gesta platí i v okně Nástroje > Možnosti.
  • Výkonné uživatelské rozhraní IntelliSense jsme upravili tak, aby u různých funkcí integrovaného vývojového prostředí (IDE) umožňovalo konfiguraci zastaralých informací o kontrole typů. Vysvětlení jednotlivých možností jsou teď k dispozici v popisech pro nastavení.
  • Zvýraznění spárovaných závorek teď závorky zvýrazní správně. Dokončeno ve spolupráci s Vasilyem Kirichenkem.
  • Definice „Přejít na“ teď přejde správně, pokud je typ definovaný rekurzivně. Pomocí přispěl Vasily Kirichenko.
  • Vasily Kirichenko opravil chybu, při které se neotevřel automaticky importovaný obor názvů, když byl začátek souboru prázdný.
  • Vasily Kirichenko opravil chybu, při které specifikátory printf obsahující tečky měly špatnou barvu.
  • Vasily Kirichenko opravil chybu, při které se všechna otevření považovala v rekurzivním modulu za nepoužívaná.
  • Vasily Kirichenko značně zlepšil výkon analyzátoru nepoužívaných otevření.
  • Automatické doplňování pro atributy teď navrhuje pouze možnosti, které ve skutečnosti atributy jsou. Pomocí přispěl Vasily Kirichenko.
  • Popisy tlačítek nápovědy k podpisu se nyní generují pro statické parametry zprostředkovatele typu na webu volání konstruktoru. Pomocí přispěl Vasily Kirichenko.
  • Vasily Kirichenko opravil chybu, při které typy hodnot používané jako jednotky měr měly stejnou barvu jako odkazové typy.
  • Vasily Kirichenko opravil chybu, při které sémantické barevné zvýraznění mohlo při posouvání u některých souborů zmizet.
  • Nyní existuje experimentální implementace funkce CodeLens. Pomocí přispěl Victor Peter Rouven Müller. Můžete ho zapnout v editoru možností > textového editoru > F# > Code Lens.
  • Sebastian Urban opravil chybu, kdy služba kompilátoru jazyka F# nesprávně stanovila názvy modulů v dokumentaci XML.
  • Eugene Auduchinok změnil kód, který používá Dictionary s ContainsKey a následnými voláními Item tak, aby používal TryGetValue.
  • Při úpravě využívání jiného rozhraní API pro popisy tlačítek přispěl také Jakob Majoka.

Vylepšení infrastruktury, vytváření balíčků a Open Sourcu

V rámci infrastruktury, vytváření balíčků a přispívání v prostředí Open Sourcu jsme provedli následující vylepšení:

  • Kompilátor jazyka F# distribuovaný se sadou Visual Studio se už nenainstaluje jako jediné umístění v sadě SDK kompilátoru jazyka F#. Nyní je zcela vedle sady Visual Studio, což znamená, že souběžné instalace sady Visual Studio budou mít skutečně souběžné nástroje a jazykové prostředí jazyka F#.
  • Balíček FSharp.Core NuGet je nyní podepsaný.
  • Protokolování Trasování událostí pro Windows bylo přidáno do nástrojů a kompilátoru jazyka F#.
  • Velmi velké soubory control.fs/control.fsi v FSharp.Core jsme rozdělili do souborů async.fs/async.fsi, event.fs/event.fsi, eventmodule.fs/eventmodule.fsi, mailbox.fs/mailbox.fsi a observable.fs/observable.fsi.
  • Přidali jsme verze našich artefaktů zátěžového testu projektové výkonnosti založených na sadě .NET SDK.
  • Z našeho základu kódu jsme odebrali Newtonsoft.json, takže teď máte o jeden stažený balíček pro přispěvatele OSS méně.
  • Nyní používáme nejnovější verze System.Collections.Immutable a System.Reflection.Metadata.

Vylepšení souladu a nástrojů jazyka C++

Tato verze obsahuje následující vylepšení souladu a sady nástrojů jazyka C++:

  • Nový, experimentální preprocesor založený na tokenech, který je v souladu s 11 standardy (včetně preprocesorových funkcí C99), zapnete přepínačem /experimental:preprocessor. Ten je ovládaný makrem _MSVC_TRADITIONAL, které je definované číslem 1, když používá tradiční preprocesor, a číslem 0, když používá nový, experimentální preprocesor splňující standardy.
  • Příkazový řádek pro vývojáře v sadě Visual Studio umožňuje používat moduly Runtime Visual C++ se zmírněním dopadu útoků Spectre varianta 1 (-vcvars_spectre_libs = spectre). Další informace o zmírněních chyby zabezpečení Spectre najdete na týmovém blogu Visual C++.
  • Dva nové doplňky optimalizátoru SSA zaměřené na moderní generování kódu jazyka C++: odstranění nadbytečného úložiště a skládání nadbytečných větví.
  • Optimalizovaný výkon vstupně-výstupních operací v linkeru mapovaných v paměti urychluje propojování.

Vývoj pro různé platformy jazyka C++

V této verzi jsme přidali a vylepšili následující vývoj pro různé platformy jazyka C++:

  • Podle konvencí psaní kódu pro ClangFormat jsme v části Nástroje>Možnosti přidali šablonu Přidat>Nová položka pro generování souboru clang-format. Pokud je konvence sady Visual Studio vybraná, generovaný soubor se pokusí soubor vytvořit podle aktuální konfigurace formátování uživatele sady Visual Studio v části Nástroje > Možnosti.
  • Soubor clang-format.exe jsme aktualizovali na verzi 6.0.0.
  • Vytvořili jsme šablony zjednodušující přidávání konfigurací do souboru CppProperties.json.
  • Přidali jsme šablony zjednodušující přidávání konfigurací do souboru CMakeSettings.json(Obrázek 7).
Configuration templates for CMake
(Obrázek 7) Šablony konfigurace pro CMake

Produktivita jazyka C++

V rámci produktivity jazyka C++ jsme provedli následující vylepšení:

  • Popisky Rychlé informace pro makra v jazyce C++ teď místo definice zobrazují, jak vypadají po rozbalení. To se hodí hlavně u komplexních maker, která odkazují na další makra, protože to vysvětlí, čím preprocesor nahradí identifikátor makra.
  • Přidali jsme novou žárovku rychlé opravy, která jako nový nástroj modernizace kódu převede základní makra na constexpr.
  • IntelliSense pro šablony vám poskytne více podrobností o argumentech šablony, abyste mohli IntelliSense v těle šablony plně využít (Obrázek 8).
Template IntelliSense
(Obrázek 8) Šablona IntelliSense
  • Pracujeme na aktualizaci našeho prostředí analýzy kódu. Nové, nedokončené funkce můžete nyní povolit v části Nástroje>Možnosti>Textový editor>C++>Experimentální>Analýza kódu. Analýza kódu může běžet na pozadí, když jsou soubory otevřené nebo uložené, a výsledky se zobrazí v seznamu chyb a jako zelené podtržení vlnovkou v editoru (Obrázek 9).
In-editor code analysis
(Obrázek 9) Analýza kódu v editoru

Vylepšení ladění jazyka C++

Provedli jsme následující vylepšení ladění:

  • Funkce Pouze můj kód vám teď kromě sbalení volání v okně zásobníku volání umožňuje i krokovat kód ze systému nebo knihoven C++ třetích stran. Když je váš kód zkompilovaný pomocí /JMC a cesty k neuživatelským knihovnám jsou uvedené v souboru .natjmc, můžete toto chování ovládat u všech knihoven C++. Pokud systémová knihovna volá uživatelský kód, když do něj vkročíte, ladicí program přeskočí veškerý systémový kód a zastaví se na prvním řádku zpětného volání uživatelského kódu (Obrázek 10).
Just My Code
(Obrázek 10) Pouze můj kód
  • Datové zarážky je teď možné nastavit uvnitř oken Kukátko, Rychlé kukátko, Automatické hodnoty a Místní hodnoty, takže když se hodnota uložená v paměti změní, můžete několika rychlými kliknutími vytvořit zarážku.
  • Zdrojový odkaz vám umožní během kompilace vkládat informace o původním zdrojovém kódu spustitelného souboru nebo knihovny do PDB.
  • Když program ukončí operaci, zůstane teď při ladění okno konzoly ve výchozím nastavení otevřené (podobně jako když program spustíte bez ladicího programu). Toto chování (aby se konzola zavírala automaticky) můžete přepnout zpět v části Nástroje > Možnosti > Ladění > Obecné.

Vylepšení JavaScriptu a TypeScriptu

TypeScript 3.0

Visual Studio 2017 verze 15.8 teď ve výchozím nastavení obsahuje TypeScript 3.0. Podrobné informace o této verzi najdete v článku s oznámením o vydání TypeScriptu verze 3.0.

Vylepšená podpora Vue.js

Vylepšili jsme podporu pro knihovnu Vue.js, zejména podporu pro soubory .vue označované také jako „součásti v jednom souboru“. Zlepšuje se tím úprava bloků skriptu uvnitř souborů .vue, včetně podpory pro bloky skriptů napsané v jazyce TypeScript prostřednictvím atributu lang="ts" elementu skriptu. (Poznámka: Proces sestavení používající WebPack nebo podobný musí být použit k převodu souborů .vue na soubory HTML a JS potřebné za běhu. Další podrobnosti najdete na stránce s komponentami s jedním souborem.

Pokud je nainstalovaná úloha Node.js, budou teď v okně Nový projekt u cesty „JavaScript / Node.js“ nebo „TypeScript / Node.js“ šablony „Basic Vue.js Web Application“. Níže uvedený příklad zobrazuje úpravu kódu jazyka TypeScript uvnitř bloku skriptu v souboru .vue (Obrázek 11).

Editing a .vue file
(Obrázek 11) Úprava souborů .vue

Vylepšení ESLintu

V této verzi jsme opět přidali podporu ESLintu. ESLint obsahuje následující vylepšení a rozšíření:

  • Visual Studio teď bude analyzovat nejen kód uložených javascriptových souborů, ale i kód souborů, které právě upravujete.
  • Výsledky můžete ohlásit nejen pro otevřené soubory, ale pro všechny javascriptové soubory v projektu. Pokud u některých částí projektu nechcete kód analyzovat, můžete teď použít soubor .eslintignore, kterým určíte adresáře a soubory, které se mají ignorovat.
  • ESLint jsme aktualizovali, aby používal ve výchozím nastavení ESLint 4, ale pokud má váš projekt místní instalaci ESLintu, použije tuto verzi.

ESLint můžete v celém Visual Studiu zakázat zrušením zaškrtnutí u nastavení Povolit ESLint v části **Nástroje > Možnosti > Textový editor > Javascript/Typescript > Analyzování kódu ** (Obrázek 12).

ESLint Options
(Obrázek 12) Možnosti ESLintu

Vylepšení otevřené složky pro Node.js

Když máte nainstalovanou „úlohu Node.js“, existuje při práci s JavaScriptem a TypeScriptem ve scénáři otevřené složky spousta vylepšení. Například správa balíčků NPM, sestavování TypeScriptu, spouštění a ladění pomocí Node.exe, spouštění skriptů NPM a spouštění testů jednotek.

Další informace najdete v článku o vývoji kódu jazyka JavaScript a TypeScript v sadě Visual Studio bez řešení nebo projektů.

Vylepšení výkonu editoru

V předchozích verzích všechny operace služby jazyka JavaScript a TypeScript obsluhoval jediný proces Node.js. To mohlo způsobit zpomalení editoru, kdyby se příkazy, které ovlivňují zadávání uživatelem (jako je automatické formátování za novým řádkem), odeslaly ve stejnou chvíli, ve které už běžela jiná potenciálně dlouhotrvající operace (jako je kontrola chyb v kódu). Abychom tomu předešli, používá se nyní pro operace nejvíce ovlivňující zadávání samostatný proces. Tento proces je podstatně méně náročný na systémové prostředky než existující proces služby jazyka. Pokud však chcete tento nový proces zakázat, tak v části Nástroje > Možnosti > Textový editor > JavaScript/TypeScript> Služba jazyka zaškrtněte pole Zakázat vyhrazený proces syntaxe.

Visual Studio Web Tools

Správce knihovny je nová funkce zahrnutá v sadě Visual Studio 2017. Pomůže vám ve vašich projektech spravovat knihovny na straně klienta.

Nástroje pro kontejnery

Přidali jsme nové prostředí kontejneru Dockeru pro jednotlivé webové projekty ASP.NET Core. Doplňuje už existující nástroj pro kontejnery založený na Docker Compose a přináší jednodušší způsob vytváření, ladění a sestavování kontejnerů Dockeru přímo v sadě Visual Studio.

Podporu Dockeru můžete přidat při vytváření projektu (Obrázek 13):

Enable Docker Support
(Obrázek 13) Povolení podpory Dockeru

Podporu Dockeru také můžete povolit pro existující projekt prostřednictvím místní nabídky projektu v Průzkumníku řešení (Obrázek 14). Jakmile to uděláte, Visual Studio vytvoří v projektu soubor Dockerfile. Máte možnost si vybrat mezi Windows a Linuxem.

Add Docker Support
(Obrázek 14) Přidání podpory Dockeru

Visual Studio přidá Dockeru také profil spuštění ladicího programu (Obrázek 15), abyste mohli projekt v rámci kontejneru ladit za běhu.

Docker Launch Profile
(Obrázek 15) Profil spuštění Dockeru

Pokud máte řešení s více projekty Dockeru, spustí se ve výchozím nastavení pouze jeden kontejner, když se rozhodnete řešení spustit. Pokud chcete spustit více kontejnerů současně, můžete u všech projektů, které chcete spustit, kliknout pravým tlačítkem na řešení v Průzkumníku řešení a vybrat Nastavit projekty po spuštění, pak Více projektů po spuštění a nakonec rozevírací seznam Akce nastavit na Spustit nebo Spustit bez ladění.

Jakmile kontejnerizovaný projekt poběží požadovaným způsobem a vy budete připravení nahrát image do Azure Container Registry nebo DockerHubu, můžete kliknout pravým tlačítkem na projekt a vybrat Sestavit Image Dockeru, abyste ji sestavili místně.

Do webového projektu ASP.NET Core můžete také prostřednictvím nové možnosti Container Orchestrator Support (Podpora orchestrátoru kontejnerů) přidat existující funkci založenou na Docker Compose (Obrázek 16). Klikněte v Průzkumníku řešení pravým tlačítkem na webový projekt ASP.NET Core, vyberte Přidat > Container Orchestrator Support a pak z rozevírací nabídky vyberte Docker Compose.

Add Container Orchestrator Support
(Obrázek 16) Přidání podpory orchestrace

Vylepšení publikování

Tato verze obsahuje následující vylepšení publikování:

  • Při publikování kontejneru Dockeru do registru kontejneru teď můžete přizpůsobit značku obrázku. Můžete buď značku přidat ručně (výchozí hodnota je „latest“ (nejnovější)), nebo použít automaticky vygenerovanou značku, abyste měli jistotu, že jsou jednotlivé značky jedinečné.
  • Při vytváření nové služby Azure App Service můžete také nakonfigurovat službu Application Insights, aby automaticky shromažďovala telemetrická data. Pokud zvolíte oblast, která už službu Application Insights má, bude ve výchozím nastavení povolená. Pokud zvolíte oblast, která ještě Application Insights nemá, můžete pro váš prostředek služby Application Insights zadat ručně jinou oblast z rozevíracího seznamu.
  • Při publikování projektů Azure Functions je můžete publikovat pomocí nové funkce Run-From-Zip.

Nástroje sady Visual Studio pro Xamarin

Tato verze obsahuje následující aktualizace pro Xamarin:

  • Přidali jsme podporu pro Xcode 9.4.
  • Když vytvoříte nový projekt Xamarin.Forms, výchozí možnost sdílení kódu je teď .NET Standard. Možnost sdíleného projektu je stále k dispozici.
  • Přidali jsme vylepšení přírůstkového sestavení pro Android. Xamarin.Android používá soubory vygenerované do adresáře s dočasným výstupem. S jejich pomocí může sestavovat přírůstkově, což je rychlejší než úplné sestavování. Když jste dříve změnili cílovou architekturu projektu, znamenalo to zneplatnění souborů a při dalším spuštění se muselo provést úplné sestavení. V této verzi zachováváme soubory ve složkách podle jednotlivých rozhraní, abyste mohli přepínat mezi cílovými architekturami a stále využívat výhod přírůstkového sestavování. Vyčištění projektu umožňuje uvolnit místo na disku využité zachovanými soubory.
  • Do sady Visual Studio 2017 jsme přidali minimální podporu pro vazební projekty Xamarin.Mac. To sadě Visual Studio umožňuje načítat a rozpoznávat vazební projekty Xamarin.Mac jako podporované. Vazební projekty Xamarin.Mac můžete i sestavovat. Proces sestavení se ale provádí místně bez nativního řetězce nástrojů Macu, takže vygenerovaná sestavení IL se nedají použít ke spuštění a ladění v aplikacích.

Podpora emulátoru Androidu technologie Hyper-V

Tato verze přidává podporu pro Google Android Emulator, který je kompatibilní s technologií Hyper-V, když se spustí na Windows 10 April 2018 Update (obrázek 17). To umožňuje používat Google Android Emulator spolu s ostatními technologiemi založenými na Hyper-V, včetně virtuálních počítačů Hyper-V, nástrojů Docker, emulátoru HoloLens a dalších. Vývojáři mobilních aplikací, kteří používají Hyper-V, teď mají přístup k rychlému emulátoru Androidu, který vždy podporuje nejnovější rozhraní API Androidu, ihned po instalaci spolupracuje se službami Google Play a podporuje všechny funkce Android Emulatoru, včetně fotoaparátu, zjišťování geografické polohy a Rychlého spouštění.

Screenshot of both the Google Android emulator and HoloLens emulator running at the same time.
(Obrázek 17) Google Android Emulator a emulátor HoloLens

Xamarin.Android Designer

Významně jsme vylepšili prostředí návrháře pro Xamarin.Android. Nejdůležitější novinky:

  • Přibylo rozdělené zobrazení editoru, které umožňuje vytvářet, upravovat a zobrazovat náhledy rozložení najednou (Obrázek 18).
Screenshot of the Xamarin.Android split-view editor.
(Obrázek 18) Rozdělené zobrazení editoru Xamarin.Android
  • Vylepšené prostředí IntelliSense a spolehlivost vlastních ovládacích prvků
  • Podpora ukázkových dat pro systémem poskytnuté hodnoty

Xamarin.Forms Previewer

Když se používá Xamarin.Forms ve verzi 3.1.0.583944 nebo vyšší, Xamarin.Forms Previewer teď podporuje sadu nástrojů. V sadě nástrojů se budou zobrazovat ovládací prvky Xamarin.Forms, aby je ti, kteří práci se sadou nástrojů ještě neznají, snadněji našli. Přidat ovládací prvek na stránku můžete i tak, že ho přetáhnete do editoru kódu XAML. Xamarin.Forms Previewer je teď součástí editoru XAML. Můžete ho otevřít a zavřít pomocí ikony pro rozbalení na okraji podokna editoru.

Python

Vývojářům v Pythonu tato verze přináší následující vylepšení:

  • Python IntelliSense teď používá definice typeshed, pomocí kterých poskytuje propracovanější výsledky pro knihovny, kde se automatické dokončování nedá vyvodit statickou analýzou.
  • Experimentální ladicí program, který se poprvé oznámil ve verzích Preview 15.7, je teď pro Python výchozí ladicí stroj. Nabízí totiž rychlejší a spolehlivější ladění pythonového kódu.
  • Přidali jsme podporu Pythonu 3.7, včetně oprav, které umožní používat funkce připojení ladění, profilace a smíšeného režimu (s různými jazyky).
  • Další informace o výše uvedených funkcích najdete na našem blogovém příspěvku o Pythonu v sadě Visual Studio 2017 verze 15.8.

Migrace místních funkcí Azure Functions Nastavení

Dialog Spravovat nastavení aplikace, který najdete na stránce se souhrnem publikování, teď zobrazuje hodnoty ze souboru local.settings.json a umožňuje migrovat hodnoty do vzdálené aplikace Azure Functions hostované v Azure.

Připojené služby

Pro řešení s projekty Azure Functions teď můžete konfigurovat průběžné doručování funkcí Azure Functions přímo ze sady Visual Studio 2017.

Vylepšení Průzkumníka testů

Když se v Průzkumníkovi testů vybere jedno ze seskupení v hierarchickém zobrazení, v podokně souhrnu stavu testu (podokno Průzkumníka testů dole) se teď zobrazuje více informací. Podokno teď ukazuje, kolik testů neproběhlo úspěšně, kolik jich úspěšných naopak bylo nebo kolik se jich pro dané seskupení nespustilo.

Nové funkce rozšíření

Protokol jazyka serveru

Visual Studio teď nativně podporuje protokol LSP (Language Server Protocol). Autoři rozšíření můžou vytvářet rozšíření, která komunikují s existujícími jazykovými servery. Díky tomu můžou do sady Visual Studio přidat další podporu jazyků. Uživatelé těchto rozšíření si je můžou nainstalovat a začít v sadě Visual Studio používat svůj oblíbený jazyk, třeba Rust.

Šablona AsyncPackage

Autoři rozšíření teď můžou používat šablony položek, pomocí kterých vytvoří balíčky AsyncPackage. Ty jim pomůžou optimalizovat výkon rozšíření. Získejte další informace o balíčcích AsyncPackage.

Balíčky rozšíření

Pomocí balíčku rozšíření můžete snadno sdílet svou oblíbenou sadu rozšíření nebo vytvořit novou instalaci sady Visual Studio se všemi svými rozšířeními. Balíčky rozšíření umožňují vytvořit seznam rozšíření a zabalit je do jednoho rozšíření, pomocí kterého se pak všechna rozšíření rychle nainstalují najednou.

Publikování rozšíření pomocí příkazového řádku

Svá rozšíření můžete publikovat do Visual Studio Marketplace pomocí příkazového řádku.

.NET Core SDK 2.1.400

Visual Studio 2017 verze 15.8 obsahuje .NET Core SDK 2.1.400. Mezi nové funkce sady SDK patří:

  • Přidaly se šablony NUnit.
  • Přidala se podpora podepsaných globálních nástrojů.
  • Vylepšil se text nápovědy, který je teď jasnější.

V .NET Core CLI se uzavřelo 32 problémů.
V sadě .NET Core SDK se uzavřelo 20 problémů.

Správa zdrojového kódu

U projektů .NET Core budou soubory, které se do projektu přidaly přes Průzkumníka souborů, zobrazovat v Průzkumníkovi řešení správné ikony sledování Gitu a TFS (Team Foundation Server) bez toho, aby se muselo znovu načíst řešení.

Rozšíření testovacího adaptéru .NET

Adaptér testu .NET obsahuje následující změnu způsobující chybu a vyřazení:

  • Změna způsobující chybu: Všechny projekty testů musí v souboru csproj obsahovat odkaz na NuGet adaptéru testu .NET. Pokud ne, zobrazí se tento výstup testu v projektu, pokud se po sestavení spustí zjišťování rozšířením testovacího adaptéru nebo pokud se uživatel pokusí spustit vybrané testy:
    • Testovací projekt {<Úplná cesta testovacího projektu>} neodkazuje na žádný adaptér NuGet .NET. Pro tento projekt možná nebude fungovat zjišťování a spouštění testů. Doporučuje se odkazovat na adaptéry testů v každém projektu testů v řešení.
  • Testovací systémy .NET vydávají své adaptéry v balíčcích NuGet a opouštějí rozšíření sady Visual Studio. Podpora adaptérů testů .NET doručených prostřednictvím rozšíření je zastaralá, ale stále se podporuje. To znamená, že v nabídce Nástroje> Možnosti >Test jsou k dispozici dvě nové možnosti.
    • První možnost umožňuje sadě Visual Studio používat jen adaptéry testů, které najde ve složce sestavení testu (naplněné odkazem NuGet na adaptér testu) nebo podle obsahu souboru runsettings.
    • Druhá možnost umožňuje sadě Visual Studio vrátit se ke starému chování a pro projekty, které nemají odkaz NuGet na adaptér testu, vyhledávat rozšíření adaptéru testu. Obě možnosti jsou standardně zaškrtnuté, proto se v této verzi nemění žádné výchozí chování.
  • Poznámka: Na adaptéry testů technologie jiné než .NET tato změna nemá vliv.

podpora tajných kódů rozhraní .NET Framework ASP.NET

Projekty ASP.NET .NET Framework, které cílí na .NET Framework 4.7.1 a vyšší, teď můžou otevírat a ukládat tajné kódy, které nechcete mít ve zdrojovém kódu, do souboru usersecrets.xml. Stačí kliknout pravým tlačítkem na projekt a vybrat Spravovat tajné kódy uživatelů.

Vylepšení výkonu rozhraní .NET Framework ASP.NET

Pokud je balíček .NET Compiler, na který se odkazuje, v projektu ASP.NET .NET Framework zastaralý, Visual Studio vás při otevření projektu vyzve k upgradu tohoto balíčku, aby se zlepšil výkon při sestavování.

.NET Framework 4.7.2

Visual Studio 2017 verze 15.8 teď nabízí nástroje pro vývoj .NET Framework 4.7.2 pro všechny podporované platformy se zahrnutým modulem runtime 4.7.2. .NET Framework 4.7.2 nabízí několik nových funkcí a vylepšení, jakož i četné opravy v oblasti spolehlivosti, stability, zabezpečení a výkonu.

Další podrobnosti o rozhraní .NET Framework 4.7.2 najdete v těchto článcích:

Zpoždění načtení balíčku

Visual Studio teď zpožďuje načítání asynchronních balíčků, které jsou nakonfigurované na automatické načítání, dokud se integrované vývojové prostředí (IDE) Visual Studio zcela nespustí a nenačte se řešení. Tato změna nemá vliv na synchronně automaticky načtené balíčky. Uživatelé můžou stav sledovat v Centru stavu úloh v dolním levém rohu stavového řádku. Autoři rozšíření, kteří vytvářejí asynchronní balíčky, by měli otestovat svá rozšíření. Další informace najdete v článku o aktualizaci chování automatického načítání pro rozšíření, která vylepšuje rychlost odezvy kritických scénářů.


---

Release Notes Icon Oznámení o informačním zpravodaji zabezpečení pro Visual Studio 2017 verze 15.8

Servisní vydání sady Visual Studio 2017 verze 15.8.7– vydaná 10. října 2018

CVE-2018-8292 – ohrožení zabezpečení spočívající ve zpřístupnění informací v .NET Core

V .NET Core bylo zjištěno ohrožení zabezpečení spočívající v obejití funkce zabezpečení, kdy by ověřovací údaje HTTP mohly být nechtěně zpřístupněny v odchozí žádosti, která se setká s přesměrováním HTTP. Útočník, který by tuto chybu zabezpečení úspěšně zneužil, by mohl získané informace využít k dalšímu narušení webové aplikace. Tato aktualizace zabezpečení řeší toto ohrožení zabezpečení tím, že opravuje způsob, jakým aplikace .NET Core zpracovávají přesměrování HTTP.

Servisní vydání sady Visual Studio 2017 verze 15.8.4– vydaná 11. září 2018

CVE-2018-8409 – Ohrožení zabezpečení rozhraní .NET Core v podobě útoku DoS

Ohrožení zabezpečení v podobě odmítnutí služby (DoS) existuje v rozhraní .NET Core 2.1, když System.IO.Pipelines nesprávně zpracovává žádosti. Útočník, který tuto chybu zabezpečení úspěšně zneužije, by mohl na aplikaci, která využívá System.IO.Pipelines, provést útok DoS. Tuto chybu může zneužít vzdáleně, bez ověřování. Vzdálený neověřený útočník by mohl zneužít tuto chybu zabezpečení tak, že do aplikace zadá speciálně upravené žádosti.

CVE-2018-8409 – Ohrožení zabezpečení rozhraní ASP.NET Core v podobě útoku DoS

Ohrožení zabezpečení v podobě odmítnutí služby (DoS) existuje v rozhraní ASP.NET Core 2.1, které nesprávně zpracovává webové žádosti. Útočník, který tuto chybu zabezpečení úspěšně zneužije, by mohl provést útok DoS na webovou aplikaci ASP.NET Core. Tuto chybu může zneužít vzdáleně, bez ověřování. Vzdálený neověřený útočník by mohl zneužít tuto chybu zabezpečení tak, že do aplikace ASP.NET Core zadá speciálně upravené webové žádosti.

Visual Studio 2017 verze 15.8 – Vydáno 14. srpna 2018

CVE-2018-0952 Ohrožení zabezpečení z důvodu možnosti zvýšení oprávnění standardního kolektoru diagnostického centra

Ve službě Visual Studio existuje ohrožení zabezpečení z důvodu možnosti zvýšení oprávnění, které může při zapisování souborů umožnit uživateli bez role správce získat systémová oprávnění. Útočník, který by toho využil, by mohl zapisovat soubory jako systém a přitom by měl pouze přístup na úrovni uživatele. Tato aktualizace zabezpečení tento problém řeší zosobněním aktuálního uživatele pro ověření přístupu k umístění souboru.

Visual Studio 2017 verze 15.8 Preview 4 – vydáno 10. července 2018

CVE-2018-8172 Ohrožení zabezpečení z důvodu možnosti vzdáleného spuštění kódu v sadě Visual Studio

Ohrožení zabezpečení z důvodu vzdáleného spuštění kódu, které může vést ke zneužití počítače uživatele, protože útočníkovi umožňuje otevřít speciálně vytvořený projekt nebo soubor prostředků. Tato aktualizace zabezpečení řeší toto ohrožení zabezpečení tím, že opraví způsob, jakým Visual Studio kontroluje zdrojový kód souboru.

CVE-2018-8260 Ohrožení zabezpečení z důvodu možnosti vzdáleného spuštění kódu v rozhraní .NET Framework

V softwaru .NET existuje ohrožení zabezpečení z důvodu možnosti vzdáleného spuštění kódu, které může vést ke zneužití počítače uživatele, protože umožňuje útočníkům spustit libovolný kód v kontextu aktuálního uživatele. Tato aktualizace zabezpečení řeší toto ohrožení zabezpečení tím, že opraví způsob, jakým .NET kontroluje zdrojový kód souboru.

CVE-2018-8232 Ohrožení zabezpečení z důvodu možných neoprávněných úprav v jazyce MASM (Microsoft Macro Assembler) v rozhraní .NET

Ohrožení zabezpečení z důvodu možných neoprávněných úprav kvůli nesprávnému ověřování kódu v jazyce MASM. Tato aktualizace zabezpečení řeší toto ohrožení zabezpečení tím, že zajišťuje správné ověření logiky kódu v jazyce MASM.

CVE-2018-8171 Ohrožení zabezpečení z důvodu obejití funkce zabezpečení v ASP.NET Core

K ohrožení zabezpečení z důvodu obejití funkce zabezpečení v ASP.NET Core dojde, když se neověří počet nesprávných pokusů o přihlášení. Toto ohrožení zabezpečení může vést k tomu, že se útočník bude pokoušet o neomezený počet pokusů o ověření. Tato aktualizace řeší toto ohrožení zabezpečení tím, že ověřuje počet nesprávných pokusů o přihlášení.

Visual Studio 2017 verze 15.8 Preview 3 – vydáno 26. června 2018

CVE-2018-11235 Poradce Microsoft Security Advisory pro ohrožení zabezpečení Gitu

Opravili jsme chybu zabezpečení v Gitu, na kterou nás upozornila komunita uživatelů Gitu. To mohlo způsobit svévolné provádění kódu, pokud uživatel naklonoval škodlivé úložiště.

Visual Studio 2017 verze 15.8 Preview 1 – vydáno 8. května 2018

CVE-2018-0765 Poradce Microsoft Security Advisory pro ohrožení zabezpečení technologie .NET Core útokem DoS (Denial of Service)

  • Microsoft vydává tohoto poradce Security Advisory, aby poskytoval informace o ohrožení zabezpečení v technologiích .NET Core a .NET Native verze 2.0. Tento poradce navíc obsahuje pokyny, jak mají vývojáři aktualizovat aplikace, aby toto ohrožení zabezpečení odstranili.
  • Microsoft má informace o ohrožení zabezpečení útokem DoS (Denial of Service), ke kterému dochází, když architektury .NET Framework a .NET Core nesprávně zpracovávají dokumenty XML. Útočník, který tuto chybu zabezpečení úspěšně zneužije, může na aplikaci architektury .NET Framework, .NET Core nebo .NET Native provést útok DoS.
  • Tato aktualizace řeší tuto chybu zabezpečení opravou toho, jak architektury .NET Framework, .NET Core a .NET Native řeší zpracování dokumentů XML.
  • Pokud vaše aplikace používá architekturu ASP.NET Core, vývojářům se často doporučuje, aby aktualizovali na ASP.NET Core 2.0.8.

Release Notes IconVisual Studio 2017 verze 15.8.1

Vydáno 17. srpna 2018

Hlavní chyby opravené ve verzi 15.8.1

Toto jsou problémy vyřešené ve verzi 15.8.1:

  • Opravili jsme problém, který se projevoval tak, že se po zavření okna prohlížeče při ladění webového projektu neočekávaně zavřelo Visual Studio.

Release Notes IconVisual Studio 2017 verze 15.8.2

Vydáno 28. srpna 2018

Hlavní chyby opravené ve verzi 15.8.2

Problémy hlášené zákazníky, které jsou vyřešené ve verzi 15.8.2:


Release Notes IconVisual Studio 2017 verze 15.8.3

vydáno 6. září 2018

Hlavní chyby opravené ve verzi 15.8.3

Problémy hlášené zákazníky, které jsou vyřešené ve verzi 15.8.3:


Release Notes IconVisual Studio 2017 verze 15.8.4

vydáno 11. září 2018

Hlavní chyby opravené ve verzi 15.8.4

Problémy hlášené zákazníky, které jsou vyřešené ve verzi 15.8.4:

Oznámení o informačním zpravodaji zabezpečení


Release Notes IconVisual Studio 2017 verze 15.8.5

Vydáno 20. září 2018

Shrnutí novinek ve verzi 15.8.5

  • Nástroje Visual Studio Tools pro Xamarin teď podporují Xcode 10.

Hlavní chyby opravené ve verzi 15.8.5

Problémy hlášené zákazníky, které jsou vyřešené ve verzi 15.8.5:

Podrobnosti o novinkách ve verzi 15.8.5

Nástroje sady Visual Studio pro Xamarin

Nástroje Visual Studio Tools pro Xamarin nyní podporují Xcode 10, což vám umožňuje sestavování a ladění aplikací pro iOS 12, tvOS 12 a watchOS 5. Podívejte se na to, jak se připravit na iOS 12, a na náš úvod do iOSu 12, abyste získali podrobné informace o nových funkcích, které jsou k dispozici.


Release Notes IconVisual Studio 2017 verze 15.8.6

Vydáno 2. října 2018

Shrnutí novinek ve verzi 15.8.6

Hlavní chyby opravené ve verzi 15.8.6

Problémy hlášené zákazníky, které jsou vyřešené ve verzi 15.8.6:

Podrobnosti o novinkách ve verzi 15.8.6

Nejnovější sada Windows 10 SDK pro vývojáře aplikací pro Univerzální platformu Windows

Nejnovější sada Windows 10 SDK (build 17763) je teď k dispozici jako volitelná komponenta sady funkcí pro vývoj pro Univerzální platformu Windows. Tuto sadu SDK můžete do sady funkcí přidat zaškrtnutím políčka Windows 10 SDK (10.0.17763.0).


Release Notes IconVisual Studio 2017 verze 15.8.7

Vydáno 10. října 2018

Novinky ve verzi 15.8.7

Azure DevOps

Služba Visual Studio Team Services se teď jmenuje Azure DevOps! Tento nový název uvidíte v Team Exploreru a v odkazech v sadě Visual Studio.

Oznámení o informačním zpravodaji zabezpečení

CVE-2018-8292 – ohrožení zabezpečení spočívající ve zpřístupnění informací v .NET Core


Release Notes IconVisual Studio 2017 verze 15.8.8

Vydáno 24. října 2018

Hlavní chyby opravené ve verzi 15.8.8

Toto jsou problémy oznámené zákazníky a vyřešené ve verzi 15.8.8:


Release Notes IconVisual Studio 2017 verze 15.8.9

Vydáno 2. listopadu 2018

Hlavní chyby opravené ve verzi 15.8.9

Problémy hlášené zákazníky, které jsou vyřešené ve verzi 15.8.9:


Známé problémy

Podívejte se na všechny dosud známé problémy a možná alternativní řešení v sadě Visual Studio 2017 verze 15.8.

Visual Studio 2017 Known Issues


Názory a návrhy

Rádi uslyšíme váš názor! O problémech nás můžete informovat prostřednictvím možnosti Nahlásit problém v pravém horním rohu instalačního programu nebo v samotném integrovaném vývojovém prostředí sady Visual Studio. Ikona Report a Problem Icon se nachází v pravém horním rohu. Na stránce komunity vývojářů sady Visual Studio můžete posílat návrhy k produktu a sledovat svoje nahlášené problémy. Můžete tu pokládat otázky, hledat odpovědi a navrhovat nové funkce. Naše podpora na živém chatu vám navíc poskytne bezplatnou pomoc s instalací.


Blogy

Využijte přehledů a doporučení, které najdete na webu Blogy o vývojářských nástrojích, abyste si udržovali přehled o všech nových vydaných verzích a měli k dispozici podrobné příspěvky popisující širokou škálu funkcí.

Developer Tools Blogs


Historie zpráv k vydání verzí pro Visual Studio 2017

Další informace týkající se minulých verzí sady Visual Studio 2017 najdete na stránce Historie zpráv k vydání verzí pro Visual Studio 2017.


Na začátek stránky