Visual Studio Icon Zpráva k vydání sady Visual Studio 2019 verze 16.8



Komunita | vývojářů Požadavky | na systém Kompatibilita | Distribuovatelný kód | Licenčních podmínek | Blogy | Nejnovější verze – známé problémy | Novinky v dokumentaci k aplikaci Visual Studio


Po kliknutí na tlačítko si můžete stáhnout nejnovější verzi sady Visual Studio 2019. Pokyny k instalaci a aktualizaci sady Visual Studio 2019 najdete v článku o aktualizaci sady Visual Studio 2019 na nejnovější verzi. Podívejte se také na pokyny k instalaci offline.

Community Download Button Professional Download Button Enterprise Download Button


Novinky v sadě Visual Studio 2019 verze 16.8

Vydání sady Visual Studio 2019 verze 16.8

Archivní zpráva k vydání verze Visual Studio 2019

Blog o sadě Visual Studio 2019

Blog o sadě Visual Studio 2019 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 2019 najdete v těchto příspěvcích:


zobrazit úplný seznam všech položek Community pro vývojáře pořízených v Visual Studio 2019 verze 16,8

Release Notes Icon Visual Studio 2019 verze 16.8.7 New release icon

vydáno 9. března 2021

problémy vyřešené v této verzi Visual Studio 2019 verze 16.8.7

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

CVE-2021-21300 zabezpečení Git pro Visual Studio vzdálené spuštění kódu

V případě, že Visual Studio naklonuje škodlivé úložiště, vznikne ohrožení zabezpečení spočívající v možnosti vzdáleného spuštění kódu.

CVE – 2021-26701 zranitelnost za vzdálené spuštění kódu .NET Core

V rozhraní .NET 5 a .NET Core existuje ohrožení zabezpečení při spouštění vzdáleného kódu z důvodu toho, jak se provádí kódování textu.


Release Notes Icon Visual Studio 2019 verze 16.8.6 New release icon

vydáno 22. února 2021

problémy vyřešené v této verzi Visual Studio 2019 verze 16.8.6


Release Notes Icon Visual Studio 2019 verze 16.8.5

vydáno 9. února 2021

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

CVE-2021-1639 Zranitelnost za vzdálené spuštění kódu služby jazyka TypeScript

pokud Visual Studio načte škodlivé úložiště obsahující soubory kódu jazyka JavaScript nebo TypeScript, existuje ohrožení zabezpečení vzdáleného spuštění kódu.

CVE-2021-1721 zranitelnost za odepření služby .NET Core

Při vytváření webového požadavku HTTPS během vytváření řetězu certifikátů x509 existuje ohrožení zabezpečení s odepřenou službou.

CVE-2021-24112 .NET 5 a zranitelnost za vzdálené spuštění kódu .NET Core

V případě, že je na rozhraní grafiky stále odkaz, existuje ohrožení zabezpečení při spuštění vzdáleného kódu při vyřazování metasouborů. Tato chyba zabezpečení je k dispozici pouze v systémech běžících na MacOS nebo Linux.

problémy vyřešené v této verzi Visual Studio 2019 verze 16.8.5

  • Opravili jsme problém, kdy se na ExtensionSDKs aktualizovala aplikace x86 Microsoft. VCLibs appx se správným podpisem.
  • Opravila se nevracení paměti při použití funkcí DesignTime jazyka C++.
  • Opravili jsme problém, kdy se při importování existující databáze do projektu SSDT heslo nepamatuje.
  • Opravili jsme problém, kdy je tlačítko publikovat zakázané, když zákazníci publikují projekty .NET Core do složky nebo jiných cílů hostování.
  • Opravili jsme zablokování, které občas nastalo, když vývojáři otevřou stránku zobrazení profily publikování.
  • Přidá podporu Xcode 12,4.

Položky z Community pro vývojáře


Release Notes Icon Visual Studio 2019 verze 16.8.4

Vydáno 12. ledna 2021

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

CVE-2021-1651 / CVE-2021-1680 Ohrožení zabezpečení způsobené zvýšením oprávnění služby standardního kolektoru diagnostického centra

Ve standardním kolektoru diagnostického centra může existovat ohrožení zabezpečení z důvodu možného zvýšení oprávnění při nesprávně provedených operacích s daty.

CVE-2020-26870 Ohrožení zabezpečení při vzdáleném spouštění kódu v Instalačním programu pro Visual Studio

Pokud se Instalační program pro Visual Studio pokusí zobrazit škodlivý markdown, může dojít k ohrožení zabezpečení při vzdáleném spuštění kódu.

CVE-2021-1723 Ohrožení zabezpečení rozhraní ASP.NET Core a sady Visual Studio v podobě útoku DoS

Ve způsobu, jakým Kestrel analyzuje požadavky HTTP/2, existuje ohrožení zabezpečení v podobě útoku DoS.

