Visual Studio Icon Visual Studio 2019 sürüm 16.7 Sürüm Notları



Geliştirici topluluğu | Sistem gereksinimleri | Uyumluluk | Dağıtılabilir kod | Lisans koşulları | Blogları | Bilinen en son sürüm sorunları | Visual Studio docs 'Da yeni yenilikleri


Visual Studio 2019’un en son sürümünü indirmek için bir düğmeye tıklayın. 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. Ayrıca çevrimdışı yükleme yönergelerine bakın.

Community Download Button Professional Download Button Enterprise Download Button


Visual Studio 2019 sürüm 16.7’deki Yenilikler

Destek Zaman Çerçevesi

Visual Studio 2019 sürüm 16.7, Visual Studio 2019 için desteklenen üçüncü bakım ana hattıdır. Uzun süreli kararlı ve güvenli bir geliştirme ortamını benimsemesi gereken Enterprise ve Professional müşterilerinin bu sürümü standart olarak kullanmaları önerilir. Yaşam döngüsü ve destek ilkenizdedaha ayrıntılı olarak açıklandığı gibi, sürüm 16,7, düzeltmeler ve güvenlik güncelleştirmeleriyle 2022 Nisan 'a kadar desteklenecektir. 2022 Nisan, dördüncü hizmet temeli olarak belirtilen Visual Studio 2019 sürüm 16,9 yayımlandıktan sonraki bir yıldır.

Buna ek olarak, sürüm 16.7 kullanıma sunulduğundan, önceki bakım ana hattı olan sürüm 16.4, 12 ay boyunca ek destek alacak ve bu destek Ocak 2021’de sona erecektir. 16.5 ve 16.6 sürümlerinin de artık desteklenmediğine dikkat edin. Bu ara yayınlar yalnızca sonraki küçük güncelleştirme yayımlanana kadar bakım düzeltmelerini alıyordu.

Visual Studio 2019 sürüm 16.7’nin en yeni ve güvenli sürümünü my.visualstudio.com adresindeki indirmeler bölümünden edinebilirsiniz.   Desteklenen Visual Studio ana hatları hakkında daha fazla bilgi için lütfen Visual Studio 2019 için destek ilkesini gözden geçirin.

Visual Studio 2019 sürüm 16.7 Yayınları

Visual Studio 2019 Arşivlenmiş Yayın Notları

Visual 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. Visual Studio 2019 yayınları hakkında kapsamlı bilgileri aşağıdaki gönderilerde bulabilirsiniz:


Visual Studio 2019 sürüm 16,7 ' de gerçekleştirilen tüm geliştirici topluluk öğelerinin bu tam listesini görüntüleyin

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

Yayın tarihi, 08 Haziran 2021

Visual Studio 2019 sürüm 16.7.16 'in bu sürümünde

Güvenlik Danışmanlığı Bildirimi

CVE-2021-31957 ASP.NET hizmet reddi güvenlik açığı

ASP.NET Core hatalı şekilde istemci bağlantısını kesmeyi işlediğinde bir hizmet reddi güvenlik açığı vardır.


Release Notes Icon Visual Studio 2019 sürüm 16.7.15

piyasaya sürüldü 11 Mayıs 2021

Visual Studio 2019 sürüm 16.7.15 'in bu sürümünde

  • Bir yönetici, güncelleştirmeleri dağıtmak için Visual Studio 'nun yeni bir yerleşimini oluşturduğunda güncelleştirmelerin başarısız olmasına neden olan bir sorun düzeltildi. Düzen taşınmış konumlara sahip olduğundan istemci makinesi güncelleştirmesi başarısız olacak.

Güvenlik Danışmanlığı Bildirimi

CVE-2021-27068 İç içe geçmiş klasördeki python.exe plandırmaya olanak varsa RCE

Python kodu ile bir çalışma alanı açılırken bir uzaktan kod yürütme güvenlik açığı var ve bu çalışma alanı betikler alt klasöründeki bir python.exe içeriyor.

CVE-2021-31204 .NET Core ayrıcalık yükselmesi güvenlik açığı

.NET 5,0 ve .NET Core 3,1 ' de bir Kullanıcı, Linux veya macOS tabanlı Işletim sistemlerinde tek bir dosya uygulaması çalıştırdığında ayrıcalık yükselmesi güvenlik açığı bulunmaktadır.


Release Notes Icon Visual Studio 2019 sürüm 16.7.14

Yayın tarihi, 13 Nisan 2021

Visual Studio 2019 sürüm 16.7.14 'in bu sürümünde

  • İyileştirici etkin kodu yanlışlıkla kaldırma
  • NuGet, paketleri normal çıkış ayrıntı düzeyine geri yüklerken paket kaynak ve paket içerik karmasını raporlar
  • NuGet, paket kaynağını, genel paketler klasöründeki paketin. nupkg. Metadata dosyasına kaydeder. Genel paketler klasöründeki mevcut paketler, bu ek bilgileri almaz. Genel paketler klasörünüz, tüm paketlerin paket kaynak bilgilerini toplamak için temizlenir.

Güvenlik Danışmanlığı Bildirimi

CVE-2021-27064 Visual Studio Yükleyicisi ayrıcalık yükselmesi güvenlik açığı

Visual Studio yükleyicisi geri bildirim istemcisini yükseltilmiş durumda yürüttüğünde, uzaktan kod yürütme güvenlik açığı oluşur.

CVE-2021-28313 / CVE-2021-28321 / CVE-2021-28322 Tanılama Merkezi Standart Toplayıcı hizmeti ayrıcalık yükselmesi güvenlik açığı

