Visual Studio Icon Visual Studio 2019 sürüm 16.8 Sürüm NotlarıVisual Studio 2019 version 16.8 Release Notes



Geliştirici Topluluğu | Sistem Gereksinimleri | Uyumluluk | Dağıtılabilir Kod | Lisans Koşulları | Bloglar | Son Sürümdeki Bilinen SorunlarDeveloper Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Latest Release Known Issues


Visual Studio 2019’un en son sürümünü indirmek için bir düğmeye tıklayın.Click a button to download the latest version of Visual Studio 2019. Visual Studio 2019’u yükleme ve güncelleştirme yönergeleri için bkz. Visual Studio 2019’u en son sürüme güncelleştirme.For instructions on installing and updating Visual Studio 2019, see the Update Visual Studio 2019 to the most recent release. Ayrıca çevrimdışı yükleme yönergelerine bakın.Also, see instructions on how to install offline.

Community Download Button Professional Download Button Enterprise Download Button


Visual Studio 2019 sürüm 16.8’deki YeniliklerWhat's New in Visual Studio 2019 version 16.8

Visual Studio 2019 sürüm 16.8 YayınlarıVisual Studio 2019 version 16.8 Releases

Visual Studio 2019 Arşivlenmiş Yayın NotlarıVisual Studio 2019 Archived Release Notes

Visual Studio 2019 BlogVisual Studio 2019 Blog

Visual Studio 2019 Blog, Visual Studio Mühendislik Takımı tarafından sunulan resmi ürün içgörüleri kaynağıdır.The Visual Studio 2019 Blog is the official source of product insight from the Visual Studio Engineering Team. Visual Studio 2019 yayınları hakkında kapsamlı bilgileri aşağıdaki gönderilerde bulabilirsiniz:You can find in-depth information about the Visual Studio 2019 releases in the following posts:


Release Notes Icon Visual Studio 2019 sürüm 16.8.2Visual Studio 2019 version 16.8.2 New release icon

yayın tarihi: 19 Kasım 2020released November 19, 2020

Visual Studio 2019 sürüm 16.8.2’nin Bu Sürümünde Ele Alınan SorunlarIssued Addressed in this Release of Visual Studio 2019 version 16.8.2

  • Döngülerde iyileştirme hatası düzeltildi.Fixed for optimization bug in loops.
  • Garantili kopya elemesinin (C++ 17 özelliği) uygulanmasında karşılaşılan iç derleyici hatası düzeltildi.Fixed internal compiler error in implementation of guaranteed copy elision (C++17 feature).
  • Anonim tiplerin geniş kullanımlarında derleme performansı gerilemesi düzeltildi.Fixed build perf regression for large uses of anonymous types.
  • C# kodu düzenlenirken “Belirtilen bağımsız değişken geçerli değerler aralığında değildi” iletisinin yer aldığı altın renkli bir çubuğun gösterilmesine neden olan bir sorun düzeltildi.Resolved an issue where a gold bar with the message "Specified argument was out of the range of valid values" would appear when editing C# code.
  • T4 şablonları olan bir proje oluştururken MissingMethodException hatasına yol açan bir sorun düzeltildi.Fixed an issue that could cause a MissingMethodException when building a project that had T4 templates.
  • Arama yapıldığında Yeni Proje İletişim Kutusu’nda hiç sonuç döndürülmemesine neden olan bir sorun düzeltildi.Fixes an issue where the search in the New Project Dialog could return zero results.

Geliştirici Topluluğu’ndanFrom Developer Community



Release Notes Icon Visual Studio 2019 sürüm 16.8.1Visual Studio 2019 version 16.8.1

yayın tarihi: 12 Kasım 2020released November 12, 2020

Visual Studio 2019 sürüm 16.8.1’in Bu Sürümünde Ele Alınan SorunlarIssued Addressed in this Release of Visual Studio 2019 version 16.8.1

  • “'SourceExplorerPackage' paketinin doğru şekilde yüklenmemesine” neden olan yüksek düzeyde etili bir sorun düzeltildiFixed a high-impacting issue where “The 'SourceExplorerPackage' package did not load correctly.” Takım Gezgini’nde depo kopyalanırken açılan uyarı pencereleri.warning pops up when cloning a repo in Team Explorer. Kullanıcılar bu sorunla karşılaştığında, ürünün yanıt vermemesine neden olduğunu bildirdi.When users encountered this problem, it would cause the product to stop responding.

Release Notes Icon Visual Studio 2019 sürüm 16.8.0Visual Studio 2019 version 16.8.0

yayın tarihi: 10 Kasım 2020released November 10, 2020

Visual Studio 2019 sürüm 16.8’deki Yeniliklerin ÖzetiSummary of What's New in this Release of Visual Studio 2019 version 16.8


F# :F#:

  • F# 5 şimdi .NET 5 ile birlikte kullanıma sunulduF# 5 is now released alongside .NET 5
  • F# Tools sürüm 11.0.0 aracılığıyla Visual Studio araçlarına yönelik performans iyileştirmeleri ve düzeltmelerPerformance improvements and fixes for Visual Studio tooling via F# Tools version 11.0.0
  • Sürüm notlarının tamamını GitHub’da bulabilirsinizFull release notes available on GitHub