problémy vyřešené v této verzi Visual Studio 2019 verze 16.8.4

  • Byl opraven problém, kdy komponenty IntelliCode specifické pro jazyk C# nemusí být nainstalovány, pokud byla funkce IntelliCode dříve nainstalována z Visual Studio Marketplace ve starších verzích sady Visual Studio.
  • Přechodné odkazy na projekt jsou nyní respektovány, pokud projekt PackageReference odkazuje na projekty packages.config se závislostmi PackageReference.
  • Přidána podpora Xcode 12.3.
  • Opravy podpory simulátoru x86_64 watchOS 7.0+
  • Opravili jsme falešně pozitivní (C33001 ~ C33005) pro použití variant vrácených funkcí.
  • Oprava pro občasné chyby v Návrháři WinForms .NET Core při zavírání projektu nebo řešení.
  • Oprava Project: Přetažením souboru z Průzkumníka řešení do otevřeného souboru se soubor odstraní ze systému souborů.
  • Oprava kliknutí na aktualizaci v porovnání schémat SQL neulo uje změny do souboru sqlproj
  • Opravili jsme chybu, kdy sestavení selhala s chybami "Tabulka/sloupec se nenašel".
  • Oprava zaškrtávacího políčka potvrzení po sloučení Team Explorer -> Větve
  • Opravili jsme chybu, Visual Studio při kontrole aktualizací mohl několik sekund reagovat.
  • DeploymentAppRecipe.exe nástroj teď podporuje spuštění z libovolného aktuálního adresáře. Také teď vrací nenulovou návratovou hodnotu vždy, když nasazení selže, a vytiskne chybové zprávy do standardního chybového proudu.

Od komunity vývojářů



Release Notes Icon Visual Studio 2019 verze 16.8.3

Vydáno 8. prosince 2020

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

CVE-2020-17156 Ohrožení zabezpečení při vzdáleném spouštění kódu v sadě Visual Studio

V případě, že Visual Studio naklonuje škodlivé úložiště, vznikne ohrožení zabezpečení spočívající v možnosti vzdáleného spuštění kódu.

Problémy vyřešené v tomto vydání verze Visual Studio 2019 verze 16.8.3

  • Byla opravena vnitřní chyba kompilátoru, kdy je šablona vnořené funkce definovaná mimo nadřazenou třídu.
  • Byla opravena nesprávná chyba C2355 při použití this v inicializátoru nestatického datového členu.
  • Byla opravena chyba při načítání vlastní sady pravidel pomocí možnosti /analyze:ruleset s možností /analyze:rulesetdirectory nebo /analyze:projectdirectory.
  • Byla opravena občasná chyba v sadě Visual Studio při použití návrháře WinForms .NET Core.
  • Vložení .NET 5.0.1 do sady Visual Studio verze 16.8.3
  • Byl odstraněn problém, kdy některé z oken aktivovaných nástrojů v kontextu uživatelského rozhraní mohly způsobovat chybové ukončení sady Visual Studio.
  • Byl odstraněn problém s nabízením ze stránky pro správu větví, když není k dispozici žádná větev pro vzdáleného sledování Git.
  • Byla přidána podpora pro Xcode 12.2.

Od komunity vývojářů



Release Notes Icon Visual Studio 2019 verze 16.8.2

Vydáno 19. listopadu 2020

Vyřešené problémy v tomto vydání sady Visual Studio 2019 verze 16.8.2

  • Opravili jsme chybu optimalizace ve smyčkách.
  • Opravili jsme vnitřní chybu kompilátoru při implementaci garantované elize kopie (funkce C++ 17).
  • Opravili jsme regresi výkonu sestavení pro rozsáhlá použití anonymních typů.
  • Vyřešili jsme problém, kdy se při úpravách kódu jazyka C# zobrazil zlatý panel se zprávou, že zadaný argument byl mimo rozsah platných hodnot.
  • Opravili jsme problém, který mohl způsobit výjimku MissingMethodException při vytváření projektu se šablonami T4.
  • Opravili jsme problém, kdy hledání v dialogovém okně Nový projekt mohlo vrátit nulové výsledky.

Od komunity vývojářů



Release Notes Icon Visual Studio 2019 verze 16.8.1

Vydáno 12. listopadu 2020

Vyřešené problémy v tomto vydání sady Visual Studio 2019 verze 16.8.1

  • Opravili jsme problém s velkým dopadem, kdy se objevovalo upozornění, že se správně nenačetl balíček SourceExplorerPackage při klonování úložiště v Team Exploreru. V případě, že uživatelé narazili na tento problém, došlo u nich k zablokování produktu.

Release Notes Icon Visual Studio 2019 verze 16.8.0

Vydáno 10. listopadu 2020

Shrnutí novinek v tomto vydání sady Visual Studio 2019 verze 16.8


F# :

  • F# 5 se teď vydává společně s rozhraním .NET 5.
  • Vylepšení výkonu a opravy pro nástroje sady Visual Studio prostřednictvím F# Tools verze 11.0.0
  • Úplná zpráva k vydání je k dispozici na GitHubu.