Tanılama Merkezi Standart Toplayıcı, dosya işlemlerini hatalı işlediğinde ayrıcalıkların yükseltilmesi güvenlik açığı ortaya çıkıyor.


Release Notes Icon Visual Studio 2019 sürüm 16.7.13

Yayın tarihi, 09 Mart 2021

Visual Studio 2019 sürüm 16.7.13 'in bu sürümünde

Güvenlik Danışmanlığı Bildirimi

CVE-2021-21300 Visual Studio uzaktan kod yürütme güvenlik açığı için git

Visual Studio kötü amaçlı bir depoyu klonlarken, uzaktan kod yürütülmesine ilişkin bir güvenlik açığıyla karşılaşılıyor.

CVE-2021-26701 .NET Core uzaktan kod yürütme güvenlik açığı

.NET 5 ve .NET Core 'ta metin kodlamasının gerçekleştirilme biçimi nedeniyle bir uzaktan kod yürütme güvenlik açığı bulunmaktadır.


Release Notes Icon Visual Studio 2019 sürüm 16.7.12

Yayın tarihi, 2021 ª

Visual Studio 2019 sürüm 16.7.12 'in bu sürümünde


Release Notes Icon Visual Studio 2019 sürüm 16.7.11

Yayın tarihi, 2021 ª

Visual Studio 2019 sürüm 16.7.11 'in bu sürümünde

Güvenlik Danışmanlığı Bildirimi

CVE-2021-1639 TypeScript dil hizmeti uzak kod yürütme güvenlik açığı

Visual Studio JavaScript veya TypeScript kod dosyalarını içeren bir kötü amaçlı depoyu yüklediğinde uzaktan kod yürütme güvenlik açığı oluşur.

CVE-2021-1721 .NET Core hizmet reddi güvenlik açığı

X509 sertifika zinciri oluşturma sırasında HTTPS Web isteği oluşturulurken bir hizmet reddi güvenlik açığı var.

CVE-2021-24112 .NET 5 ve .NET Core uzaktan kod yürütme güvenlik açığı

Grafik arabirimine hala bir başvuru olduğunda meta dosyaları elden atılırken bir uzaktan kod yürütme güvenlik açığı bulunur. Bu güvenlik açığı yalnızca MacOS veya Linux üzerinde çalışan sistemlerde bulunur.


Release Notes Icon Visual Studio 2019 sürüm 16.7.10

yayın tarihi: 12 Ocak 2021

Visual Studio 2019 sürüm 16.7.10’un bu yayınında

Güvenlik Danışmanlığı Bildirimi

CVE-2021-1651 / CVE-2021-1680 Tanılama Merkezi Standart Toplayıcı Hizmeti Ayrıcalıkların Yükseltilmesi Güvenlik Açığı

Tanılama Merkezi Standart Toplayıcı, dosya işlemlerini hatalı işlediğinde ayrıcalıkların yükseltilmesi güvenlik açığı ortaya çıkıyor.

CVE-2020-26870 Visual Studio Yükleyicisi Uzaktan Kod Yürütme Güvenlik Açığı

Visual Studio Yükleyicisi, kötü amaçlı markdown'ı göstermeye çalıştığında uzaktan kod yürütme güvenlik açığı ortaya çıkıyor.

CVE-2021-1723 .NET Core ve Visual Studio Hizmet Reddi Güvenlik Açığı

Kestrel uygulamasında hizmet reddi güvenlik açığı vardır.


Release Notes Icon Visual Studio 2019 sürüm 16.7.9

yayın tarihi: 8 Aralık 2020

Visual Studio 2019 sürüm 16.7.9’un bu yayınında

Güvenlik Danışmanlığı Bildirimi

CVE-2020-17156 Visual Studio Uzaktan Kod Yürütme Güvenlik Açığı

Visual Studio kötü amaçlı bir depoyu klonlarken, uzaktan kod yürütülmesine ilişkin bir güvenlik açığıyla karşılaşılıyor.


Release Notes Icon Visual Studio 2019 sürüm 16.7.8

yayın tarihi: 10 Kasım 2020

Visual Studio 2019 16.7.8 Sürümünde

Güvenlik Danışmanlığı Bildirimi

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

Visual Studio için Python Araçları, python27 klasörünü oluşturduğunda bir oynama güvenlik açığı oluşuyor. Bu güvenlik açığından başarılı şekilde yararlanan bir saldırgan, yükseltilmiş bağlamda işlemler çalıştırabilir.



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

yayın tarihi: 27 Ekim 2020

Visual Studio 2019 sürüm 16.7.7’nin bu sürümünde



Release Notes Icon Visual Studio 2019 sürüm 16.7.6

yayın tarihi: 13 Ekim 2020

Visual Studio 2019 sürüm 16.7.6’nın bu sürümünde



Release Notes Icon Visual Studio 2019 sürüm 16.7.5

yayın tarihi: 29 Eylül 2020

Visual Studio 2019 sürüm 16.7.5’in bu sürümünde



Release Notes Icon Visual Studio 2019 sürüm 16.7.4

yayın tarihi: 21 Eylül 2020

Visual Studio 2019 sürüm 16.7.4’ün bu sürümünde


  • Xcode 12.0 GM desteği eklendi.
  • Info.plist düzenleyicisinde Renk seçeneğini Vurgu Rengi olarak ayarlama desteği eklendi.

Release Notes Icon Visual Studio 2019 sürüm 16.7.3

