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



Blogy o novinkách v dokumentaci k sadě Visual Studio s licenčními podmínkami | pro kompatibilitu | distribuovatelného kódu | s požadavky komunity vývojářů | | | |


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 .



Novinky v sadě Visual Studio 2019 verze 16.8

Č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 2019.

Přečtěte si nejnovější verzi zpráv k vydání verze nebo navštivte web sady Visual Studio a stáhněte si nejnovější podporovanou verzi sady Visual Studio 2019.

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 tento úplný seznam všech položek komunity vývojářů pořízených v sadě Visual Studio 2019 verze 16.8

Release Notes Icon Visual Studio 2019 verze 16.8.7

Vydáno 9. března 2021

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

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

CVE-2021-21300 Git for Visual Studio – Ohrožení zabezpečení z důvodu možnosti vzdáleného 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 .NET Core – Ohrožení zabezpečení z důvodu možnosti vzdáleného spuštění kódu

V .NET 5 a .NET Core existuje ohrožení zabezpečení vzdáleného spuštění kódu kvůli tomu, jak se provádí kódování textu.


Release Notes Icon Visual Studio 2019 verze 16.8.6

Vydáno 22. února 2021

Problémy vyřešené v této verzi sady 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 – Ohrožení zabezpečení z hlediska vzdáleného spuštění kódu službou TypeScript Language Service

Při načítání škodlivého úložiště obsahujícího soubory kódu JavaScriptu nebo TypeScriptu existuje ohrožení zabezpečení spočívající ve vzdáleném spuštění kódu sady Visual Studio.

CVE-2021-1721 .NET Core – Ohrožení zabezpečení z důvodu odepření služby

Při vytváření webové žádosti HTTPS během sestavování řetězu certifikátů X509 existuje ohrožení zabezpečení z hlediska odepření služby.

CVE-2021-24112 .NET 5 a .NET Core – ohrožení zabezpečení z důvodu možnosti vzdáleného spuštění kódu

Při odstraňování metasouborů existuje ohrožení zabezpečení spočívající ve vzdáleném spuštění kódu, když na něj stále existuje grafické rozhraní. Toto ohrožení zabezpečení existuje pouze v systémech se systémem MacOS nebo Linux.

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

  • Opravili jsme problém, který způsoboval, že x86 Microsoft.VCLibs Appx byl nainstalován v sadách ExtensionSDKs se správným podpisem.
  • Opravili jsme nevracení paměti při použití funkcí DesignTime jazyka C++.
  • Opravili jsme problém, kdy při importu existující databáze do projektu SSDT došlo k výjimce, když se nezapamatovalo heslo.
  • Opravili jsme problém, kdy se při prvním publikování projektů .NET Core do složky nebo jiných cílů hostování zakázalo tlačítko publikovat.
  • Opravili jsme zablokování, ke kterému občas docházelo, když vývojáři otevřeli stránku zobrazení profilů publikování.
  • Přidá podporu Xcode 12.4.

Položky od komunity vývojářů


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í z hlediska zvýšení 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 Instalační program pro Visual Studio ohrožení zabezpečení z hlediska možnosti vzdáleného spuštění kódu

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 ASP.NET Core a Ohrožení zabezpečení spočívající v odepření služby v sadě Visual Studio

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 sady 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í výsledky (C33001 ~ C33005) pro použití VARIANT, které se vrací z funkce.
  • Oprava přerušovaného chybového ukončení VS v návrháři WinForms .NET Core při zavírání projektu nebo řešení
  • Oprava databázového projektu: Přetažení souboru z Průzkumníka řešení do otevřeného projektu odstraňuje soubor ze systému souborů!
  • Oprava aktualizace klikání na sql schema compare neukládá změny do souboru sqlproj
  • Opravili jsme chybu, kdy sestavení selhala s chybami Tabulka/sloupec nebyla nalezena.
  • Oprava zaškrtávacího políčka Potvrzení po sloučení z Team Exploreru –> Větve
  • Opravili jsme chybu, kdy Visual Studio během kontroly aktualizací nereaguje několik sekund.
  • nástroj DeploymentAppRecipe.exe teď podporuje spouštění z libovolného aktuálního adresáře. Nyní také vrací nenulovou návratovou hodnotu při každém selhání nasazení a vytiskne chybové zprávy do standardního chybového streamu.

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í spočívající ve vzdáleném spuš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 této verzi sady 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# i 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
  • Opětovné načítání za provozu Nastavení XAML se přesunul na 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í spočívající v manipulaci se sadou 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
  • 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 <korutiny>. Podpora pro naše starší chování je k dispozici v experimentální </korutině> a přepínač /await.
  • 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. 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í. Konfigurujte pomocí nástrojů-Options-Text> Editor-C>>/C++->CodeStyle-Linter> + Fixups.
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. Přidejte <fakesUseV2Generation>False</FakesUseV2Generation> do propertyGroup v souboru csproj.
  2. Přidejte fakes <Include="Fakes\*.fakes" /> do itemGroup v souboru csproj.
  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:

  • Žárovky 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
  • Žárovky jazyka 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 jenom v místních scénářích Razor, které ještě nejsou podporované v sadě 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.

Integrované vývojové prostředí sady Visual Studio 2019

  • 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 tak, že v Průzkumník řešení kliknete pravým tlačítkem na projekt a vyberete Publikovat, nebo vyberete nabídku Build Publish AppName (Sestavit > 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í v úložišti v Průzkumník ř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í:

Výběrem možnosti <QualifiedMethodName> Vložit odeberete deklaraci vložené metody:

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

Pokud chcete zachovat deklaraci původní metody, vyberte vloženou položku a ponechte <QualifiedMethodName> ji:

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řevod 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
Odebrání opravy kódu 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řejděte na Zdroj pro selhání vazeb: Ve spolupráci s týmem WPF jsme umožnili přejít na zdroj chyb vazeb pro zákazníky, kteří cílí na WPF v .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.
  • OPĚTOVNÉ NAČÍTÁNÍ ZA PROVOZU NASTAVENÍ XAML se přesunul na ladění > Opětovné načítání za provozu: V této verzi jsme konsolidovali nastavení Opětovné načítání za provozu XAML napříč WPF, UPW a Xamarin.Forms do sjednocené obrazovky nastavení 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 nebudou změněna žádná nastavení, takže všechny vaše stávající volby budou platit i nadále přímo pod tímto novým umístěním).
XAML Hot Reload Consolidated Settings
Opětovné načítání XAML za provozu – konsolidované nastavení

Editor kódu XAML:

  • Podpora Technologie IntelliSense pro WinUI 3.0: V této verzi jsme vývojářům povolili lepší podporu Technologie IntelliSense pro vývojáře, kteří vytvářejí 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šiřitelnost

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

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 Feedback 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í.


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