C++:

  • Korutiny C++20 se teď podporují v rámci /std:c++latest a hlavičky <korutiny>.
  • Technologie IntelliSense teď poskytuje podporu pro C++20 hlavičky <konceptů> a <rozsahů> a umožňuje přejmenování a procházení pro definice konceptu.
  • Naše STL teď podporuje většinu rozsahů C++20.
  • Podmíněně triviální speciální členské funkce jsou teď podporovány v MSVC.
  • C11 a C17 se teď podporují v rámci přepínačů /std:c11 a /std:c17.
  • Mezi další vylepšení STL patří plná podpora pro std::atomic_ref, std::midpoint and std::lerp a std::execution::unseq, optimalizace pro std::reverse_copy a další.
  • Upgradovali jsme verzi CMake dodávanou se sadou Visual Studio na CMake 3.18.
  • Naše nástroje pro analýzu kódu teď podporují standard SARIF 2.1, standardní formát protokolu statické analýzy.
  • Chybějící nástroje sestavení v projektech pro Linux teď zobrazí upozornění na panelu nástrojů a srozumitelný popis chybějících nástrojů v seznamu chyb.
  • Teď můžete ladit výpisy paměti Linuxu na vzdáleném systému Linux nebo WSL přímo ze sady Visual Studio.
  • Pro generování komentářů C++ Doxygen jsme přidali další možnosti stylu komentáře (/*! a //!).
  • Další oznámení vcpkg
  • Podpora kompilátoru pro výrazy lambda v nehodnocených kontextech
  • /debug:full – vylepšený výkon odkazu vytvořením pdb s více vlákny. U několika velkých aplikací a her AAA dochází k dvakrát až čtyřikrát rychlejšímu propojování.
  • Ladicí program sady Visual Studio teď podporuje char8_t.
  • Podpora projektů ARM64 pomocí clang-cl
  • Podpora vnitřních funkcí Intel AMX

Ladicí program:

  • Podpora ladění výpisu paměti Linuxu – .NET Core
  • Automatická analýza na platformě .NET a .NET Core
  • Automatická analýza kritické cesty paměti .NET a .NET Core

Aktualizace experimentálního editoru Razor:

  • Návrhy Blazor
  • Návrhy C#
  • Vylepšené formátování Razor
  • Přejmenování komponent Razor v označení ze souborů .razor
  • Přechod k definici oboru názvů značek komponent Blazor
  • Zabarvení C# při najetí myší
  • Zabarvení tipu k dokončení C#
  • Přechod na definici/implementaci pro Razor, včetně uzavřených souborů
  • Vyhledání všech referencí v zavřených souborech Razor
  • Vylepšený výkon a stabilita úprav v Razoru u velkých projektů a řešení

Fakes s projekty ve stylu sady SDK:

  • Při použití nové podpory Fakes v projektech ve stylu sady SDK narazili někteří uživatelé na následující chybu při generování shimů.

Produktivita platformy Git:

  • Další informace o tom, jak používat všechny funkce Gitu, najdete v naší nové online dokumentaci.
  • Okno Úložiště Git můžete kdykoli otevřít prostřednictvím okna změn Git, nabídky Zobrazení a stavového řádku.
  • Načtení, přijetí a nasdílení změn z více vzdálených úložišť v okně změn Git
  • Zobrazení zpráv o úspěchu a chybových zpráv pro příkazy Git v horní části okna Úložiště Git
  • Vytvoření nové větve z pracovní položky Azure DevOps
  • Otevření úložiště Git ze seznamu vašich místních úložišť v nabídce Git
  • Výchozím poskytovatelem správy zdrojů je teď Git místo TFVC.
  • Přepínání mezi historiemi větví v okně úložiště Git jedním kliknutím
  • Zobrazení a výběr ze seznamu řešení v Průzkumníku řešení po otevření úložiště
  • Úprava zobrazení a hledání historie pro potvrzení změn (zápisy) prostřednictvím panelu nástrojů v okně Úložiště Git
  • Načtení, vyžádání a nabídnutí z oddílů příchozích a odchozích potvrzení změn v grafu historie větve
  • Zobrazování výzev k vytvoření žádosti o přijetí změn po nabídnutí větve do vzdáleného úložiště
  • Zobrazování názvů větví v příkazech sloučení a přenesení změn v místní nabídce seznamu větví
  • Přístup k příkazům Git prostřednictvím místní nabídky v Průzkumníkovi řešení a Editoru
  • Sledování průběhu klonování prostřednictvím nového modálního dialogového okna s možností přesunout proces na pozadí

IntelliCode:

  • Získejte přizpůsobená dokončování IntelliCode v dokumentaci k sadě Visual Studio.
  • Udržujte svoje dokončování IntelliCode aktuální pomocí kódové báze a sdílejte je jako součást dokumentace pracovního postupu CI týmu.

Produktivita platformy .NET:

  • Analyzátory Roslyn jsou teď součástí sady .NET 5.0 SDK.
  • Refaktoring, který zavádí novou syntaxi porovnávání vzorů C# 9 not, když je přítomen operátor potlačení
  • Refaktoring vložené metody, který pomáhá nahradit použití statických, instančních a rozšiřujících metod v rámci jednoho těla příkazu
  • Oprava kódu pro převod instancí typeof na nameof v jazyce C# a GetType na NameOf v jazyce Visual Basic
  • Pro jazyk C# a Visual Basic je k dispozici podpora tipů k názvům vložených parametrů, díky čemuž je možné vkládat grafické doplňky pro literály, přetypované literály a vytvoření instancí objektů před každým argumentem ve volání funkce.
  • Refaktoring, který extrahuje členy z vybrané třídy do nové základní třídy v jazyce C # a Visual Basic
  • Vyčištění kódu má nové možnosti konfigurace, které můžou použít předvolby formátování a hlaviček souborů nastavené v souboru EditorConfig v jednom souboru nebo v celém řešení.
  • Oprava kódu pro odebrání klíčového slova in, kde by argument neměl být předán pomocí odkazu
  • Refaktoring, který zavádí nové kombinátory vzorů C#9 a návrhy porovnávání vzorů, jako je například převod == pro použití is, kde je to možné
  • Oprava kódu, která při pokusu o zápis abstraktní metody do třídy, která není abstraktní, změní třídu na abstraktní
  • Dokončování IntelliSense v řetězcových literálech DateTime a TimeSpan se automaticky zobrazí při zadání první uvozovky.
  • Oprava kódu pro odebrání nepotřebných pragma suppressions a nepotřebných SuppressMessageAttributes
  • Rename a Find All References teď rozumí odkazům na symboly v rámci cílového řetězce globálních SuppressMessageAttributes
  • ByVal jsme vypustili jako nepotřebný a současně vydáváme opravu kódu k odebrání nepotřebných parametrů ByVal.
  • Podpora interaktivního okna pro více modulů runtime, například .NET Framework a .NET Core
  • Přidali jsme nové rozhraní API RegisterAdditionalFileAction, které autorům analyzátoru umožňuje vytvořit analyzátor pro další soubory.

Visual Studio 2019 IDE:

  • Přidejte svůj účet GitHub pomocí prostředí pro správu účtů.
  • V této verzi se starší verze funkce Najít v souborech už nepoužívá a všichni uživatelé začnou používat nové prostředí. Tým Editoru pracuje s lidmi, kteří zadají zpětnou vazbu v komunitě vývojářů (Developer Community), u kterých dochází k problémům s moderním hledáním v souborech.
  • Poskytovatel publikování ClickOnce je teď dostupný pro desktopové aplikace Windows pro .NET Core 3.1 a .NET 5.0.

Zalamování textu v podokně Podrobnosti testu v Průzkumníku testů:

  • Nově je možné nastavit zalamování textu v podokně Podrobnosti testu v Průzkumníku testů.

Nástroje XAML (WPF, UPW a Xamarin.Forms):

  • Vylepšení diagnostiky chyb vazeb XAML
  • Nastavení opětovného načítání XAML za provozu se přesunulo do tohoto umístění: Ladění > Opětovné načítání za provozu:
  • Vyplnění panelu nástrojů z neodkazovaných balíčků NuGet

JavaScript/TypeScript:

  • Ladicí program JavaScriptu a TypeScriptu teď umožňuje současné ladění pracovních procesů služby, webových pracovních procesů, prvků iFrame a JavaScriptu na vaší stránce. Kromě toho jsme do nového prostředí ladění přidali možnost ladit back-endové aplikace serveru uzlu společně s JavaScriptem v prohlížeči na straně klienta. Tato funkce je stále experimentální. Můžete ji povolit v nabídce možností ladění.
  • Teď můžete aktivovat refaktory kdekoli, kde mohou být k dispozici, pomocí klávesové zkratky pro akci kódu (ctrl + .). Nemusíte ani vybírat žádný text – TypeScript je teď dostatečně inteligentní na to, aby kolem umístění vašeho kurzoru vyhledal ty nejlepší dostupné refaktory.
  • Teď můžete upřesnit, které balíčky TypeScript vyhledává automatické dokončení importu. Výsledkem může být vylepšení výkonu v některých projektech s velkým množstvím závislostí. Další podrobnosti najdete v dokumentaci k TypeScript 4.0 (zpráva k vydání verze)[https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-0.html ].
  • Do podokna výstupu jsme přidali zprávu s informacemi o tom, které typy nainstalujeme pro podporu technologie IntelliSense. Doporučujeme přidat do projektu tsconfig, abyste mohli přizpůsobit to, které typy se používají.
  • Upozorňujeme, že jsme zahrnuli kompilátor a službu jazyka TypeScript 4.0.

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

CVE-2020-17100 Ohrožení zabezpečení z důvodu možných neoprávněných úprav v sadě Visual Studio

K tomuto ohrožení zabezpečení z důvodu možných neoprávněných úprav dochází, když nástroje Python Tools for Visual Studio vytvoří složku python27. Pokud by útočník toto slabé místo využil, mohl by spouštět procesy v kontextu se zvýšenými oprávněními.

Problémy vyřešené v této verzi

  • Opravili jsme problém, kdy při kompilaci v sadě Visual Studio 2019 16.7 s 80bitovým typem long double kompilátoru Intel C++ docházelo k chybám kompilátoru, které bránily v sestavování projektů.
  • Opravili jsme problém, kdy v některých scénářích nešlo spustit Live Unit Testing.
  • Do sady Visual Studio 2019 v16.8 Preview 4 jsme přidali .NET 5.0.RC2.
  • Opravili jsme chybu, kdy se některé operace Git spustily a nikdy nedokončily.
  • Přidání dalších funkcí pro vytváření a připojování u sady Visual Studio Codespaces Zaregistrujte se do codespaces pro Visual Studio a vyzkoušejte si to.
  • Opravili jsme chybu, která způsobovala, že při zavírání nebo navigaci mimo řešení ASP.NET Core docházelo k chybovému ukončení sady Visual Studio 2019 nebo k tomu, že sada Visual Studio 2019 přestala reagovat.
  • Opravili jsme problém, kdy se po odinstalaci a přeinstalaci sady Visual Studio 2019 nedařilo načíst projektový systém C++.

Podrobnosti o novinkách v sadě Visual Studio 2019 verze 16.8.0

C++

  • Korutiny C++20 se teď podporují v rámci /std:c++latest a hlavičky <coroutine>. Podpora pro naše starší verze chování je dostupná pod <experimental/coroutine> přepínačem a /await.
  • IntelliSense teď poskytuje podporu pro C++20 hlavičky <concepts> a <ranges> a umožňuje přejmenování a procházení pro definice konceptu. Dochází ke známému problému, jehož řešení očekáváme ve verzi Preview 4.
  • Naše STL teď podporuje většinu rozsahů C++20. Můžete sledovat, jak postupujeme v řešení problému s rozsahy na GitHubu.
  • Podmíněně triviální speciální členské funkce jsou teď podporovány v MSVC.
  • C11 a C17 se teď podporují v rámci přepínačů /std:c11 a /std:c17.
  • Mezi další vylepšení STL patří plná podpora pro std::atomic_ref, std::midpoint and std::lerp a std::execution::unseq, optimalizace pro std::reverse_copy a další. Všechny aktualizace najdete v našem protokolu změn.
  • Upgradovali jsme verzi CMake dodávanou se sadou Visual Studio na CMake 3.18.
  • Naše nástroje pro analýzu kódu teď podporují standard SARIF 2.1, standardní formát protokolu statické analýzy. Další informace o formátu SARIF najdete v oficiální specifikaci.
  • Chybějící nástroje sestavení v projektech pro Linux teď zobrazí upozornění na panelu nástrojů a srozumitelný popis chybějících nástrojů v seznamu chyb.
  • Teď můžete ladit výpisy paměti Linuxu na vzdáleném systému Linux nebo WSL přímo ze sady Visual Studio.
  • Pro generování komentářů C++ Doxygen jsme přidali další možnosti stylu komentáře (/*! a //!).
  • Další oznámení vcpkg
  • Přidali jsme podporu kompilátoru pro výrazy lambda v nehodnocených kontextech, která umožňuje použití výrazů lambda ve specifikátorech decltype.
  • V sadě Visual Studio je teď k dispozici linter a opravy při psaní. Můžete je nakonfigurovat pomocí možností Nástroje->Možnosti->Textový editor->C/C++->StylKódu-> možnost pro linter a opravy.
As-you-type linter showing warning for using bitwise & instead of logical && on bools
Linter při psaní

Ladicí program

Podpora ladění výpisu paměti Linuxu – .NET Core

Ladění spravovaných výpisů paměti Linuxu ve Windows bylo dosud obtížné provádět, protože to obvykle znamenalo nastavení dalšího prostředí Linuxu, které přesně zrcadlilo produkci, a následnou instalaci sady nástrojů pro analýzu. Se sadou Visual Studio 2019 16.8 Preview 3 ovšem můžete jednoduše přetáhnout spravovaný výpis paměti Linuxu přímo do IDE a hned začít ladit.

Automatická analýza na platformě .NET

Asynchronní (asynchronní) programování je na platformě .NET dostupné už několik let, ale v minulosti ho nebylo snadné dobře provádět. Zavedli jsme a spravujeme analyzátor výpisů paměti, který pomáhá identifikovat následující scénáře a antivzory:

  • Sync-over-Async
  • Vyčerpání fondu vláken

Automatická analýza kritické cesty paměti .NET a .NET Core

To umožňuje zákazníkům intuitivně prohlížet dominující typy objektů v jejich haldě paměti pomocí poznámek (plamenů) v okně nástroje pro diagnostiku paměti.

Fakes s projekty ve stylu sady SDK – problémy s generováním shimů

Při použití nové podpory Fakes v projektech ve stylu sady SDK narazili někteří uživatelé na následující chybu při generování shimů.

Cannot generate shim for System.DateTime: type is not supported because of internal limitations

Opravu této chyby vydáváme ve verzi 16.8 Preview 3. Pokud používáte verzi 16.7.*, můžete použít následující alternativní řešení:

  1. Do skupiny vlastností (PropertyGroup) v souboru csproj přidejte <FakesUseV2Generation>False</FakesUseV2Generation>.
  2. Do skupiny položek (ItemGroup) v souboru csproj přidejte <Fakes Include="Fakes\*.fakes" />.
  3. Přidejte odkaz na generovaná sestavení Fakes do složky ProjectDir/FakesAssemblies.

Další aktuální informace se můžou objevit ve zpětné vazbě vývojářské komunity.

Aktualizace experimentálního editoru Razor

Nový experimentální editor Razor teď podporuje následující funkce pro úpravu souborů Razor:

  • Návrhy Blazor:
    • Extrahování do kódu na pozadí*:
    • Vytvoření komponenty ze značky*
    • Přidání direktivy @using pro komponentu
    • Plně kvalifikovaný název značky komponenty
  • Návrhy C#
    • Přidání direktivy @using
    • Plně kvalifikovaný název typu
  • Vylepšené formátování Razor
  • Přejmenování komponent Razor v označení ze souborů .razor
  • Přechod k definici názvů značek komponent Blazor
  • Zabarvení C# při najetí myší
  • Zabarvení tipu k dokončení C#
  • Vyhledání všech referencí v zavřených souborech Razor
  • Vylepšený výkon a stabilita úprav v Razoru u velkých projektů a řešení

*funguje pouze v místních scénářích Razor, zatím není podporováno v Visual Studio Codespaces nebo Live Share.

Pokud chcete povolit experimentální editor Razor, přejděte na Nástroje > Možnosti > Prostředí > Funkce ve verzi Preview, vyberte Povolit experimentální editor Razor a potom restartujte Visual Studio.

Visual Studio 2019 IDE

  • Přidejte svůj účet GitHub pomocí známého prostředí pro správu účtů sady Visual Studio. Správa verzí, integrovaný terminál a další funkce potom budou moct využívat přihlašovací údaje vašeho účtu k ověřování v rámci GitHubu.
Inline parameter name hints with GitHub
Přidávání účtů GitHub v sadě Visual Studio
  • Poskytovatel publikování ClickOnce je teď dostupný pro desktopové aplikace Windows pro .NET Core 3.1 a .NET 5.0. Začněte tím, že kliknete pravým tlačítkem myši na projekt v Průzkumníku řešení a vyberete možnost Publikovat nebo vyberete nabídku Sestavení > Publikovat <AppName> . ClickOnce najdete v části pro kategorii složek.
Inline parameter name hints with GitHub Image
Poskytovatel publikování ClickOnce v sadě Visual Studio

Produktivita platformy Git

  • Vytvoření nové větve z pracovní položky Azure DevOps

    Create a new branch from an Azure DevOps work item
    Vytvoření nové větve z pracovní položky

  • Otevření úložiště Git ze seznamu vašich místních úložišť v nabídce Git

Local Repositories list
Seznam místních úložišť v nabídce Git
  • Výchozím poskytovatelem správy zdrojového kódu je teď Git namísto TFVC, což se dá změnit z pomocí možnosti Nástroje – Možnosti – Správa zdrojového kódu.

  • Přepínání mezi historiemi větví v okně úložiště Git jedním kliknutím

  • Zobrazení a výběr ze seznamu řešení ve vašem úložišti v Průzkumníku řešení po otevření úložiště

    Preview Feature toggle to show list of Views when opening a repo
    Funkce Preview, která zobrazí seznam zobrazení při otevírání úložiště

List of Views in Solution Explorer
Seznam zobrazení v Průzkumníku řešení

Produktivita platformy .NET

  • Analyzátory platformy .NET Compiler Platform (Roslyn) kontrolují kód jazyka C# nebo Visual Basic z hlediska zabezpečení, výkonu, návrhu a dalších problémů. Od verze .NET 5.0 jsou tyto analyzátory obsažené v .NET SDK. Analyzátory jsou ve výchozím nastavení povolené pro projekty, které cílí na rozhraní .NET 5.0 nebo novější. Pro projekty, které cílí na starší verze rozhraní .NET, můžete analýzu kód povolit nastavením vlastnosti EnableNETAnalyzers na true. Analýzu kódu pro projekt můžete zakázat nastavením vlastnosti EnableNETAnalyzers na false. K povolení nebo zakázání analyzátorů .NET můžete také použít okno Vlastnosti projektu. Pokud chcete získat přístup k oknu Vlastnosti projektu, klikněte pravým tlačítkem myši na projekt v Průzkumníku řešení a vyberte Vlastnosti. Potom vyberte kartu Analýza kódu, kde můžete zaškrtnout nebo zrušit zaškrtnutí políčka pro povolení analyzátorů .NET.
Project Properties window to enable .NET Analyzers
Okno Vlastnosti projektu pro povolení analyzátorů .NET
  • K dispozici je teď refaktoring, který zavádí novou syntaxi porovnávání vzorů C# 9 not, když je přítomen operátor potlačení. Umístěte kurzor na operátor potlačení. Stisknutím Ctrl+ . aktivujte nabídku Rychlé akce a refaktoring. Vyberte Použít porovnávání vzorů.
Refactoring introducing C# 9 not pattern matching syntax
Refaktoring zavádějící novou syntaxi porovnávání vzorů C# 9
  • K dispozici je teď refaktoring vložené metody, který vám pomáhá nahradit použití statických, instančních a rozšiřujících metod v rámci jednoho těla příkazu možností odebrat deklaraci původní metody. Umístěte kurzor na použití metody. Stisknutím Ctrl+ . aktivujte nabídku Rychlé akce a refaktoring. Potom vyberte jednu z následujících možností:

Vyberte možnost Vložit <QualifiedMethodName> , abyste odebrali deklaraci vložené metody:

Inline Method refactoring removing declaration
Refaktoring vložené metody – odebrání deklarace

Vyberte možnost Vložit a zachovat <QualifiedMethodName> , abyste zachovali deklaraci původní metody:

Inline Method refactoring preserving declaration
Refaktoring vložené metody – zachování deklarace

  • Vytvoření nového souboru C# nebo Visual Basic ze šablony respektuje nastavení stylu kódu EditorConfig. Následující styly kódu se automaticky použijí při vytváření nových souborů: hlavičky souborů, řazení direktiv using a umístění direktiv using ve vnitřních/vnějších oborech názvů.

  • Nyní je pro C# a Visual Basic k dispozici podpora nápovědy k názvům vložených parametrů, díky čemuž jde vkládat doplňky pro literály, přetypované literály a vytvoření instancí objektů před každým argumentem ve volání funkce. Tuto možnost je napřed potřeba zapnout tak, že přejdete na Nástroje > Možnosti > Textový editor > C# nebo Basic > Upřesnit a vyberete Zobrazovat nápovědy k názvům vložených parametrů (experimentální) . Nápovědy k názvům vložených parametrů se pak zobrazí v souboru C# nebo Visual Basicu.

Inline parameter name hints
Nápovědy k názvům vložených parametrů
  • Nyní můžete extrahovat členy z vybrané třídy do nové základní třídy pomocí nového refaktoringu Extrahovat základní třídu. Umístěte kurzor buď na název třídy, nebo na zvýrazněný člen. Stisknutím Ctrl+ . aktivujte nabídku Rychlé akce a refaktoring. Vyberte Načíst členy do nové základní třídy. Otevře se nové dialogové okno Extrahovat základní třídu, kde můžete zadat název základní třídy a její požadované umístění. Můžete vybrat členy, které chcete přenést do nové základní třídy, a pomocí políčka ve sloupci Nastavit jako abstraktní zvolit, jestli chcete nastavit členy jako abstraktní.
Extract Base Class
Extrahovat základní třídu

Po výběru OK se zobrazí nově přidaná základní třída společně se svými členy.

V případě C# vyberte Převést typeof na nameof :

Convert typeof to nameof
Převedení typeof na nameof

V případě Visual Basicu vyberte Převést GetType na NameOf :

Convert GetType to NameOf
Převedení GetType na NameOf
  • Vyčištění kódu má nové možnosti konfigurace, které můžou použít předvolby formátování a hlaviček souborů nastavené v souboru EditorConfig v jednom souboru nebo v celém řešení.
Formatting and File Header support in Code Cleanup
Podpora formátování a hlaviček souborů při vyčištění kódu
  • K dispozici je oprava kódu pro odebrání klíčového slova in, kde by argument neměl být předán pomocí odkazu. Umístěte kurzor na chybu. Stisknutím Ctrl+ . aktivujte nabídku Rychlé akce a refaktoring. Vyberte Odebrat klíčové slovo in.
Remove in keyword code fix
Oprava kódu odebrání klíčového slova `in`
  • K dispozici je refaktoring, který zavádí nové kombinátory vzorů C#9. Společně s návrhy porovnávání vzorů, jako je například převod == na použití is tam, kde je to možné, tato oprava kódu také navrhuje kombinátory vzorů and, or a not při porovnávání více různých vzorů a negování. Umístěte kurzor do příkazu. Stisknutím Ctrl+ . aktivujte nabídku Rychlé akce a refaktoring. Vyberte Použít porovnávání vzorů.
Introduce C#9 Pattern Combinators
Uvedení kombinátorů vzorů C#9
  • K dispozici je oprava kódu, která při pokusu o zápis abstraktní metody do třídy, která není abstraktní, změní třídu na abstraktní. Umístěte kurzor na chybu metody. Stisknutím Ctrl+ . aktivujte nabídku Rychlé akce a refaktoring. Vyberte Nastavit třídu jako abstraktní.
Make Class Abstract
Nastavení třídy jako abstraktní
  • Do verze 16.7 Preview 1 jsme přidali dokončování IntelliSense v řetězcových literálech DateTime a TimeSpan. V této verzi se tento seznam pro doplňování automaticky zobrazí při zadání první uvozovky. V minulosti bylo k zobrazení tohoto seznamu pro doplňování nutné zadat (Ctrl+mezerník). Umístěte kurzor do řetězcového literálu DateTime nebo TimeSpan a napište první dvojitou uvozovku. Zobrazí se možnosti doplnění a vysvětlení významu každého znaku. Kromě toho uvidíte také formát data a času a příklad.
IntelliSense Completion in DateTime and TimeSpan String Literals
Doplňování technologie IntelliSense v řetězcových literálech DateTime a TimeSpan
This improvement also works for interpolated strings when you type a colon
Toto vylepšení funguje také pro interpolované řetězce při zadání dvojtečky.
  • K dispozici je oprava kódu pro odebrání nepotřebných potlačení pragma a nepotřebných SuppressMessageAttributes. Umístěte kurzor na upozornění pragma nebo SuppressMessageAttribute. Stisknutím Ctrl+ . aktivujte nabídku Rychlé akce a refaktoring. Vyberte Odebrat nepotřebné potlačení.
Remove Unnecessary Pragmas
Odebrání nepotřebných potlačení pragma
Remove Unnecessary SuppressMessageAttributes
Odebrání nepotřebných atributů SuppressMessageAttribute
  • Přejmenovat a Najít všechny odkazy teď rozumí odkazům na symboly v rámci cílového řetězce globálních potlačení SuppressMessageAttribute.
Rename SuppressMessageAttribute
Rename SuppressMessageAttribute
Find All References for SuppressMessageAttribute
Najít všechny odkazy pro SuppressMessageAttribute
  • Ve Visual Basicu bylo více způsobů předávání parametrů, ByVal a ByRef, a po dlouhou dobu byl ByVal volitelný. ByVal jsme vypustili jako nepotřebný a současně vydáváme opravu kódu k odebrání nepotřebných parametrů ByVal. Umístěte kurzor na klíčové slovo ByVal. Stisknutím Ctrl+ . aktivujte nabídku Rychlé akce a refaktoring. Vyberte Klíčové slovo ByVal není potřebné a je možné ho odebrat.
Visual Basic Remove ByVal Refactoring
Refaktoring odebrání ByVal ve Visual Basicu
  • K dispozici je podpora interaktivního okna pro více modulů runtime, například .NET Framework a .NET Core.
Interactive Window Support in .NET Core
Podpora interaktivního okna v .NET Core
  • K dispozici je nové rozhraní API RegisterAdditionalFileAction, které autorům analyzátoru umožňuje vytvořit analyzátor pro další soubory.

Zalamování textu v podokně Podrobnosti testu v Průzkumníku testů

Tato často požadovaná funkce umožňuje uživateli nastavit zalamování textu nebo ponechat výchozí zarovnání řádků textu. Pokud zarovnání textu není nezbytné, může zalamování výrazně usnadnit prohlížení zpětné vazby z testovacího běhu a eliminovat potřebu vodorovného posuvníku. Tuto možnost můžete aktivovat v nabídce nastavení Průzkumníka testů nebo v místní nabídce podokna souhrnu.

Wrap test details from the Test Settings menu
Nabídka nastavení testu
Wrap test details from the right-click context menu
Zalomení podrobností testu z místní nabídky po kliknutím pravým tlačítkem myši

Nástroje XAML (WPF, UPW a Xamarin.Forms)

Vylepšení diagnostiky chyb vazeb XAML

Vývojáři, kteří pracují na projektech WPF, UPW, WinUI a Xamarin.Forms, musí často detekovat a řešit chyby datové vazby XAML ve svých aplikacích. Za účelem vylepšení diagnostických nástrojů v tomto scénáři jsme do sady Visual Studio 2019 verze 16.8 nebo novější přidali dvě nová prostředí:

  • Ikona indikátoru chyb vazeb XAML: Na panelu nástrojů v aplikaci pro vývojáře WPF a UPW a v dynamickém vizuálním stromu pro všechny projekty XAML, včetně Xamarin.Forms, je teď nová ikona indikátoru chyb vazeb XAML. Pokud je zjištěna alespoň jedna chyba vazby, zobrazí tato ikona červený indikátor. Kliknutím na tuto ikonu také přejdete do nového okna chyb vazeb XAML.
Binding Failure Icon (in-app toolbar)
Ikona chyby vazby (panel nástrojů v aplikaci)
  • Okno chyb vazeb XAML: Nové okno chyb vazeb XAML je teď k dispozici pro projekty WPF, UPW, WinUI a Xamarin.Forms. Toto nové vyhrazené prostředí poskytuje bohaté uživatelské rozhraní s informacemi o chybách vazeb, které byly dříve k dispozici jenom v okně Výstup. Mezi vylepšení patří možnost zobrazit chyby jako sadu sloupců, které je možné seřadit a přizpůsobit a které se dají plně prohledávat. Také jsme seskupili podobné chyby, což omezuje šum, který může nastat během určité kombinace chyb šablon datových vazeb, přičemž jsou stále k dispozici původní nezpracované informace o chybách, které se dají snadno kopírovat pomocí možnosti nabídky zobrazené po kliknutí pravým tlačítkem. (poznámka: vyžaduje Xamarin verze 4.5.0.266-pre3 nebo vyšší)
  • Přechod ke zdroji pro chyby vazby: Ve spolupráci s týmem WPF jsme zavedli funkci umožňující přejít ke zdroji chyby vazby pro zákazníky, kteří cílí na technologii WPF v rozhraní .NET 5 (RC2 nebo novější).
XAML Binding Failure Window & LVT Icon
Okno chyb vazeb XAML & ikona LVT

Opětovné načítání XAML za provozu

  • Režim Jen změny při opětovném načítání XAML za provozu v Xamarin.Forms teď podporuje UPW: – v této verzi začínáme zavádět podporu pro často požadovanou funkci, která umožňuje podporu nového režimu Jen změny při opětovném načítání XAML za provozu v projektech Xamarin.Forms při cílení na UPW. Upozorňujeme, že tato funkce je stále ve vývoji, takže zatímco při úpravách XAML se už budou aktivovat aktualizace v běžící aplikaci, nejsou některé další funkce, jako je například panel nástrojů v aplikaci (výběr prvků atd.), zatím plně implementované, ale budou k dispozici v budoucí verzi.
  • Nastavení opětovného načítání XAML za provozu se přesunulo do tohoto umístění: Ladění > Opětovné načítání za provozu: V této verzi jsme konsolidovali nastavení opětovného načítání XAML za provozu napříč WPF, UPW a Xamarin.Forms do jednotného nastavení na obrazovku v části Ladění > Opětovné načítání za provozu. Také jsme poprvé povolili možnost zakázat nebo povolit opětovné načítání XAML za provozu pro jednotlivé platformy, abyste měli plnou kontrolu nad tím, kdy je tato funkce dostupná. (Poznámka: Během této migrace se nebudou měnit žádná nastavení, takže všechny vaše existující volby budou nadále platit právě v tomto novém umístění.
XAML Hot Reload Consolidated Settings
Opětovné načítání XAML za provozu – konsolidované nastavení

Editor kódu XAML:

  • WinUI 3.0 – podpora technologie IntelliSense: V této verzi přinášíme lepší podporu technologie IntelliSense pro vývojáře vytvářející aplikace pomocí nové verze WinUI 3.0 preview 3 nebo novější. Další informace o WinUI 3.0 najdete v dokumentaci , a pokud nám chcete napsat svůj názor, navštivte uložiště Windows UI XAML na GitHubu. Poznámka: Nejnovější verze WinUI 3.0 preview se doporučuje ve verzi 16.9 Preview 1 pro aktualizované prostředí nástrojů.
  • Vylepšení podpory MVVM: Při vytváření dokumentu XAML můžete nastavit d:DataContext, abyste získali přesnou vazbu IntelliSense pro dokument XAML. Dříve bylo ruční zadávání typu kontextu dat těžkopádné. Museli jste opustit dokument XAML, najít požadovaný typ modelu zobrazení, zkopírovat a vložit jeho obor názvů a název do deklarace d:DataContext. V této verzi představujeme novou funkci, která vám umožní rychle deklarovat d:DataContext prostřednictvím žárovky, která navrhuje možné kandidáty na model zobrazení.
XAML IntelliSense for MVVM d:DataContext
XAML IntelliSense pro MVVM d:DataContext

Rozšíření

Od komunity vývojářů


Známé problémy

Pokud se chcete podívat na všechny otevřené problémy a dostupná alternativní řešení pro Visual Studio 2019, použijte následující odkaz.


Názory a návrhy

Chceme znát 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. Rozhraní Feedback Icon Ikona 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í.


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

Další informace o předchozích verzích sady Visual Studio 2019 najdete na stránce s historií zpráv k vydání verzí pro Visual Studio 2019.


Na začátek stránky