yayın tarihi: 08 Eylül 2020

Visual Studio 2019 sürüm 16.7.3’ün bu sürümünde


Güvenlik Danışmanlığı Bildirimi

CVE-2020-1130 Tanılama Merkezi Standart Toplayıcı Ayrıcalıkların Yükseltilmesi Güvenlik Açığı

Tanılama Merkezi Standart Toplayıcı, dosya işlemlerini hatalı işlediğinde ayrıcalıkların yükseltilmesi güvenlik açığı ortaya çıkıyor. Bu güvenlik açığından başarılı şekilde yararlanan bir saldırgan, yükseltilmiş bağlamda işlemler çalıştırabilir.

CVE-2020-1133 Tanılama Merkezi Standart Toplayıcı Ayrıcalıkların Yükseltilmesi Güvenlik Açığı

Tanılama Merkezi Standart Toplayıcı, dosya işlemlerini hatalı işlediğinde ayrıcalıkların yükseltilmesi güvenlik açığı ortaya çıkıyor. Bu güvenlik açığından başarılı şekilde yararlanan bir saldırgan, yükseltilmiş bağlamda işlemler çalıştırabilir.

CVE-2020-16856 Visual Studio Uzaktan Kod Yürütme Güvenlik Açığı

Bellekteki nesneleri hatalı şekilde işlediğinde Visual Studio’da bir uzaktan kod yürütme güvenlik açığı bulunur. Güvenlik açığından yararlanan bir saldırgan, geçerli kullanıcının bağlamında rastgele kod çalıştırabilir.

CVE-2020-16874 Visual Studio Uzaktan Kod Yürütme Güvenlik Açığı

Bellekteki nesneleri hatalı şekilde işlediğinde Visual Studio’da bir uzaktan kod yürütme güvenlik açığı bulunur. Güvenlik açığından yararlanan bir saldırgan, geçerli kullanıcının bağlamında rastgele kod çalıştırabilir.

CVE-2020-1045 Microsoft ASP.NET Core Güvenlik Özelliği Atlama Güvenlik Açığı

Microsoft ASP.NET Core'un kodlanmış tanımlama bilgisi adlarını ayrıştırma yönteminde güvenlik özelliğini aşan bir güvenlik açığı bulunuyor. ASP.NET Core tanımlama bilgisi ayrıştırıcının tanımlama bilgisi dizelerinin tamamının kodunu çözer ve bu durum kötü niyetli bir saldırganın adı yüzde işaretiyle kodlanmış ikinci bir tanımlama bilgisi ayarlamasına olanak tanıyabilir.

Bu Sürümde Giderilen Diğer Sorunlar

  • Desen eşleştirme kullanan switch deyimleri veya switch ifadeleri için bir derleyici kilitlenmesi düzeltildi.
  • Test çalıştırması sonlandırılarak Birim Testi için “Hata Ayıklamayı Durdur (Shift+F5)” iş akışı geri yüklendi.
  • WinForms .NET Core tasarımcısında kaydedilmemiş değişiklikler olduğunda proje yapılandırması değiştirilirken oluşan VS kilitlenmesi engellendi.
  • .NET Core’un desteklenmeyen sürümleri artık VS kurulumu dışında kaldırıldıysa onarım veya yükseltme sırasında yeniden yüklenmeyecektir.
  • Dış Bağımlılıkların Dosyalarda Bul bölümünde doğru şekilde aranmaması sorunu düzeltildi.
  • Çözüm Gezgini’nin bağlam menüsündeki Git alt menüsünde “Commit...” düğmesi yeniden sunuldu.
  • TFVC İade Notları etiketinin görünmez olmasına neden olan bir hata düzeltildi.
  • Birden çok hedef çerçeve içeren SDK stili csproj içinde WinForm tasarımcısı kullanılırken oluşan kilitlenme düzeltildi.
  • <d:Style.DataContext> öğesinin geçersiz bir işaretleme hatası bildirmesi sorunu düzeltildi.

Visual Studio 2019 sürüm 16.7.3’te Düzeltilen En Önemli Geliştirici Topluluğu Sorunları


Release Notes Icon Visual Studio 2019 sürüm 16.7.2

Yayın tarihi: 18 Ağustos 2020

Visual Studio 2019 sürüm 16.7.2’nin Bu Sürümünde


Visual Studio 2019 sürüm 16.7.2’de Düzeltilen En Önemli Geliştirici Topluluğu Sorunları


Release Notes Icon Visual Studio 2019 sürüm 16.7.1

Yayın tarihi: 11 Ağustos 2020

Visual Studio 2019 sürüm 16.7.1’in Bu Sürümünde


Visual Studio 2019 sürüm 16.7.1’de Düzeltilen En Önemli Geliştirici Topluluğu Sorunları


Release Notes Icon Visual Studio 2019 sürüm 16.7.0

yayın tarihi 5 Ağustos 2020

Visual Studio 2019 sürüm 16.7.0'ın sürümünde