C++:C++:

  • C++20 Eş Yordamları artık /std:c++latest ve <eş yordam> üst bilgisi bölümünden desteklenir.C++20 Coroutines are now supported under /std:c++latest and the <coroutine> header.
  • IntelliSense şimdi C++20 <kavramlar> ve <aralıklar> üst bilgileri için destek ve kavram tanımlarına yönelik yeniden adlandırma ve göz atma deneyimi sağlar.IntelliSense now provides support for C++20 <concepts> and <ranges> headers, and rename and browsing for concept definitions.
  • STL’miz şimdi C++20 Aralıklarının çoğu için destek sunar.Our STL now has support for the majority of C++20 Ranges.
  • Koşullu basit özel üye işlevleri artık MSVC’de desteklenmektedir.Conditionally trivial special member functions are now supported in MSVC.
  • C11 ve C17 artık /std:c11 ve /std:c17 anahtarları altında desteklenir.C11 and C17 are now supported under the /std:c11 and /std:c17 switches.
  • Ek STL iyileştirmeleri arasında, std::atomic_ref, std::midpoint and std::lerp ve std::execution::unseq için tam destek, std::reverse_copy için iyileştirmeler ve daha fazlası yer alır.Additional STL improvements include full support for std::atomic_ref, std::midpoint and std::lerp and std::execution::unseq, optimizations for std::reverse_copy, and more.
  • Visual Studio ile birlikte gelen CMake sürümünü CMake 3.18’e yükselttik.Upgraded version of CMake shipped with Visual Studio to CMake 3.18.
  • Kod analizi araçlarımız şimdi endüstri standardı statik analiz günlük biçimi olan SARIF 2.1 standardını destekler.Our code analysis tools now support the SARIF 2.1 standard: the industry standard static analysis log format.
  • Linux projelerinde derleme araçları eksik olduğunda artık araç çubuğunda bir uyarı verilir ve hata listesinde eksik araçların net bir açıklaması sunulur.Missing build tools in Linux projects will now issue a warning in the toolbar and a clear description of the missing tools in the error list.
  • Artık doğrudan Visual Studio’dan WSL veya uzak bir Linux sisteminde Linux çekirdek dökümlerinin hata ayıklamasını yapabilirsiniz.You can now debug Linux core dumps on a remote Linux system or WSL directly from Visual Studio.
  • C++ Doxygen yorum oluşturma için ek yorum stili seçenekleri (/*!For C++ Doxygen comment generation, we added additional comment style options (/*! ve //!) ekledik.and //!).
  • Ek vcpkg duyurularıAdditional vcpkg announcements
  • Değerlendirilmemiş bağlamlarda lambda ifadelerine yönelik derleyici desteğiCompiler support for lambdas in unevaluated contexts
  • /debug:full bağlantı performansı, çoklu iş parçacığı pdb oluşturmasıyla iyileştirildi./debug:full link performance improved by multi-threading pdb creation. Çeşitli büyük uygulamalar ve AAA oyunları bağlantı oluşturmaya kıyasla 2 ila 4 kat daha hızlı görüntüleniyor.Several large applications and AAA games see between 2 to 4 times faster linking.
  • Visual Studio hata ayıklayıcısı şimdi char8_t’yi destekliyor.The Visual Studio debugger now has support for char8_t.
  • clang-cl kullanarak ARM64 projelerine yönelik destek eklendi.Support for ARM64 projects using clang-cl.
  • Intel AMX iç bilgileri desteği.Intel AMX intrinsics support.

Hata Ayıklayıcısı:Debugger:

  • .NET Core Linux çekirdek döküm hata ayıklama desteği.NET Core Linux core dump debugging support
  • .NET ve .NET Core Otomatik Analizi.NET and .NET Core Auto Analysis
  • .NET ve .NET Core bellek etkin yolu otomatik analizi.NET and .NET Core memory hot path auto analysis

Deneysel Razor Düzenleyicisi Güncelleştirmeleri:Experimental Razor Editor Updates:

  • Blazor ampulleriBlazor light bulbs
  • C# ampulleriC# light bulbs
  • Gelişmiş Razor biçimlendirmesiEnhanced Razor formatting
  • .razor dosyalarındaki işaretlemede Razor bileşenlerini yeniden adlandırmaRename Razor components in markup from .razor files
  • Blazor bileşen etiketi ad alanında tanıma gitmeGo-to-definition on Blazor component tag namespace
  • C# vurgulama renklendirmesiC# hover colorization
  • C# tamamlama araç ipucu renklendirmesiC# completion toolitip colorization
  • Kapalı dosyalar dahil olmak üzere Razor için tanıma/uygulamaya git seçeneğiGo-to-definition/implementation for Razor, including closed files
  • Kapalı Razor dosyalarındaki Tüm Başvuruları BulmaFind All References in closed Razor files
  • Büyük ölçekli projeler ve çözümler için iyileştirilmiş Razor düzenlemesi performansı ve kararlılığıImproved Razor editing preformance and stability for large projects and solutions

SDK Stil Projeleri ile Fakes:Fakes with SDK Style Projects:

  • SDK stil projeleri için yeni Fakes desteğini kullanan bazı kullanıcılar, dolgu oluştururken aşağıdaki hatayla karşılaştıWhen using the new Fakes support for SDK style projects some users encountered the following error when generating shims

Git Üretkenliği:Git Productivity:

  • Yeni çevrimiçi belgelerimizden tüm Git özelliklerini nasıl kullanacağınız hakkında daha fazla bilgi edininLearn more about how to use all the Git features in our new online documentation
  • Git Değişiklikler penceresi, Görünüm menüsü ve Durum çubuğu aracılığıyla Git Depo penceresini dilediğiniz zaman açınOpen the Git Repository window at any time through the Git Changes window, the View menu, and the Status bar
  • Git Değişiklikler penceresindeki birden çok uzak depodan Getirme, Çekme ve GöndermeFetch, Pull, and Push from multiple remotes in the Git Changes window
  • Git Depo penceresinin üstündeki Git komutlarına yönelik başarı veya hata iletilerini görüntülemeView success and error messages for Git commands at the top of the Git Repository window
  • Azure DevOps iş öğesinden yeni bir dal oluşturun Create a new branch from an Azure DevOps work item
  • Git menüsündeki yerel depolarınızın listesinden bir Git deposu açınOpen a Git repository from a list of your local repositories in the Git menu
  • Varsayılan kaynak denetimi sağlayıcısı şimdi TFVC yerine Git olduThe default source control provider is now Git instead of TFVC
  • Tek tıkla Git Deposu penceresinde dal geçmişleri arasında geçiş yapmaSingle click to switch between branch histories in the Git Repository window
  • Bir depoyu açtıktan sonra Çözüm Gezgini’ndeki çözüm listesini görüntüleme ve buradan seçim yapmaView and select from a list of solutions in Solution Explorer after opening a repository
  • Git Deposu penceresindeki araç çubuğu üzerinden geçmiş görünümünü değiştirebilir ve commit işlemleri için arama yapabilirsinizModify the history view and search for commits through a tool bar in the Git Repository window
  • Bir dalın geçmiş grafiğinde gelen ve giden commit işlemleri bölümlerinden getirme, çekme ve gönderme işlemi gerçekleştirebilirsinizFetch, pull, and push from the incoming and outgoing commits sections in the history graph of a branch
  • Dalınızı uzak konuma gönderdikten sonra çekme isteği oluşturmak isteyip istemediğiniz sorulurGet prompted to create a pull request after pushing a branch to your remote
  • Dal listesi bağlam menüsündeki birleştirme ve yeniden temellendirme komutlarında dal adları görünürView branch names in the merge and rebase commands in the branch list context menu
  • Git komutlarına Çözüm Gezgini ve Düzenleyici'deki bağlam menüsünden erişebilirsinizAccess Git commands through the context menu in Solution Explorer and the Editor
  • Kopyalama ilerleme durumunu, işlemi arka plana taşıma seçeneği sunan yeni bir kalıcı iletişim kutusu aracılığıyla takip edebilirsinizObserve clone progress through a new modal dialog with the option to move the process to the background

IntelliCode:IntelliCode:

  • Visual Studio belgelerinden kişiselleştirilmiş IntelliCode tamamlamaları alınGet personalized IntelliCode completions in Visual Studio documentation
  • Kod tabanınızla IntelliCode tamamlamalarınızın güncelliğini sürdürün ve ekibinizin CI iş akışı belgelerinin bir parçası olarak paylaşınKeep your IntelliCode completions up-to-date with your codebase and share as part of your team's CI workflow documentation

.NET Üretkenliği:.NET Productivity:

  • Roslyn çözümleyicileri şimdi .NET 5.0 SDK’sına dahil edildiRoslyn analyzers are now included in the .NET 5.0 SDK
  • Artık bir gizleme işleci mevcut olduğunda yeni C# 9 not desen eşleştirme söz dizimini sunan yeniden düzenlemeRefactoring that introduces the new C# 9 not pattern matching syntax when a suppression operator is present
  • Tek bir deyim gövdesinde statik metot, örnek ve genişletme metodu kullanımını değiştirmeye yardımcı olan satır içi metot yeniden düzenlemesiInline method refactoring to help replace usages of static, instance, and extension method within a single statement body
  • C# dilinde typeof örneklerini nameof örneklerine, Visual Basic’te ise GetType örneklerini NameOf örneklerine dönüştürmeye yarayan kod düzeltmesiCode fix to convert instances of typeof to nameof in C# and GetType to NameOf in Visual Basic
  • İşlev çağrılarında her bağımsız değişkenden önce sabit değerler, değiştirilmiş sabit değerler ve nesne örneklemeleri için kenarlık ekleyen satır içi parametre adı ipuçlarına yönelik C# ve Visual Basic desteğiC# and Visual Basic support for inline parameter name hints that inserts adornments for literals, casted literals, and object instantiations prior to each argument in function calls
  • Hem C# hem de Visual Basic’te seçili bir sınıftaki üyeleri yeni bir taban sınıfına ayıklayan yeniden düzenlemeRefactoring that extracts members from a selected class to a new base class in both C# and Visual Basic
  • Kod temizleme özelliğine, EditorConfig dosyanızda ayarlanmış biçimlendirme ve dosya üst bilgisi tercihlerinizi tek bir dosyaya veya bir çözümün tamamına uygulayabilen yeni yapılandırma seçenekleri eklendiCode cleanup has new configuration options that can apply formatting and file header preferences set in your EditorConfig file across a single file or an entire solution
  • Bağımsız değişkenin başvuruya göre geçirilmemesi gereken yerlerde in anahtar sözcüğünü kaldırmaya yönelik bir kod düzeltmesiCode fix to remove the in keyword where the argument should not be passed by reference
  • Yeni C#9 desen birleştiricilerini ve uygun olduğu yerde is kullanmak üzere ==öğesini dönüştürme gibi desen eşleştirme önerilerini tanıtan yeniden düzenlemeRefactoring that introduces the new C#9 pattern combinators and pattern matching suggestions such as converting == to use is where applicable
  • Soyut olmayan bir sınıfta soyut bir metot yazmaya çalıştığınızda bir sınıfı soyut hale getiren bir kod düzeltmesiCode fix to make a class abstract when you are trying to write an abstract method in a class that is not abstract
  • İlk tırnak işareti yazıldığında, DateTime ve TimeSpan sabit değerli dizelerinin otomatik olarak göründüğü IntelliSense tamamlamasıIntelliSense completion in DateTime and TimeSpan string literals automatically appear when the first quote is typed
  • Gereksiz pragma suppressions ve SuppressMessageAttributes öğelerini kaldırmaya yönelik kod düzeltmesiCode fix to remove unnecessary pragma suppressions and unnecessary SuppressMessageAttributes
  • Rename ve Find All References, genel SuppressMessageAttributes hedef dizesindeki sembol başvurularını anlarRename and Find All References understands references to symbols within the target string of global SuppressMessageAttributes
  • ByVal parametresini soluklaştırarak gerekli olmadığının belirtilmesi ve Visual Basic’te gereksiz ByVal parametrelerini kaldırmaya yönelik kod düzeltmesiByVal fades to say it's not necessary along with a code fix to remove the unnecessary ByVal in Visual Basic
  • .NET Framework ve .NET Core gibi birden çok çalışma zamanı için Etkileşimli penceresi desteği.Interactive window support for multiple runtimes, such as .NET Framework and .NET Core.
  • Çözümleyici yazarlarının ek dosyalar için çözümleyici oluşturmasını sağlayan yeni bir RegisterAdditionalFileAction API'si eklendi.Added a new RegisterAdditionalFileAction API that allows analyzer authors to create an analyzer for additional files.

Visual Studio 2019 IDE:Visual Studio 2019 IDE:

  • Hesap yönetimi deneyiminden yararlanarak GitHub hesabınızı eklemeAdd your Github account using the account management experience
  • Bu sürümde eski "Dosyalarda Bul" deneyimi kullanımdan kaldırıldı ve tüm kullanıcılar yeni deneyime geçirildi.In this release, the legacy Find in Files experience has been deprecated and all users are being moved to the new experience. Düzenleyici ekibi, modern "Dosyalarda Bul" deneyimiyle ilgili sorun yaşayan ve Geliştirici Topluluğu'nda geri bildirim veren kullanıcılarla birlikte çalışma yapmaya devam ediyor.The Editor team is working with folks who leave feedback in Developer Community who are experiencing issues with the modern Find in Files experience.
  • ClickOnce yayımlama sağlayıcısı .NET Core 3.1 ve .NET 5.0 Windows Masaüstü Uygulamalarında kullanıma sunuldu.The ClickOnce publish provider is now available for .NET Core 3.1 and .NET 5.0 Windows Desktop Apps.

Test Gezgini 'Nin test ayrıntıları bölmesini kaydırın:Wrap Test Details Pane of Test Explorer:

  • Artık metni, test Gezgini 'nin test ayrıntıları bölmesinde kaydırabilirsiniz.You can now wrap text in the Test Details pane of the test explorer.

XAML Araçları (WPF, UWP ve Xamarin.Forms):XAML Tools (WPF, UWP, & Xamarin.Forms):

  • XAML Bağlama Hatalarını tanılama iyileştirmeleriXAML Binding Failures diagnostic improvements
  • XAML Çalışırken Yeniden Yükleme Ayarları, “Hata Ayıklama > Çalışırken Yeniden Yükleme” bölümüne taşındıXAML Hot Reload Settings moved to "Debugging > Hot Reload"
  • Başvurulmamış NuGet paketlerinden araç kutusunun doldurulmasıToolbox population from unreferenced NuGet packages

JavaScript/TypeScript:JavaScript/TypeScript:

  • JavaScript/TypeScript hata ayıklayıcısı artık hizmet çalışanlarında, web çalışanlarında, iFrame’lerde ve sayfanızın JavaScript’inde aynı anda hata ayıklamayı destekliyor!The JavaScript/TypeScript debugger now supports debugging service workers, web workers, iFrames, and your page JavaScript all at the same time! Bunun yanı sıra, yeni hata ayıklama deneyimi, tarayıcıdaki arka uç düğüm sunucusu uygulamalarına ve istemci tarafı JavaScript’e yönelik aynı anda hata ayıklama desteği ekliyor.In addition, the new debugging experience adds support for debugging your back-end node server applications and client-side JavaScript in the browser simultaneously. Bu özellik hala deneyseldir.This feature is still experimental. Yeni hata ayıklama deneyimini Hata Ayıklama seçenekleri menüsünden etkinleştirebilirsinizYou can enable the new debugging experience in the Debugging options menu
  • Şimdi kod eylem kısayolunu (ctrl +.) kullanarak kullanılabilir oldukları her yerde yeniden düzenlemeler tetikleyebilirsiniz.You can now trigger refactors anywhere they might be available by using the code action shortcut (ctrl + .). Metin seçmeniz bile gerekmez. TypeScript şimdi en uygun yeniden düzenlemeler için imleç konumunuzun çevresini inceleyecek kadar akıllıdır!You don't even need to select any text - TypeScript is now smart enough to look around your cursor location for the best available refactors!
  • Otomatik içeri aktarma tamamlamaları için TypeScript’in arama yapacağı paketleri ayrıntılı bir şekilde ayarlayabilirsiniz.You can now fine tune which packages TypeScript searches for automatic import completion. Bu, çok sayıda bağımlılığı bulunan bazı projelerde performans iyileştirmeleri sağlayabilir.This can lead to performance improvements in some projects with a lot of dependencies. Daha fazla bilgi için lütfen TypeScript 4.0 (sürüm notlarına)[https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-0.html ] başvurunFor more details, please reference the TypeScript 4.0 (release notes)[https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-0.html]
  • IntelliSense’in desteklenmesi için yüklediğimiz türlerin gösterildiği çıkış bölmesine bir ileti ekledik.We added a message in the output pane showing which types we install to support intellisense. Kullanılan türleri özelleştirmek için projenize bir tsconfig eklemenizi öneririz.We recommend adding a tsconfig to your project to customize which types are used.
  • Lütfen TypeScript 4.0 derleyicisini ve dil hizmetini de eklediğimizi unutmayınPlease note we include the TypeScript 4.0 compiler and language service

Güvenlik Danışmanlığı BildirimiSecurity Advisory Notice

CVE-2020-17100 Visual Studio Oynama Güvenlik Açığı CVE-2020-17100 Visual Studio Tampering Vulnerability

Visual Studio için Python Araçları, python27 klasörünü oluşturduğunda bir oynama güvenlik açığı oluşuyor.A tampering vulnerability exists when the Python Tools for Visual Studio creates the python27 folder. Bu güvenlik açığından başarılı şekilde yararlanan bir saldırgan, yükseltilmiş bağlamda işlemler çalıştırabilir.An attacker who successfully exploited this vulnerability could run processes in an elevated context.

Bu Sürümde Ele Alınan SorunlarIssues Addressed in this Release

  • Intel C++ Derleyicisinin 80 bit uzunluğunda double değeriyle Visual Studio 2019 16.7’de derleme yapıldığında derleyici hataları oluşması nedeniyle projelerin derlenmesinin engellenmesine neden olan bir sorun düzeltildi.Fixed an issue where compiling in Visual Studio 2019 16.7 with the Intel C++ Compiler's 80-bit long double emits compiler errors, preventing projects from building.
  • Live Unit Testing’in bazı senaryolarda başlatılamamasına neden olan bir sorun düzeltildi.Fixed an issue where Live Unit Testing would refuse to start in some scenarios.
  • Visual Studio 2019 v16.8 Önizleme 4’e .NET 5.0.RC2 eklendi.NET 5.0.RC2 added to Visual Studio 2019 v16.8 Preview 4
  • Ara sıra bir Git işleminin başlayıp hiç tamamlanmamasına neden olan bir hata düzeltildi.Fixed a bug where an occasional Git operation would begin and never finish.
  • Visual Studio Codespaces’de oluşturma ve bağlanma için ek işlevler eklendi.Added additional functionality to Visual Studio Codespaces creation and connection. Denemek için Visual Studio için GitHub Codespaces’e kaydolun.Sign-up for GitHub Codespaces for Visual Studio to give it a try.
  • ASP.NET Core çözümlerini kapatırken veya bunlardan ayrılırken Visual Studio 2019’un kilitlenmesine veya yanıt vermemeye başlamasına neden olan bir hata giderildi.Fixed a bug causing Visual Studio 2019 to crash or stop responding when closing or navigating away from ASP.NET Core solutions.
  • Visual Studio 2019 kaldırıldıktan ve yeniden yüklendikten sonra C++ proje sisteminin yükleme başarısız olduğu bir sorun düzeltildi.Fixed an issue where C++ project system would fail to load after uninstalling and reinstalling Visual Studio 2019.

Visual Studio 2019 sürüm 16.8.0’daki Yeniliklerin AyrıntılarıDetails of What's New in Visual Studio 2019 version 16.8.0

C++C++

  • C++20 Eş Yordamları artık /std:c++latest ve üst bilgisi bölümünden desteklenir.C++20 Coroutines are now supported under /std:c++latest and the header. Eski davranışımıza yönelik desteğe, <experimental/coroutine> ve /await anahtarının altından erişilebilir.Support for our legacy behaviour is available under <experimental/coroutine> and the /await switch.
  • IntelliSense şimdi C++20 ve üst bilgileri için destek ve kavram tanımlarına yönelik yeniden adlandırma ve göz atma deneyimi sağlar.IntelliSense now provides support for C++20 and headers, and rename and browsing for concept definitions. Önizleme 4’te ele almayı beklediğimiz bilinen bir sorun vardır.There is a known issue that we expect to address in Preview 4.
  • STL’miz şimdi C++20 Aralıklarının çoğu için destek sunar.Our STL now has support for the majority of C++20 Ranges. Aralıklarla ilgili GitHub sorunumuza yönelik ilerleme durumumuzu izleyebilirsiniz.You can track our progress on our ranges GitHub issue.
  • Koşullu basit özel üye işlevleri artık MSVC’de desteklenmektedir.Conditionally trivial special member functions are now supported in MSVC.
  • C11 ve C17 artık /std:c11 ve /std:c17 anahtarları altında desteklenir.C11 and C17 are now supported under the /std:c11 and /std:c17 switches.
  • Ek STL iyileştirmeleri arasında, std::atomic_ref, std::midpoint and std::lerp ve std::execution::unseq için tam destek, std::reverse_copy için iyileştirmeler ve daha fazlası yer alır.Additional STL improvements include full support for std::atomic_ref, std::midpoint and std::lerp and std::execution::unseq, optimizations for std::reverse_copy, and more. Değişiklik günlüğümüzde tüm güncelleştirmeleri bulabilirsiniz.You can find all the updates in our Changelog.
  • Visual Studio ile birlikte gelen CMake sürümünü CMake 3.18’e yükselttik.We have upgraded the version of CMake shipped with Visual Studio to CMake 3.18.
  • Kod analizi araçlarımız şimdi endüstri standardı statik analiz günlük biçimi olan SARIF 2.1 standardını destekler.Our code analysis tools now support the SARIF 2.1 standard: the industry standard static analysis log format. Resmi belirtim bölümünde SARIF biçimi hakkında daha fazla bilgi edinebilirsiniz.You can read more about the format SARIF format in the official specification.
  • Linux projelerinde derleme araçları eksik olduğunda artık araç çubuğunda bir uyarı verilir ve hata listesinde eksik araçların net bir açıklaması sunulur.Missing build tools in Linux projects will now issue a warning in the toolbar and a clear description of the missing tools in the error list.
  • Artık doğrudan Visual Studio’dan WSL veya uzak bir Linux sisteminde Linux çekirdek dökümlerinin hata ayıklamasını yapabilirsiniz.You can now debug Linux core dumps on a remote Linux system or WSL directly from Visual Studio.
  • C++ Doxygen yorum oluşturma için ek yorum stili seçenekleri (/*!For C++ Doxygen comment generation, we added additional comment style options (/*! ve //!) ekledik.and //!).
  • Ek vcpkg duyurularıAdditional vcpkg announcements
  • Değerlendirilmemiş bağlamlardaki lambda'lar için bu lambda'ları decltype belirticilerde kullanmanızı sağlayan derleyici desteği ekledik.We have added compiler support for lambdas in unevaluated contexts which allows you to use lambdas in decltype specifiers.
  • Artık Visual Studio’da siz yazarken kullanılan lint aracı ve düzeltmeler mevcuttur.As-you-type linter and fixups are now available in Visual Studio. Araçlar->Seçenekler->Metin Düzenleyici->C/C++->CodeStyle->Lint Aracı ve Düzeltmeler seçeneğini kullanarak yapılandırın.Configure using Tools->Options->Text Editor->C/C++->CodeStyle->Linter + Fixups.
As-you-type linter showing warning for using bitwise & instead of logical && on bools
Siz yazarken kullanılan lint aracıAs-you-type linter

Hata AyıklayıcısıDebugger

.NET Core Linux çekirdek döküm hata ayıklama desteği.NET Core Linux core dump debugging support

Yönetilen Linux çekirdek dökümlerindeki hataları Windows üzerinde ayıklama işlemleri şimdiye kadar zor yapılıyordu. Genellikle, üretimi tam olarak yansıtan ve sonra analiz için bir dizi araç yükleyen başka bir Linux ortamı kurulması gerekiyordu.Debugging managed Linux core dumps on Windows has been difficult realize until now, it would usually mean setting up another Linux environment that exactly mirrored production and then installing a set of tools for the analysis. Artık Visual Studio 2019 16.8 önizleme 3 sayesinde, yönetilen bir Linux çekirdek dökümünü doğrudan IDE’nize sürükleyip bırakabilir ve hata ayıklamayı hemen başlatabilirsiniz.Thankfully with Visual Studio 2019 16.8 preview 3 you can simply drag and drop a managed Linux core dump directly into your IDE and immediately start debugging.

.NET Otomatik Analizi.NET Auto Analysis

Zaman uyumsuz (asenkron) programlama, .NET platformunda birkaç yıldır bulunuyordu, ancak geçmişte bunun yapılması zordu.Asynchronous (async) programming has been around for several years on the .NET platform but has historically been difficult to do well. Aşağıdaki senaryoları ve karşıt desenleri belirlemeye yardımcı olan yönetilen bellek dökümü çözümleyicilerini tanıttık:We have introduced managed memory dump analyzers that helps identify the following scenarios and anti-patterns:

  • Sync-over-AsyncSync-over-Async
  • ThreadPool tükenmesiThreadpool exhaustion

.NET ve .NET Core bellek etkin yolu otomatik analizi.NET and .NET Core memory hot path auto analysis

Bu, müşterilerin Tanılama Belleği Aracı penceresinde alev ek açıklamalarını kullanarak bellek yığınındaki hakim nesne türlerini sezgisel olarak görüntülemesine olanak sağlar.This allows customers to intuitively view the dominating object types in their memory heap by using flame annotations in the Diagnostics Memory Tool window.

SDK Stil Projeleri olan Fakes Dolgu Sorunu OluşturuyorFakes with SDK Style Projects Generate Shim Issues

SDK stil projeleri için yeni Fakes desteğini kullanan bazı kullanıcılar, dolgu oluştururken aşağıdaki hatayla karşılaştı.When using the new Fakes support for SDK style projects some users encountered the following error when generating shims.

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

16.8 Önizleme 3 sürümünde bunun için bir düzeltme yayınlandı.A fix for this is released in 16.8 Preview 3. Bir 16.7.* sürümü kullanıyorsanız aşağıdaki geçici çözümü uygulayabilirsiniz:If you are using a 16.7.* release you can use the following workaround:

  1. Csproj dosyanızdaki bir PropertyGroup’a <FakesUseV2Generation>False</FakesUseV2Generation> ifadesini ekleyin.Add <FakesUseV2Generation>False</FakesUseV2Generation> to a PropertyGroup in your csproj file.
  2. Csproj dosyanızdaki bir ItemGroup’a <Fakes Include="Fakes\.fakes" /> ekleyin.Add the <Fakes Include="Fakes\.fakes" /> to an ItemGroup in your csproj file.
  3. ProjectDir/FakesAssemblies içinde oluşturulan Fakes derlemelerine bir başvuru ekleyin.Add a reference to the generated Fakes assemblies in the ProjectDir/FakesAssemblies.

Diğer güncelleştirmeler için geliştirici topluluğu geri bildirimlerini de izleyebilirsiniz.You can also follow the developer community feedback for additional updates.

Deneysel Razor düzenleyicisi güncelleştirmeleriExperimental Razor editor updates

Yeni deneysel Razor düzenleyicisi artık aşağıdaki Razor düzenleme özelliklerini destekliyor:The new experimental Razor editor now supports the following Razor editing features:

  • Blazor ampulleri:Blazor light bulbs:
    • Arka plan koduna ayıklama*:Extract to code behind*:
    • Etiketten bileşen oluşturma*Create component from tag*
    • Bileşen için @using yönergesi eklemeAdd @using directive for component
    • Bileşen etiketi adını tam olarak nitelendirmeFully qualify component tag name
  • C# ampulleriC# light bulbs
    • @using yönergesi eklemeAdd @using directive
    • Tür adını tam olarak nitelendirmeFully qualify type name
  • Gelişmiş Razor biçimlendirmesiEnhanced Razor formatting
  • .razor dosyalarındaki işaretlemede Razor bileşenlerini yeniden adlandırmaRename Razor components in markup from .razor files
  • Blazor bileşen etiketi adlarında tanıma gitmeGo-to-definition on Blazor component tag names
  • C# vurgulama renklendirmesiC# hover colorization
  • C# tamamlama araç ipucu renklendirmesiC# completion toolitip colorization
  • Kapalı Razor dosyalarındaki Tüm Başvuruları BulmaFind All References in closed Razor files
  • Büyük ölçekli projeler ve çözümler için iyileştirilmiş Razor düzenlemesi performansı ve kararlılığıImproved Razor editing preformance and stability for large projects and solutions

* Yalnızca yerel Razor senaryolarında çalışır, henüz Codespaces veya Live Share’de desteklenmez.* Only works in local Razor scenarios, not supported yet in Codespaces or Live Share.

Deneysel Razor düzenleyicisini etkinleştirmek için Araçlar > Seçenekler > Ortam > Önizleme Özellikleri’ne gidip Deneysel Razor düzenleyicisini etkinleştir seçeneğini belirleyin ve Visual Studio’yu yeniden başlatın.To enable the experimental Razor editor, go to Tools > Options > Environment > Preview Features, select Enable experimental Razor editor, and then restart Visual Studio.

Visual Studio 2019 IDEVisual Studio 2019 IDE

  • Bilindik Visual Studio hesap yönetimi deneyiminden yararlanarak GitHub hesabınızı ekleyin.Add your GitHub account using the familiar Visual Studio account management experience. Böylece sürüm denetimi, tümleşik terminal ve diğer özellikler, GitHub kimlik doğrulaması ihtiyaçlarını karşılamak için hesap kimlik bilgilerinizden yararlanabilir.The version control, integrated terminal and other features will then be able to leverage your account credentials to satisfy their GitHub authentication needs.
Inline parameter name hints with GitHub
Visual Studio’da GitHub hesapları eklemeAdding GitHub accounts in Visual Studio
  • ClickOnce yayımlama sağlayıcısı .NET Core 3.1 ve .NET 5.0 Windows Masaüstü Uygulamalarında kullanıma sunuldu.The ClickOnce publish provider is now available for .NET Core 3.1 and .NET 5.0 Windows Desktop Apps. Kullanmaya başlamak için Çözüm Gezgini’nde projeye sağ tıklayıp Yayımla’yı veya Derle > Yayımla menüsünü seçin.To get started, right click on the project in Solution Explorer and select Publish, or select the Build > Publish menu. ClickOnce, Klasör Kategorisi altında bulunabilir.ClickOnce can be found under the Folder Category.
Inline parameter name hints with GitHub Image
Visual Studio’daki ClickOnce Yayımlama sağlayıcısıClickOnce Publish provider in Visual Studio

Git ÜretkenliğiGit Productivity

  • Azure DevOps iş öğesinden yeni bir dal oluşturun

    Create a new branch from an Azure DevOps work itemCreate a new branch from an Azure DevOps work item
    Create a new branch from an Azure DevOps work item
    Bir iş öğesinden yeni bir dal oluşturCreate a new branch from a work item

  • Git menüsündeki yerel depolarınızın listesinden bir Git deposu açınOpen a Git repository from a list of your local repositories in the Git menu

Local Repositories list
Git menüsündeki yerel depoların listesiList of local repositories in Git menu
  • Varsayılan kaynak denetimi sağlayıcısı artık TFVC yerine Git olur ve bunu Araçlar - Seçenekler - Kaynak Denetimi bölümünden değiştirebilirsinizThe default source control provider is now Git instead of TFVC, which you can change from Tools - Options - Source Control

  • Tek tıkla Git Deposu penceresinde dal geçmişleri arasında geçiş yapmaSingle click to switch between branch histories in the Git Repository window

  • Bir depoyu açtıktan sonra Çözüm Gezgini’ndeki deponuzda bulunan çözüm listesini görüntüleme ve buradan seçim yapma

    Preview Feature toggle to show list of Views when opening a repoView and select from a list of solutions in your repo in Solution Explorer after opening a repository
    Preview Feature toggle to show list of Views when opening a repo
    Bir depo açılırken Görünümler listesinin gösterilmesine ilişkin Önizleme Özelliği denetimiPreview Feature toggle to show list of Views when opening a repo

List of Views in Solution Explorer
Çözüm Gezgini’ndeki Görünüm ListesiList of Views in Solution Explorer

.NET Üretkenliği.NET Productivity

  • .NET derleyici platformu (Roslyn) çözümleyicileri, güvenlik, performans, tasarım ve diğer sorunlar için C# veya Visual Basic kodunuzu inceler..NET compiler platform (Roslyn) analyzers inspect your C# or Visual Basic code for security, performance, design, and other issues. .NET 5.0’dan itibaren bu çözümleyiciler, .NET SDK’ye dahildir.Starting in .NET 5.0, these analyzers are included with the .NET SDK. Çözümleyiciler, .NET 5.0 veya sonraki sürümleri hedefleyen projeler için varsayılan olarak etkindir.The analyzers are enabled, by default, for projects that target .NET 5.0 or later. EnableNETAnalyzers özelliğini true değerine ayarlayarak önceki .NET sürümlerini hedefleyen projelerde kod analizini etkinleştirebilirsiniz.You can enable code analysis on projects that target earlier .NET versions by setting the EnableNETAnalyzers property to true. EnableNETAnalyzers özelliğini false değerine ayarlayarak projeniz için kod analizini devre dışı bırakabilirsiniz.You can disable code analysis for your project by setting EnableNETAnalyzers to false. .NET çözümleyicilerini etkinleştirmek/devre dışı bırakmak için Proje Özellikleri penceresini de kullanabilirsiniz.You can also use the Project Properties window to enable/disable .NET analyzers. Proje Özellikleri penceresine erişmek için, Çözüm Gezgini içinde bir projeye sağ tıklayın ve Özellikler’i seçin.To access the Project Properties window right-click on a project within Solution Explorer and select Properties. Ardından Kod Analizi’ni seçin. Burada .NET çözümleyicilerini etkinleştir onay kutusunu seçebilir veya işaretini kaldırabilirsiniz.Next, select the Code Analysis tab where you can either select or clear the checkbox to Enable .NET analyzers.
Project Properties window to enable .NET Analyzers
.NET Çözümleyicileri’ni etkinleştirmek için Proje Özellikleri penceresiProject Properties window to enable .NET Analyzers
  • Artık bir gizleme işleci mevcut olduğunda yeni C# 9 not desen eşleştirme söz dizimini sunan bir yeniden düzenleme vardır.There is now a refactoring that introduces the new C# 9 not pattern matching syntax when a suppression operator is present. İmlecinizi yinelenen uyarıları engelleme işlecinin üzerine yerleştirin.Place your cursor on the suppression operator. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+ . ) tuşlarına basın.Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Desen eşleştirme kullan'ı seçin.Select Use pattern matching.
Refactoring introducing C# 9 not pattern matching syntax
C# 9 not desen eşleştirme söz dizimini sunan yeniden düzenlemeRefactoring introducing C# 9 not pattern matching syntax
  • Şimdi tek bir deyim gövdesindeki statik, örnek ve genişletme yönteminin kullanımlarını, özgün yöntem bildirimini kaldırma seçeneğiyle değiştirmenize yardımcı olan bir satır içi yöntem yeniden düzenlemesi vardır.There is now an inline method refactoring that helps you replace usages of a static, instance, and extension method within a single statement body with an option to remove the original method declaration. İmlecinizi, yöntem kullanımının üzerine getirin.Place your cursor on the usage of the method. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+ . ) tuşlarına basın.Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Ardından, aşağıdaki seçeneklerden birini belirleyin:Next select from one of the following options:

Satır içi yöntem bildirimini kaldırmak için Satır içi <QualifiedMethodName> seçeneğini belirleyin:

Inline Method refactoring removing declarationSelect Inline <QualifiedMethodName> to remove the inline method declaration:
Inline Method refactoring removing declaration
Bildirimi kaldıran satır içi Yöntem yeniden düzenlemesiInline Method refactoring removing declaration

Özgün yöntem bildirimini korumak için Satır içine al ve koru <QualifiedMethodName> seçeneğini belirleyin:

Inline Method refactoring preserving declarationSelect Inline and keep <QualifiedMethodName> to preserve the original method declaration:
Inline Method refactoring preserving declaration
Bildirimi koruyan satır içi Yöntem yeniden düzenlemesiInline Method refactoring preserving declaration

  • Bir şablondan yeni bir C# veya Visual Basic dosyası oluşturulurken EditorConfig kod stili ayarları dikkate alınır.Creating a new C# or Visual Basic file from a template respects EditorConfig code style settings. Yeni dosyalar oluşturulurken otomatik olarak şu kod stilleri uygulanır: dosya üst bilgileri, yönergeleri kullanarak sıralama ve ad alanlarının içinde/dışındaki yönergeleri kullanarak yerleştirme.The following code styles will automatically get applied when creating new files: file headers, sort using directives, and place using directives inside/outside namespaces.

  • İşlev çağrılarında her bağımsız değişkenden önce sabit değerler, değiştirilmiş sabit değerler ve nesne örneklemeleri için kenarlık ekleyen satır içi parametre adı ipuçlarına yönelik C# ve Visual Basic desteği artık sunuluyor.There is now C# and Visual Basic support for inline parameter name hints that inserts adornments for literals, casted literals, and object instantiations prior to each argument in function calls. İlk olarak, Araçlar > Seçenekler > Metin Düzenleyici > C# veya Temel > Gelişmiş’e gidip bu seçeneği açmanız ve Satır içi parametre adı ipuçları (deneysel) seçeneğini belirlemeniz gerekir.You will first need to turn this option on in Tools > Options > Text Editor > C# or Basic > Advanced and select Display inline parameter name hints (experimental). Bu işlemin ardından, C# veya Visual Basic dosyasında satır içi parametre adı ipuçları görüntülenir.The inline parameter name hints will then appear in C# or Visual Basic file.

Inline parameter name hints
Satır İçi Parametre Adı İpuçlarıInline Parameter Name Hints
  • Yeniden düzenlemeye yönelik Temel Sınıfı Ayıkla adlı yeni işlemle, seçili bir sınıftaki üyeleri yeni bir temel sınıfa ayıklayabilirsiniz.You can now extract members from a selected class to a new base class with the new Extract Base Class refactoring. İmlecinizi sınıf adının veya bir vurgulanmış üyenin üzerine yerleştirin.Place your cursor on either the class name or a highlighted member. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+ . ) tuşlarına basın.Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Üyeleri yeni temel sınıfa çek seçeneğini belirleyin.Select Pull member(s) up to new base class. Yeni Temel Sınıfı Ayıkla iletişim kutusu açılır. Burada, temel sınıfın adını ve yerleştirileceği konumu belirtebilirsiniz.The new Extract Base Class dialog will open where you can specify the name for the base class and location of where it should be placed. Yeni temel sınıfa aktarmak istediğiniz üyeleri seçebilir ve Soyut Hale Getir sütunundaki onay kutusunu seçerek üyeleri soyut hale getirebilirsiniz.You can select the members that you want to transfer to the new base class and choose to make the members abstract by selecting the checkbox in the Make Abstract column.
Extract Base Class
Temel Sınıfı AyıklaExtract Base Class

Tamam seçeneğini belirlediğinizde, yeni temel sınıfınız üyeleriyle birlikte eklenir.Once you select Ok you will see the new base class added along with its members.

C# için, typeof öğesini nameof öğesine dönüştür seçeneğini belirleyin:For C#, select Convert typeof to nameof:

Convert typeof to nameof
typeof ifadesini nameof ifadesine dönüştürmeConvert typeof to nameof

Visual Basic için, GetType öğesini NameOf öğesine dönüştür seçeneğini belirleyin:For Visual Basic, select Convert GetType to NameOf:

Convert GetType to NameOf
GetType’ı NameOf’a dönüştürmeConvert GetType to NameOf
  • Kod temizleme özelliğine, EditorConfig dosyanızda ayarlanmış biçimlendirme ve dosya üst bilgisi tercihlerinizi tek bir dosyaya veya bir çözümün tamamına uygulayabilen yeni yapılandırma seçenekleri eklendi.Code cleanup has new configuration options that can apply formatting and file header preferences set in your EditorConfig file across a single file or an entire solution.
Formatting and File Header support in Code Cleanup
Kod Temizleme Özelliğinde Biçimlendirme ve Dosya Üst Bilgisi desteğiFormatting and File Header support in Code Cleanup
  • Artık bağımsız değişkenin başvuruya göre geçirilmemesi gereken yerlerde in anahtar sözcüğünü kaldırmaya yönelik bir kod düzeltmesi mevcut.There is now a code fix to remove the in keyword where the argument should not be passed by reference. İmlecinizi hatanın üzerine yerleştirin.Place your cursor on the error. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+ . ) tuşlarına basın.Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. "in" anahtar sözcüğünü kaldır'ı seçin.Select Remove ‘in’ keyword.
Remove in keyword code fix
`in` Anahtar Sözcüğünü Kaldırma DüzeltmesiRemove `in` Keyword Code Fix
  • Artık yeni C# 9 deseninin birleştiricilerini ekleyen bir yeniden düzenleme mevcut.There is now a refactoring that introduces the new C#9 pattern combinators. Bu kod düzeltmesi, == öğesini uygun olduğunda is şekline dönüştürmek gibi desenle eşleşen önerilerin yanı sıra birden çok farklı desenlerle eşleşme sağlandığında ve olumsuzlaştırma sırasında and, or ve not desen birleştiricileriyle ilgili öneride de bulunur.Along with the pattern matching suggestions such as converting == to use is where applicable, this code fix also suggests the pattern combinators and, or and not when matching multiple different patterns and negating. İmlecinizi deyimin içine yerleştirin.Place your cursor inside the statement. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+ . ) tuşlarına basın.Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Desen eşleştirme kullan'ı seçin.Select Use pattern matching.
Introduce C#9 Pattern Combinators
C#9 Desen Birleştiricileriyle TanışınIntroduce C#9 Pattern Combinators
  • Artık soyut olmayan bir sınıfta soyut bir yöntem yazmaya çalıştığınızda bir sınıfı soyut hale getiren bir kod düzeltmesi mevcut.There is now a code fix to make a class abstract when you are trying to write an abstract method in a class that is not abstract. İmlecinizi yöntem hatasının üzerine getirin.Place your cursor on the method error. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+ . ) tuşlarına basın.Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Sınıfı "soyut" yap'ı seçin.Select Make class ‘abstract’.
Make Class Abstract
Sınıfı Soyut YapMake Class Abstract
  • 16.7 Önizleme 1’de DateTime ve TimeSpan sabit değerli dizelerinde IntelliSense tamamlaması eklenmişti.In 16.7 Preview 1 we added IntelliSense completion in DateTime and TimeSpan string literals. Bu sürümde bu tamamlama listesi, ilk tırnak işareti yazıldığında otomatik olarak görünüyor.In this release, this completion list automatically appears when the first quote is typed. Önceden bu tamamlama listesini görüntülemek için Ctrl+boşluk tuşlarına basmak gerekiyordu.In the past, it was required to type (Ctrl+space) to view this completion list. İmlecinizi DateTime veya TimeSpan dize değişmez değerine yerleştirin ve ilk çift tırnağı yazın.Place your cursor inside the DateTime or TimeSpan string literal and type the first double quote. Daha sonra, her karakterin ne anlama geldiğine ilişkin tamamlama seçenekleri ve bir açıklama görürsünüz.You will then see completion options and an explanation as to what each character means. Hem tarih saat biçimi hem de bir örnek sağlanır.Both the date time format and an example will be provided.
IntelliSense Completion in DateTime and TimeSpan String Literals
DateTime ve TimeSpan dize değişmez değerlerinde IntelliSense TamamlamasıIntelliSense Completion in DateTime and TimeSpan string Literals
This improvement also works for interpolated strings when you type a colon
Bu geliştirme ayrıca iki nokta üst üste eklediğinizde düz metin arasına kod eklenmiş dizeler için de kullanılabilirThis improvement also works for interpolated strings when you type a colon
  • Artık gereksiz pragma gizlemelerini ve gereksiz SuppressMessageAttributes öğelerini kaldırmak için kod düzeltmesi mevcut.There is now a code fix to remove unnecessary pragma suppressions and unnecessary SuppressMessageAttributes. İmlecinizi pragma uyarısının veya SuppressMessageAttribute öğesinin üzerine yerleştirin.Place your cursor on the pragma warning or the SuppressMessageAttribute. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+ . ) tuşlarına basın.Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Gereksiz gizlemeyi kaldır'ı seçin.Select Remove unnecessary suppression.
Remove Unnecessary Pragmas
Gereksiz Pragmaları KaldırmaRemove Unnecessary Pragmas
Remove Unnecessary SuppressMessageAttributes
Gereksiz SuppressMessageAttribute Öğelerini KaldırmaRemove Unnecessary SuppressMessageAttributes
  • Yeniden Adlandır ve Tüm Başvuruları Bul komutları artık hedef genel SuppressMessageAttribute gizlemesi dizisindeki sembol başvurularını anlıyor.Rename and Find All References now understands references to symbols within the target string of global SuppressMessageAttribute suppressions.
Rename SuppressMessageAttribute
SuppressMessageAttribute Öğesini Yeniden AdlandırmaRename SuppressMessageAttribute
Find All References for SuppressMessageAttribute
SuppressMessageAttribute İçin Tüm Başvuruları BulmaFind All References for SuppressMessageAttribute
  • Visual Basic'te, ByVal ve ByRef parametrelerini geçirmek için kullanılabilecek birden çok yöntem vardı ve ByVal uzun süredir isteğe bağlıydı.Visual Basic had multiple ways of passing parameters, ByVal and ByRef, and for a long time ByVal has been optional. ByVal parametresini soluklaştırarak gerekli olmadığını belirttik ve gereksiz ByVal parametrelerini kaldırmaya yönelik bir kod düzeltmesi yaptık.We now fade ByVal to say it's not necessary along with a code fix to remove the unnecessary ByVal. İmlecinizi ByVal anahtar sözcüğünün üzerine yerleştirin.Place your cursor on the ByVal keyword. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+ . ) tuşlarına basın.Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. "ByVal" anahtar sözcüğü gereksiz ve kaldırılabilir'i seçin.Select ‘ByVal’ keyword is unnecessary and can be removed.
Visual Basic Remove ByVal Refactoring
Visual Basic ByVal Kaldırma Yeniden DüzenlemesiVisual Basic Remove ByVal Refactoring
  • Artık .NET Framework ve .NET Core gibi birden çok çalışma zamanı için etkileşimli pencere desteği mevcut.There is now interactive window support for multiple runtimes, such as .NET Framework and .NET Core.
Interactive Window Support in .NET Core
.NET Core'da Etkileşimli Pencere DesteğiInteractive Window Support in .NET Core
  • Çözümleyici yazarlarının ek dosyalar için çözümleyici oluşturmasını sağlayan yeni bir RegisterAdditionalFileAction API'si mevcut.There is a new RegisterAdditionalFileAction API that allows analyzer authors to create an analyzer for additional files.

Test Gezgini 'nin test ayrıntıları bölmesini kaydırınWrap Test Details Pane of Test Explorer

Bu yüksek oranda istenen özellik, kullanıcının metin kaydırmayı seçmesini veya varsayılan metin çizgisi hizalamasını bırakmasını sağlar.This highly requested feature allows the user to select text wrapping or leave the default text line alignment. Metin hizalaması gerekli olmadığında, kaydırma bir test çalıştırmadaki geri bildirimin bir yatay kaydırma çubuğu gereksinimini görüntüleyip ortadan kaldıran çok daha kolay olmasını sağlayabilir.When text alignment isn’t needed, wrapping can make the feedback from a test run much easier to view and eliminates the need for a horizontal scroll bar. Bunu, test Gezgini ayarları menüsünden veya Özet bölmesinin bağlam menüsünden etkinleştirebilirsiniz.You can enable this from the Test Explorer settings menu or the context menu of the Summary Pane.

Wrap test details from the Test Settings menu
Test ayarları menüsüTest settings menu
Wrap test details from the right-click context menu
Sağ tıklama bağlam menüsünden Test ayrıntılarını kaydırınWrap test details from the right-click context menu

XAML Araçları (WPF, UWP ve Xamarin.Forms)XAML Tools (WPF, UWP, & Xamarin.Forms)

XAML Bağlama Hatalarını tanılama iyileştirmeleriXAML Binding Failures diagnostic improvements

WPF, UWP, WinUI ve Xamarin.Forms projelerinde çalışan geliştiricilerin uygulamalarındaki XAML veri bağlama hatalarını sıklıkla tespit edip çözümlemesi gerekir.Developers working on WPF, UWP, WinUI and Xamarin.Forms projects must often detect and resolve XAML data binding failures in their applications. Bu senaryoda tanılama araçlarını iyileştirmek amacıyla Visual Studio 2019 16.8 ve üzeri sürümlere iki yeni deneyim ekledik:To improve the diagnostic tooling in this scenario we have added two new experiences to Visual Studio 2019 version 16.8 or newer:

  • XAML Bağlama Hatası Gösterge Simgesi: Yeni XAML Bağlama hatası gösterge simgesi, WPF ve UWP projeleri için uygulama içi araç çubuğuna, Xamarin.Forms dahil tüm XAML projeleri içinse Canlı Görsel Ağaç’a eklendi.XAML Binding Failure Indicator Icon: a new XAML Binding failure indicator icon is now present in the in-app toolbar for WPF and UWP projects and in the Live Visual Tree for all XAML projects including Xamarin.Forms. En az bir bağlama hatası algılandığında bu simge kırmızı bir gösterge görüntüler.This icon will show a red indicator if at least one binding failure is detected. Ayrıca, simgeye tıkladığınızda yeni XAML Bağlama Hataları penceresine gidersiniz.Clicking the icon will also take you to the new XAML Binding Failures window.
Binding Failure Icon (in-app toolbar)
Bağlama Hatası Simgesi (uygulama içi araç çubuğu)Binding Failure Icon (in-app toolbar)
  • XAML Bağlama Hataları Penceresi: Yeni XAML Bağlama Hataları penceresi; WPF, UWP, WinUI ve Xamarin.Forms projelerinde kullanıma sunuldu.XAML Binding Failures Window: the new XAML Binding Failures window is now available for WPF, UWP, WinUI and Xamarin.Forms projects. Bu yeni özel deneyim, önceden yalnızca Çıkış Penceresi’nde kullanılabilir olan bağlama hatası bilgileri üzerinden zengin bir kullanıcı arabirimi sunar.This new dedicated experience provides a rich user interface over the binding failure information that was previously only available in the Output Window. İyileştirmeler arasında, hataları sıralanabilen, özelleştirilebilen ve tamamen aranabilir sütunlardan oluşan bir küme olarak görüntüleyebilme özelliği yer alıyor.Improvements include the ability to see the failures as a set of columns that can be sorted, customized and are fully searchable. Ayrıca, özgün ham hata bilgilerinin tamamını kullanılabilir ve bir sağ tıklama menüsü seçeneği aracılığıyla kolayca kopyalanabilir hale getirirken, veri bağlama şablonları hatalarının belirli birleşimleri sırasında oluşabilecek paraziti sınırlamak için benzer hataları gruplandırdık.We have also grouped similar errors together limiting the noise that can occur during certain combination of data binding templates failures while still making all the original raw error information available and easily copyable through a right-click menu option. (Not: Xamarin 4.5.0.266-pre3 veya üzeri bir sürüm gerektirir)(note: requires Xamarin version 4.5.0.266-pre3 or higher)
  • Bağlama hatalarıyla ilgili Kaynağa gidin: WPF ekibiyle işbirliği yaparak, .NET 5 (RC2 veya üzeri) üzerinde WPF’yi hedefleyen müşteriler için bağlama hatalarının kaynağına gitme özelliğini kullanıma sunduk.Navigate to Source for binding failures: In partnership with the WPF team we have enabled the ability to navigate to source of a binding failures for those customers who are targeting WPF on .NET 5 (RC2 or newer).
XAML Binding Failure Window & LVT Icon
XAML Bağlama Hatası Penceresi ve LVT SimgesiXAML Binding Failure Window & LVT Icon

XAML Çalışırken Yeniden YüklemeXAML Hot Reload

  • Xamarin.Forms “yalnızca değişiklikler” XAML Çalışırken Yeniden Yükleme artık UWP’yi destekliyor – Bu sürümde, yoğun istek alan ve Xamarin.Forms’da UWP hedeflenirken yeni “yalnızca değişiklikler” XAML Çalışırken Yeniden Yükleme desteğinin kullanılmasına olanak tanıyan özelliğe yönelik destek sunulacak.Xamarin.Forms “changes only” XAML Hot Reload now supports UWP: in this release we begin to rollout support for a highly requested feature that enables the new changes only XAML Hot Reload support in Xamarin.Forms Projects when targeting UWP. Bu özellik hala geliştirme aşamasındadır. XAML, artık çalışan uygulamalarda düzenleme işlemi sırasında güncelleştirme tetikleyecek. Henüz tam olarak uygulanmayan uygulama içi araç çubuğu (öğe seçimi vb.) gibi diğer özellikler gelecekteki bir sürümde uygulanacak.Please note this feature is still in development, and while editing XAML will now trigger updates in the running app other features such as in-app toolbar (element selection, etc.) are not yet fully implemented, but will be in a future release.
  • XAML Çalışırken Yeniden Yükleme Ayarları, “Hata Ayıklama > Çalışırken Yeniden Yükleme” bölümüne taşındı: Bu sürümde WPF, UWP ve Xamarin.Forms genelindeki XAML Çalışırken Yeniden Yükleme ayarlarını “Hata Ayıklama > Çalışırken Yeniden Yükleme” bölümündeki birleştirilmiş ayarlarda bir araya getirdik.XAML Hot Reload Settings moved to “Debugging > Hot Reload”: In this release we have consolidated the XAML Hot Reload settings across WPF, UWP and Xamarin.Forms into a unified settings screen under “Debugging > Hot Reload”. Ayrıca, bu özellik kullanılabilir olduğunda size tam denetim vermek amacıyla platform temelli XAML Çalışırken Yeniden Yükleme’yi etkinleştirme veya devre dışı bırakma özelliğini ilk kez kullanıma sunduk.We have also for the first time enabled the ability to disable or enable XAML Hot Reload on a per-platform basis to give you full control of when this feature is available. (Not: Bu geçiş sırasında hiçbir ayar değiştirilmeyecek ve mevcut seçimleriniz bu yeni konumda etkin kalacak.(Note: No settings will be changed during this migration so all your existing choices will continue to stay in effect just under this new location)
XAML Hot Reload Consolidated Settings
XAML Çalışırken Yeniden Yükleme Birleştirilmiş AyarlarıXAML Hot Reload Consolidated Settings

XAML Kod Düzenleyici:XAML Code Editor:

  • WinUI 3.0 IntelliSense Desteği: Bu sürümde, yeni WinUI 3.0 önizleme 3 veya üzeri bir sürümü kullanarak uygulama oluşturan geliştiriciler için daha iyi IntelliSense desteğini kullanıma sunduk.WinUI 3.0 IntelliSense Support: In this release we have enabled better IntelliSense support for developers building apps using the new WinUI 3.0 preview 3 or newer. WinUI 3.0 hakkında daha fazla bilgi edinmek için belgelere göz atın. Görüş bildirmek için Windows UI XAML GitHub deposunu ziyaret edin.To learn more about WinUI 3.0 see the documentation and to provide feedback visit the Windows UI XAML GitHub repo. Not: En son WinUI 3.0 önizleme sürümünün, güncelleştirilmiş araç deneyimi için 16.9 Önizleme 1 sürümünde kullanılması önerilir.Note: The latest WinUI 3.0 preview is recommended on 16.9 Preview 1 for the updated tooling experience.
  • MVVM Desteğini iyileştirme: XAML belgesi yazarken, XAML belgesi için doğru bağlama IntelliSense’ini almak için d:DataContext ayarını yapabilirsiniz.Improving MVVM Support: When authoring a XAML document, you can set d:DataContext to get accurate binding IntelliSense for the XAML document. Geçmişte, veri bağlamı türünün el ile belirtilmesi oldukça oyalayıcı bir işlemdi; XAML belgesinden çıkmanız, istediğiniz görüntüleme modeli türünü bulmanız, ad alanını kopyalayıp yapıştırmanız ve d:DataContext bildirimine adlandırmanız gerekiyordu.In the past, manually specifying the data-context type was cumbersome; you had to leave the XAML document, find the desired view-model type, copy and paste its namespace and name into the d:DataContext declaration. Bu sürümdeyse, olası görüntüleme modeli adaylarını öneren bir ampul aracılığıyla hızlı şekilde d:DataContext bildirmenize olanak sağlayan yeni bir özellik sunuyoruz.In this release we’re introducing a new feature that allows you to quickly declare a d:DataContext via a lightbulb that suggests possible view-model candidates.
XAML IntelliSense for MVVM d:DataContext
MVVM d:DataContext için XAML IntelliSenseXAML IntelliSense for MVVM d:DataContext

GenişletilebilirlikExtensibility

Geliştirici Topluluğu’ndanFrom Developer Community


Bilinen SorunlarKnown Issues

Aşağıdaki bağlantıyı izleyerek Visual Studio 2019’daki tüm açık sorunları ve kullanılabilir geçici çözümleri görüntüleyin.See all open issues and available workarounds in Visual Studio 2019 by following the below link.


Görüş ve önerilerFeedback and suggestions

Görüşlerinizi almaktan mutluluk duyarız!We would love to hear from you! Yükleyicinin veya Visual Studio IDE’nin sağ üst köşesindeki Sorun Bildir seçeneğiyle sorunları bize bildirebilirsiniz.For issues, let us know through the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. BuThe Feedback Icon simge sağ üst köşede bulunur.icon is located in the upper right-hand corner. Soru sorup yanıtlar bulabileceğiniz, yeni özellikler önerebileceğiniz Visual Studio Geliştirici Topluluğu sayfasından sorunlarınızı takip edebilir ve ürün önerisinde bulunabilirsiniz.You can make a product suggestion or track your issues in the Visual Studio Developer Community, where you can ask questions, find answers, and propose new features. Ayrıca Canlı Sohbet desteğimizden ücretsiz yükleme yardımı alabilirsiniz.You can also get free installation help through our Live Chat support.


BloglarBlogs

Tüm yeni yayınlar hakkında güncel bilgi sunan ve çok çeşitli özellikler hakkında derinlemesine bilgiler içeren Geliştirici Araçları Blogları sitesinde mevcut olan içgörü ve önerilerden yararlanın.Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.


Visual Studio 2019 Sürüm Notları GeçmişiVisual Studio 2019 Release Notes History

Visual Studio 2019’un geçmiş sürümleriyle ilgili daha fazla bilgi için Visual Studio 2019 Sürüm Notları Geçmişi sayfasına bakın.For more information relating to past versions of Visual Studio 2019, see the Visual Studio 2019 Release Notes History page.


Sayfanın Başı

Top of Page