C++

  • Uzaktan C++ desteğiniz artık sh, csh, bash, tsch, ksh, zsh ve dash dahil olmak üzere daha geniş kapsamlı Linux dağıtımlarını ve kabuklarını destekler. ConnectionManager.exe aracılığıyla yeni "shell" özelliğini değiştirerek uzaktan bağlantı için kabuk seçimini geçersiz kılabilirsiniz. Bu destek hem MSBuild tabanlı Linux projeleri hem de uzak bir Linux sistemini veya WSL’yi hedefleyen CMake projeleri ile test edilmiştir.
  • Şimdi, MSBuild tabanlı Linux projeleri için artımlı derleme sürelerini kısaltmak amacıyla Ninja’yı (artımlı derlemeleri çok hızlı şekilde değerlendiren bir derleme sistemi) kullanabilirsiniz. Genel Özellik Sayfasında "Artımlı Derlemeyi Etkinleştir" seçeneğini "Ninja ile" olarak ayarlayarak bu özelliği kabul edebilirsiniz. Ninja (ninja derlemesi), uzak Linux sisteminizde veya WSL’de yüklü olmalıdır.
  • Yeni C++20 Standart Kitaplık özellikleri uygulandı. Ayrıntılı liste için lütfen GitHub’daki STL Değişim Günlüğü’ne başvurun.
  • Artık Bağlantı Yöneticisi’nde varsayılan uzak SSH bağlantılarını düzenleyip ayarlayabilirsiniz. Bu, mevcut bir uzak bağlantıyı düzenleyebileceğiniz (ör. IP adresi değiştiyse) ve CMakeSettings.json ve launch.vs.json’da kullanılmak üzere varsayılan bağlantılar ayarlayabileceğiniz anlamına gelir. Uzak SSH bağlantıları, doğrudan Visual Studio’dan uzak bir Linux sisteminde C++ projeleri oluşturup bunlarda hata ayıklamanıza olanak verir.
Edit remote connections in the Connection Manager
Bağlantı Yöneticisi’nde uzak bağlantıları düzenleme
  • Visual Studio’da Windows üzerinde Clang (clang-cl) için geliştirilmiş IntelliSense desteği. Clang ekleme yolunda artık clang kitaplıkları yer alıyor. Standart kitaplığı kullanırken düzenleyicide görüntülenen dalgalı çizgileri iyileştirdik ve clang modundaki C++2a için destek ekledik.
  • Şimdi, kod hatalarının altını çizme özelliğini deneyebilir ve C++ projelerinde daha fazla önerilen hızlı düzeltme görebilirsiniz.  Araçlar > Seçenekler > Metin Düzenleyici > C/C++ > Deneysel > 'Deneysel Kod Lint Aracını Devre Dışı Bırak' bölümünden bu özelliği false olarak ayarlayın. C++ Ekip Blogunda daha fazla bilgi edinin.
IntelliSense code linter
IntelliSense kod lint aracı
  • C++’a ek güvenlik özellikleri dahil etmek amacıyla dört yeni kod analizi kuralı ekledik: C26817, C26818, C26819 ve C26820.
  • gdbserver’a sahip uzak sistemlerdeki CMake projelerinde hata ayıklamaya yönelik birinci sınıf destek ekledik.
  • Visual Studio’da C++ için deneysel AddressSanitizer uygulaması sayesinde bellek bozulma hatalarını bulma özelliği artık x64 yerel projeleri için de kullanıma sunuldu. Artık hata ayıklama çalışma zamanlarının (/MTd, /MDd, /LDd) kullanımını da destekliyoruz.
  • IntelliSense'te şimdi Concepts, belirlenen başlatıcılar ve diğer bazı C++20 özellilkeri için temel destek sağlanıyor.
  • .ixx ve .cppm dosyaları artık C++ olarak tanınıyor; bu dosyalar söz dizimi vurgulayıcısı ve IntelliSense tarafından da böyle kabul edilecek.

Çalma listelerini dinamik olarak tanımlama

Artık çalma listelerini dinamik olarak Proje, Sınıf veya Ad Alanına göre tanımlayabilirsiniz. Bu, belirli bir çalma listesinin proje/sınıf/ad alanındaki her şeyi dahil edecek şekilde yapılandırabileceğiniz ve bu gruba eklenecek her yeni testin otomatik olarak çalma listesine ekleneceği anlamına gelir.

  • Test Gezgini’ndeki bir proje, ad alanı veya sınıf gruplandırmasına sağ tıklayarak çalma listesi oluşturun.
Test Explorer: Create a playlist
Test Gezgini: Çalma listesi oluşturma
  • Araç çubuğundaki düzenle düğmesine tıklayarak çalma listesine dahil edilecek grupları düzenleyin. Onay kutuları görüntülenir. Grupları dilediğiniz şekilde düzenleyin.
Test Explorer: Edit a playlist
Test Gezgini: Çalma listesini düzenleme
  • Bu çalma listeleri, testlerden oluşan statik listeler değil, kurallara dayalı bir şekilde dinamik olarak güncelleştirilen listelerdir. Dinamik çalma listenizi oluşturan kuralları daha iyi anlamak istiyorsanız çalma listesi dosyasını kaydet düğmesiyle diske kaydedin ve xml dosyasında oluşturulan kuralları görüntüleyin.
PlayList file dynamic rule set
Çalma listesi dosyası dinamik kural kümesi
  • Tek testleri dahil etmeye/dışlamaya devam edebilirsiniz. Bunun sonucunda çalma listesi, dinamik kurallarını güncelleştirebilir veya statik liste olarak testleri izlemeye dönebilir. Doğrudan çalma listesi XML dosyasını düzenleyerek dinamik grup tanımlamak amacıyla nitelikleri de kullanabilirsiniz.

Git Üretkenliği

Bu deneyimi kullanmak için Araçlar | Seçenekler | Ortam'da 'Yeni Git kullanıcı deneyimi' Önizleme Özelliğine geçin.

  • Herhangi bir klasörden veya yepyeni bir klasörden başlayarak yeni bir Git deposu oluşturma
  • Yeni bir kopyalama işlemi başlatmadan önce açık bir klasörü veya çözümü kaydedip kapatma
  • commit metin kutusundaki commit veya stash ileti hatalarını net bir şekilde görüntüleme
  • Git dallarını yeni bir Git Deposu penceresi içinde bir ağaç görünümünde görüntüleme ve yönetme
  • Git Deposu penceresinde her dalın geçmiş grafı arasında geçiş yapma ve bu grafla etkileşime geçme
  • Git Deposu penceresinde gelen ve giden işlemeleri görüntüleme
  • Son özellikler hakkında daha fazla bilgi içeren Git Üretkenlik ekibi blogu
Manage branches and view history in a focused Git Repository window
Odaklanmış bir Git Deposu penceresinde dalları yönetme ve geçmişi görüntüleme

Aşağıdakileri kullanarak Git odaklı bir birleştirme düzenleyicisiyle birleştirme çakışmalarını çözümleme:

  • Birleştirme çakışmalarını içeren dosyalarda, birleştirme düzenleyicisini açmanızı isteyen bilgilendirme çubuğu
  • Daha bilgilendirici başlıklar ve resim yazıları, birleştirme düzenleyicisinde daha az dağınıklık
  • Eşleşen satırları hizalayan çakışmalardaki farklar, sözcük düzeyindeki farkları gösterme ve tek fark boşluk karakteri olduğunda bunu görünür kılma.
  • Dosya düzeyinde ekleme/ekleme çakışmalarına yönelik iki yönlü birleştirme
  • Tüm çakışmaları tek bir tıklamayla, çakışan iki seçenekten birine çözümleme olanağı
  • Çakışmaya neden olmayan farklılıkları yoksayarak yalnızca çakışmalara odaklanmaya yönelik iki durumlu düğme
New Merge Editor Experience
Birleştirme Düzenleyicisi ile Birleştirme Çakışmalarını Çözümleme

JavaScript/TypeScript

  • Tamamlama ve Hızlı Bilgi uygulamaları, Live Share senaryolarını daha iyi bir şekilde desteklemek üzere güncelleştirildi.

Kubernetes ile Yerel İşlem

Local Process with Kubernetes
Kubernetes ile Yerel İşlem

Kubernetes ile Yerel İşlem, uygulamanızın veya hizmetlerinizin geri kalanıyla birlikte Kubernetes kümenize bağlı olan geliştirme iş istasyonunuzda .NET kodunuzu yazmanıza, test etmenize ve koddaki hataları ayıklamanıza olanak tanır. Geliştirme iş istasyonunuzu kümenize bağladığınızda, geliştirme makinenizdeki bağımlı hizmetleri el ile çalıştırıp yapılandırma gereksinimini ortadan kaldırırsınız. Kümedeki ortam değişkenleri, bağlantı dizeleri ve birimler, yerel olarak çalışan mikro hizmet kodlarınızda kullanılabilir. Dockerfile veya Kubernetes bildirimleri gibi ek varlıklara gerek yoktur. .NET kodunuzu normalde yaptığınız gibi çalıştırın, test edin ve bu kodda hata ayıklayın.

Kubernetes ile Yerel İşlem’i etkinleştirmek için Araçlar > Seçenekler > Ortam > Önizleme Özellikleri’ne gidip “Kubernetes hizmetleri için yerel hata ayıklamayı etkinleştir” seçeneğini belirleyin.

Enable Preview Features
Önizleme Özelliklerini Etkinleştirme

.NET konsol uygulamaları için ek bir adım gereklidir. “Microsoft.VisualStudio.Azure.Kubernetes.Tools.Targets” NuGet Paketini yükleyin.

.NET Üretkenliği

Artık yinelenen uyarıları engelleme işleci mevcut olduğunda, ancak bunun bir etkisi olmadığında bir uyarı ve kod düzeltmesi vardır. Doğru olumsuzlaştırma ifadesini öneren ikinci bir kod düzeltmesi de mevcuttur. İmlecinizi yinelenen uyarıları engelleme işlecinin üzerine yerleştirin. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl + . ) tuşlarına basın. Daha sonra aşağıdakilerden birini seçin:

  • İşleci tamamen kaldırmak için İşleci kaldır (semantiği korur) seçeneğini belirleyin:
Code fix to remove suppression operator
Yinelenen uyarıları engelleme işlecini kaldırmak için kod düzeltmesi
  • İfadeyi olumsuzlaştırmak için İfadeyi olumsuzlaştır (semantiği değiştirir) seçeneğini belirleyin:
Code fix to negate expression
İfadeyi olumsuzlaştırmak için kod düzeltmesi
  • Projenizde varsa, yeni C# 9 not deseniyle de ifadeyi olumsuzlaştırabilirsiniz:
Code fix to negate expression using not
Not işlecini kullanarak ifadeyi olumsuzlaştırmak için kod düzeltmesi

Artık bir tür içinde oluşturucu üretirken özellikler oluşturabilirsiniz. İmlecinizi örneğin üzerine yerleştirin. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl + . ) tuşlarına basın. <QualifiedName> içinde oluşturucu üret (özelliklerle birlikte) seçeneğini belirleyin.

Generate properties when generating constructor
Oluşturucu üretirken özellikler üretme
  • Hızlı Bilgi artık tanılama kimliğinin yanı sıra, kodunuzdaki uyarı ve hatalar hakkında daha fazla bilgi almak için kolayca belgelerimize gitmenizi sağlayan bir yardım bağlantısı görüntüler.
Quick Info Diagnostic ID and Help Link
Hızlı Bilgi Tanılama Kimliği ve Yardım Bağlantısı
  • Bir sınıfa hata ayıklayıcısı display özniteliği eklemeye yönelik bir hızlı eylem kullanıma sunuldu. Bu, hata ayıklayıcıdaki özellikleri kodunuza sabitlemenizi sağlar. İmlecinizi sınıf adına yerleştirin. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+ . ) tuşlarına basın. ‘DebuggerDisplay` özniteliği ekle’yi seçin. Bu işlem, sınıfınızın en üstüne hata ayıklayıcısı display özniteliğini ekler ve hata ayıklayıcısında sabitlenmesini istediğiniz özellik değerini döndürmek üzere düzenleyebileceğiniz ToString() değerini döndüren otomatik bir metot oluşturur.
Add Debugger Display Attribute
Hata Ayıklayıcısı Display Özniteliği
  • Yanlışlıkla yapılan atamalar veya aynı değişkene yönelik karşılaştırmalar için bir kod düzeltmesi kullanıma sunuldu. İmlecinizi uyarıya yerleştirin. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+ . ) tuşlarına basın. Yanlışlıkla yapılan atamalar için .value değerine ata’yı seçin. Yanlışlıkla yapılan karşılaştırmalar için .value değeriyle karşılaştır’ı seçin.
Accidental Assignments Code Fix
Yanlışlıkla Yapılan Atamalar Kod Düzeltmesi
Accidental Comparisons Code Fix
Yanlışlıkla Yapılan Karşılaştırmalar Kod Düzeltmesi
  • Artık IComparable uygulayan türlere yönelik karşılaştırma işleçleri oluşturabilirsiniz. İmlecinizi sınıfın içine veya IComparable’ın üzerine yerleştirin. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+ . ) tuşlarına basın. Karşılaştırma işleçleri oluştur’u seçin. Sizin için karşılaştırma işleçlerine yönelik bir standart oluşturulur.
Generate Comparison Operators
Karşılaştırma İşleçleri Oluştur
  • Yapılar için .Equals oluştururken IEquatable işleçleri de oluşturabilirsiniz. Değer türleri için Equals ve GetHashCode oluştur eylemini yeniden düzenledik. Yapılar sayesinde artık IEquatable işlevinin yanı sıra eşit ve eşit olmayan işleçlerini de otomatik olarak ekleyeceğiz. İmlecinizi yapıya yerleştirin. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+ . ) tuşlarına basın. Equals(object) oluştur’u seçin.
Generate IEquatable Operators
IEquatable İşleçlerini Oluşturma
  • Artık kullanılmayan tüm yapı parametreleri için özellikler oluşturup atayabilirsiniz. Bunu tek bir parametrede yapmanıza olanak veren bir hızlı eylem zaten vardı, artık bunu tüm kullanılmayan parametreler için tek seferde yapabilirsiniz. İmlecinizi kalan parametrelerden birine yerleştirin. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+ . ) tuşlarına basın. Özellikleri oluşturup başlatmak Kalanları özellik olarak oluştur ve ata’yı seçin. Alanları oluşturup başlatmak için Kalanları alan olarak oluştur ve ata’yı seçin.
Create and Assign Remaining Fields
Kalan Alanları Oluştur ve Ata
Create and Assign Remaining Properties
Kalan Özellikleri Oluştur ve Ata
  • DateTime ve TimeSpan dize değişmez değerlerinde IntelliSense tamamlaması kullanıma sunuldu. İmlecinizi DateTime veya TimeSpan dize değişmez değerine yerleştirin ve (Ctrl+Boşluk) tuşuna basın. Daha sonra, her karakterin ne anlama geldiğine ilişkin tamamlama seçenekleri ve bir açıklama görürsünüz. Hem tarih saat biçimi hem de bir örnek sağlanır.
IntelliSense Completion in DateTime and TimeSpan
DateTime ve TimeSpan dize değişmez değerlerinde IntelliSense Tamamlaması
  • Artık İmza Değiştir iletişim kutusuna bir parametre ekleyebilirsiniz. İmlecinizi metodun imzasına yerleştirin. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+ . ) tuşlarına basın. İmzayı değiştir’i seçin. Parametre eklemek için Ekle’yi seçebileceğiniz aşağıdaki iletişim kutusu açılır. Ekle’yi seçtiğinizde, yeni Parametre Ekle iletişim kutusu açılır. Parametre Ekle iletişim kutusu bir tür adı ve parametre adı eklemenize olanak sağlar. Parametreyi bir varsayılan değerle gerekli veya isteğe bağlı hale getirmeyi seçebilirsiniz. Daha sonra çağrı sitesine bir değer ekleyip bu değere yönelik adlandırılmış bir bağımsız değişken seçebilir veya bir TODO değişkeni tanıtabilirsiniz. Her hatayı ziyaret edip her çağrı sitesini bağımsız olarak kontrol edebilmeniz ve neyin geçirileceğine karar verebilmeniz için TODO değişkeni, kodunuza bir TODO ekler. İsteğe bağlı parametrelerde çağrı sitesini tamamen atlama seçeneğiniz vardır.
Change Signature Dialog
İmzayı Değiştirme İletişim Kutusu
Add Parameter Dialog
Parametre Ekleme İletişim Kutusu
  • Çözümleyici yazarları, NuGet ile çözümleyicilerini gönderirken IntelliSense tamamlamaları için CompletionProviders’ı kullanabilir. Önceden, CompletionProviders yalnızca VSIX’te kullanılabilir olduğundan, kitaplık yazarlarının ayrı bir VSIX oluşturması gerekiyordu. Kitaplık yazarları artık çözümleyicilerinin bulunduğu NuGet paketinde IntelliSense tamamlamalarını uygulayabilir ve bunu ayrı olarak yapmaları gerekmez. NuGet paketlerinde uygulanan tamamlama sağlayıcıları tek projelere özgü öneriler sağlar ve özelliği değiştiren her IDE’de otomatik olarak çalışır.

Razor

Deneysel Razor düzenleyicisini etkinleştir önizleme özelliğini seçerek yeni ve deneysel Dil Sunucusu Protokolü (LSP) destekli Razor düzenleyicisini tüm Razor dosyalarıyla (.cshtml/.razor) deneyin.

Test Gezgini

Görünümdeki Tüm Testleri Çalıştır/Tüm Testlerde Hata Ayıkla seçeneği Test Gezgini’ne eklendi. Bu komutlar, Test Gezgini’ndeki Tüm Testleri Çalıştır ve Tüm Testlerde Hata Ayıkla komutlarının yerini alır. Bu değişiklik, bu komutların Test Gezgini’ndeki filtrelere uyduğunu, yalnızca çalıştırılan testlerin pencerede göründüğünü netleştirir. Bu, hem sütun filtrelerini hem de arama kutusu filtrelerini içerir.

Test Explorer Run/Debug All Tests in View commands
Test Gezgini Görünümdeki Tüm Testleri Çalıştır/Tüm Testlerde Hata Ayıkla komutları

Genel Tümünü Çalıştır/Tümünde Hata Ayıkla komutları artık yalnızca üst düzey Test menüsünde yer alacak. Bunlar artık Test Gezgini araç çubuğunda veya herhangi bir test penceresi görünümünün bağlam menüsünde bulunmaz. Test Gezgini’nden tetiklendiğinde, Tüm Testler için Kod Kapsamını Analiz Et komutu artık test penceresi görünümlerine de uygulanır.

Kısayol Tuşları:

  • Ctrl R, A - Tüm Testleri Çalıştır - Genel komut her zaman tüm testleri çalıştırır
  • Ctrl R, V - Görünümdeki Tüm Testleri Çalıştır - Yalnızca bir test penceresi (Test Gezgini, Yürütme Listesi, Live Unit Testing Penceresi) etkin pencereler haline geldiğinde geçerli bir komuttur
  • Ctrl R, Ctrl A - Tüm Testlerde Hata Ayıkla - Genel komut her zaman tüm testlerde hata ayıklar
  • Ctrl R, Ctrl V - Görünümdeki Tüm Testlerde Hata Ayıkla - Yalnızca bir test penceresi (Test Gezgini, Yürütme Listesi, Live Unit Testing Penceresi) etkin pencereler haline geldiğinde geçerli bir komuttur

Hata Ayıklayıcısı

Yerel İşaretçiler Aracılığıyla Yönetilen COM Nesnelerini Görüntüleme

Bu özellik yerel işaretçilerin başvurduğu yönetilen COM nesnelerinin kodunu otomatik olarak çözer ve Yerel Ayarlar penceresinde değerleri tam olarak incelemenize olanak tanır. Buradaki Visual Studio blogunda daha ayrıntılı bilgi bulabilirsiniz.

Profil Oluşturucu

Yeni .NET Performans Sayaçları Aracı

.NET Performance Counters Tool
.NET Performans Sayaçları Aracı

.NET Performans Sayaçları Aracı'nı kullanarak dotnet sayaçlarını doğrudan Visual Studio Profiler'ın içinden görselleştirin. Aracı denemek için Hata Ayıklama -> Performans Profili Oluşturucu -> .NET Performans Sayaçları Aracı'nı işaretleyin.

Xamarin

  • Kullanıcıların Android düzen dosyalarıyla ilgili karşılaştığı en yaygın sorun türleri için kod düzelticileri sunulmuştur.
  • Xamarin.Forms şablon seçimi deneyimi artık yeni ve daha açıklayıcı bir görünüme sahiptir ve Açılır Öğe ve Sekmeli şablonlar artık Kabuk kullanır. burada Kabuk hakkında daha fazla bilgi edinebilirsiniz. Herhangi bir nedenle Kabuğu kullanmak istemiyorsanız Boş şablonu kullanın.
New Xamarin.Forms template selection experience
Xamarin.Forms şablonu seçme

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

XAML Çalışırken Yeniden Yükleme:

  • Uygulama İçi Araç Çubuğu İyileştirmeleri: WPF ve UWP için XAML Çalışırken Yeniden Yükleme aracı iş akışının parçası olan uygulama içi araç çubuğu deneyimini daha da iyileştirdik. Değişiklik arasında, araç çubuğunun çalışan uygulamayı artık kapatmayacak şekilde kısaltılması ve daraltma mekanizmasının, tıklandığında önce XAML Çalışırken Yeniden Yükleme metnini daraltıp sonra ikinci tıklamada çubuğu tamamen daraltacak şekilde düzenlenmesi yer alır.

XAML Tasarımcısı:

  • WPF ve UWP için Genişletilmiş Tasarım Zamanı Veri Desteği: Bu sürümde, WPF .NET Core ve UWP geliştiricileri için yeni bir tasarım zamanı veri özelliği sunuyoruz. Bu yeni özellik, d: ön ekinin kullanılması aracılığıyla, erişilebilir tasarım zamanı özelliklerinin geçerli listesini genişletir. Bu özellik, yalnızca tasarım zamanında işlenmesi gereken ve hiçbir zaman çalıştırılan bir uygulamada derlenmeyen, bu sayede tasarım zamanı kullanıcı arabirimi doğrulaması için çok güvenle kullanılabilen bir özelliği belirtmek için “d:” ön ekini kullanmakla aynı yaklaşımı kullanıma sunması nedeniyle Xamarin.Forms geliştiricilerine tanıdık gelecektir. Bu sürümde WPF ile UWP için hazır gelen tüm denetimleri destekliyoruz ve gelecek sürümlerde de üçüncü taraf ve özel denetimleri desteklemeyi planlıyoruz.
  • XAML Tasarımcısı Yenile Düğmesi: XAML tasarımcısına bir yenile düğmesi ekledik. Bu yeni simgeyi, sol alt simge alanında, yakınlaştırma düzeyi göstergesinin yakınında bulabilirsiniz. Bu yenileme eylemi, nadir de olsa bir işleme sorununu çözümlemek için gerekli olması durumunda tasarımcı görünümünün kapatılıp yeniden açılmasını sağlayan sıfırlama işlemini gerçekleştirir. Bu özellik, WPF .NET Core ve UWP geliştiricilerinın kullanımına sunuldu.

XAML Kod Düzenleyici:

  • Renk Görselleştirici: WPF .NET Core, WPF .NET Framework ve Xamarin.Froms projeleri için XAML kod düzenleyicide yeni renk görselleştiricimizi daha da iyileştirdik. Bu sürümde, kaynaklardan gelen renkleri görselleştirme desteği ekledik. Bu daha önce son önizlemede desteklenmiyordu.
Inline Color Previews in XAML Code Editor
XAML Kod Düzenleyicisi’nde Satır İçi Renk Önizlemeleri

Paket başvurusu olmadan bir NuGet paketindeki Araç Kutusu öğelerini gösterme

Pek çok denetim kitaplığı yazarı, geçerli proje henüz kitaplığa başvurmamış olsa bile keşfedilebilirlik bakımından yardımcı olacağından, denetimlerinin Araç Kutusu’nda görünür olmasını ister. WPF .NET Framework SDK’ları eskiden kayıt defteri girişlerini kullanarak bunu sağlıyordu, ancak bu .NET Core tarafından desteklenmiyor. WPF .NET Core’da Araç Kutusu, NuGet fallback klasörlerindeki WPF .NET Core NuGet paketlerinde bulunan VisualStudioToolsManifest.xml dosyalarındaki denetimlerle doldurulabilir. Diğer ayrıntılar için XAML Tasarımcısı Genişletilebilirlik GitHub deposundaki belgelere bakın.

Windows Forms

.NET Core için Windows Form Tasarımcısı

.NET Core projeleri için Windows Forms Tasarımcısı kullanıma sunuldu. Visual Studio’da tasarımcıyı etkinleştirmek için Araçlar > Seçenekler > Ortam > Önizleme Özellikleri’ne gidip .NET Core uygulamaları için Windows Forms tasarımcısının önizlemesini kullan seçeneğini belirleyin.

Bu sürümde diğer iyileştirmelerin yanı sıra aşağıdaki denetimler de desteklenir:

  • UserControl ve özel denetimler altyapısı
  • TableLayoutPanel
  • Üçüncü taraf denetim desteğiyle ilgili temel bilgiler
  • Veri bağlama desteğiyle ilgili temel bilgiler
  • TableLayoutPanel ile tasarımcı etkileşiminde iyileştirmeler

Hata Düzeltmeleri

Visual Studio 2019 16.7.0 Sürümünde Düzeltilen En Önemli Sorunlar

  • WMI Sağlayıcısı bileşen yükleme hatası düzeltildi.
  • Kullanıcıların çubuğun altındaki sol düğmesine tıklayarak test çalıştırması ilerleme durumunu görememesi sorunu düzeltildi.
  • Kullanılabilir Visual Studio Codespace faturalama planlarını keşfetme performansı geliştirildi.
  • Bir Visual Studio Codespace oluştururken varsayılan askıya alma süresini 30 dakikadan 3 saate değiştirdik.
  • Git Değişiklikleri penceresinin kullanıcıya, olmadığı halde gelen/giden commit işlemleri olduğunu bildirmesi hatası düzeltildi.
  • Tanılama Araçları ile Performans Profili Oluşturucu’nun kararlılığı geliştirildi.
  • Küçük bir sürüm uyumsuzluğu nedeniyle Azure Sphere Visual Studio uzantısının otomatik olarak güncelleştirilmemesi sorunu düzeltildi. Bu düzeltmeyle birlikte Azure Sphere, VSIX otomatik güncelleştiricisi çalıştırıldığında otomatik olarak güncelleştirilebilecektir.

Geliştirici Topluluğu’ndan


Bilinen Sorunlar

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.


Görüş ve öneriler

Görüşlerinizi almaktan mutluluk duyarız! Yükleyicinin veya Visual Studio IDE’nin sağ üst köşesindeki Sorun Bildir seçeneğiyle sorunları bize bildirebilirsiniz. Bu Feedback Icon simge sağ üst köşede bulunur. 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. Ayrıca Canlı Sohbet desteğimizden ücretsiz yükleme yardımı alabilirsiniz.


Bloglar

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.


Visual Studio 2019 Sürüm Notları Geçmişi

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.


Sayfanın Başı