Visual Studio IconVisual Studio 2017 sürüm 15.5 Sürüm Notları


Geliştirici Topluluğu | Sistem Gereksinimleri | Uyumluluk | Dağıtılabilir Kod | Lisans Koşulları | Bloglar | Bilinen Sorunlar



Not

Bu sürüm Visual Studio’nun en son sürümü değildir. En son sürümü indirmek için lütfen Visual Studio sitesini ziyaret edin.


Destek Zaman Çerçevesi

Bu sürüm artık destekten çıktı. Visual Studio desteği hakkında daha fazla bilgi için lütfen Visual Studio 2017 için Destek İlkesi'ni gözden geçirin.

Sürüm notlarının en son sürümüne bakın veya Visual Studio 2017'nin desteklenen en son sürümünü indirmek için Visual Studio sitesini ziyaret edin.

Visual Studio Blogu

Visual Studio Blog, Visual Studio Mühendislik Takımı tarafından sunulan resmi ürün içgörüleri kaynağıdır. Visual Studio sürüm 15.5 yayınları hakkında kapsamlı bilgileri aşağıdaki gönderilerde bulabilirsiniz:

Visual Studio 2017 sürüm 15.5 Yayınları


15.5 Sürümünde Öne Çıkan Yeni Özelliklerin Özeti

15.5 Sürümünde Düzeltilen Başlıca Sorunlar

Bunlar, müşteriler tarafından bildirilen ve bu sürümde giderilen sorunlardır:

Müşteriler tarafından bildirilen ve Visual Studio 2017 sürüm 15.5’te düzeltilen sorunlara bakın.

The Developer Community Portal


15.5 Sürümündeki Yeniliklerin Ayrıntıları

Release Notes IconVisual Studio 2017 sürüm 15.5.0

yayın tarihi: 4 Aralık 2017

15.5 Sürümündeki Yeni Özellikler

Visual Studio IDE

Kurulum ve Yükleme
  • Yükleyici artık, yükleme sırasında bir Windows geri yükleme noktası oluşturuyor.
  • Program Ekle/Kaldır iletişim kutusunda artık her bir Visual Studio yüklemesine ilişkin girişler mevcut. Yeni sürümle birlikte Visual Studio Yükleyicisi, her bir girişin değiştirilmesini ve kaldırılmasını destekliyor.
  • Artık, çevrimdışı bir düzenden yapılan yükleme işlemleri için, bağlı olmayan bir bilgisayara ara sertifika yüklenmesi gerekmiyor.
  • Yükleme ve güncelleştirme işlemlerine yönelik güvenilirlik ve iptal edilebilirlik geliştirmeleri yaptık.
Güncelleştirilmiş Hata İletişim Kutusu

Hata iletişim kutusunu, yükleme sorunlarının Visual Studio Geliştirici Topluluğu'ndaki olası çözümler kullanılarak giderilmesine yardımcı olmak için daha fazla bilgi görüntüleyecek şekilde güncelleştirdik. (Şekil 1).

New installer error dialog box
(Şekil 1) Yeni yükleyici hatası iletişim kutusu
Performans
  • Büyük C# ve Visual Basic projelerinin yükleme süreleri azaltıldı.
  • Hata ayıklama ve dağıtım arasında yapılandırmaların değiştirilmesi için gereken süre azaltıldı.
  • .NET Core projelerinde dosya ve klasörleri ekleme, kaldırma ve yeniden adlandırma süresi kısaltıldı.
  • Basit Çözüm Yükü (LSL) olmadan çözüm yükleme süresi kısaltıldığından LSL kullanım dışı bırakıldı.
Bağlı Hizmetler
  • Azure Depolama hizmet sağlayıcısını, .NET Core'u hedefleyen ASP.NET Core projelerini destekleyecek şekilde güncelleştirdik.

Takım Gezgini Güncelleştirmeleri

Takım Gezgini'nde yapılan en son güncelleştirmeler, UserVoice'teki geri bildirimlerinizden ilham alınarak oluşturuldu.

Artık Git alt modülleriyle ve iş ağaçlarıyla çalışabilmenin yanı sıra Takım Gezgini'nde fetch.prune ve pull.rebase komutları yapılandırabilirsiniz. Visual Studio artık Git alt modüllerini ve iş ağaçlarını normal depo olarak işliyor. Bunları Yerel Depolar listenize ekleyip kodlamaya başlayabilirsiniz!

Alt modüller için, üst depodaki bir dosyayı ve alt modüldeki bir dosyayı aynı anda görüntüleme gibi çoklu depo desteği gerektiren herhangi bir işlem gerçekleştiremeyeceğinizi lütfen göz önünde bulundurun.

Buna ek olarak, varsayılan Git davranışını, her getirme işleminde ayıklama ve her çekme işleminde yeniden temellendirme yapılacak şekilde ayarlamak artık çok daha kolay. Her getirme işleminde ayıklama yapılması, sunucuda artık mevcut olmayan yerel izleme dallarını kaldırarak dal listenizi temiz ve güncel tutmanıza yardımcı olur. Her çekme işleminde yeniden temellendirme yapılması ise yürütme geçmişinizi doğrusal ve takibi kolay hale getirir. Bu seçenekleri, Genel Ayarlar ve Depo Ayarları bölümünde bulabilirsiniz.

.NET Core ve ASP.NET Core Güvenlik Önerileri

Microsoft, .NET Core ve ASP.NET Core için güvenlik önerileri yayımladı. Ayrıntılı bilgiler, .NET Core ve ASP.NET Core depolarındaki ilgili duyurularda bulunabilir. Lütfen aşağıdaki bilgilere dikkat edin:

  • CVE-2017-8585 Yanlış Biçimlendirilmiş Sertifika, Hizmet Reddine neden olabilir: .NET Core 1.0, 1.1 ve 2.0 sürümlerinde, yanlış biçimlendirilmiş bir sertifika veya ASN.1 biçimli diğer verilerin Linux veya macOS’taki bir sonsuz döngü yoluyla hizmet reddine yol açabileceği bir güvenlik açığı var. Sistem yöneticilerinin, .NET Core çalışma zamanlarını 1.0.8, 1.1.5 ve 2.0.1 sürümüne güncelleştirmeleri önerilir. Geliştiricilerin, .NET Core SDK’larını 2.0.3 veya 1.1.5 sürümüne güncelleştirmeleri önerilir.

  • CVE-2017-8700 CORS’un atlanması Bilgilerin Açığa Çıkmasına olanak sağlayabilir: ASP.NET Core 1.0 ve 1.1 sürümlerinde Çıkış Noktaları Arası Kaynak Paylaşımı (CORS) atlanarak bilgilerin açığa çıkabileceği bir güvenlik açığı var.

  • CVE-2017-11879 Açık Yeniden Yönlendirme, Ayrıcalıkların Yükseltilmesine neden olabilir: ASP.NET Core 2.0’da bir Açık Yeniden Yönlendirmenin mevcut olduğu ve Ayrıcalıkların Yükseltilmesine yol açabileceği bir güvenlik açığı var.

  • CVE-2017-11770 Hizmet Reddi Güvenlik Açığı: ASP.NET Core 1.0, 1.1 ve 2.0 sürümlerinde, uygulama Windows Http.Sys üzerinden barındırıldığında yanlış biçimlendirilmiş bir isteğin Hizmet Reddine yol açabileceği bir güvenlik açığı var.

ASP.NET Core 1.0, ASP.NET Core 1.1 ve ASP.NET Core 2.0 ile oluşturulan yeni projeler artık yukarıdaki güvenlik güncelleştirmelerini içeren paket sürümlerini kullanacaktır. Mevcut projeleri olan kullanıcılar, NuGet Paketlerini Yönet iletişim kutusunu kullanarak paketlerini yeni sürümlere güncelleştirebilir.

MSVC Derleyici Araç Takımı

Visual Studio 2017 15.5 sürümünde, Derleme Araçları'ndaki MSVC derleyici araç takımı, 15.4 sürümündeki 14.11 araç takımıyla uyumlu olan 14.12 sürümüne güncelleştirildi. Yazılımınızı Visual Studio 2017 15.5 sürümüne yükselttikten sonra kodunuzu derlerken bir sorunla karşılaşmanız halinde 14.11 araç takımını 14.12 araç takımıyla yan yana yüklenmeye zorlayabilirsiniz. Visual Studio 2017 15.4 araç takımı (14.11), C++ Masaüstü iş yükü yüklendikten sonra Bağımsız Bileşenler sekmesinden seçilebilir.

C# Derleyicisindeki Yenilikler

C# derleyicisi, aşağıdakiler de dahil olmak üzere artık 7.2 sürümündeki dil özelliklerini destekliyor:

  • ref struct değiştiricisi aracılığıyla Kestrel ve CoreFX'te Span<T> türünün kullanılmasına yönelik destek.
  • readonly struct değiştiricisi: Bir yapıdaki tüm üyelerin readonly olmasını zorunlu kılar. Bu, kod için ek bir doğruluk katmanı sağlar ve derleyiciye, üyelere erişirken değerleri gereksiz şekilde kopyalamama olanağı tanır.
  • in parametreleri/ref readonly dönüş türleri: Değiştirilemeyen yapıların, değiştirilebilen ref değerleri ile aynı verimlilik düzeyinde güvenli şekilde geçirilmesine ve döndürülmesine olanak sağlar.
  • private protected erişim değiştiricisi: protected ve internal değiştiricilerinin kesişimine yönelik erişimi kısıtlar.
  • Sonda olmayan adlandırılmış bağımsız değişkenler: Adlandırılmış bağımsız değişkenler artık, kendilerinden sonra gelen tüm bağımsız değişkenlerin de ada göre geçirilmesine gerek kalmadan bir bağımsız değişken listesinin ortasında kullanılabilir.

Xamarin için Visual Studio Araçları

Bu sürümde iOS ve Android için Xamarin SDK'larına yönelik güncelleştirilmiş destek sunulmaktadır:

Geçerli Görünümde Canlı Çalıştır

Yeni Geçerli Görünümde Canlı Çalıştır özelliğiyle XAML tabanlı kullanıcı arabirimleri oluşturmak daha da kolaylaştı (Şekil 2). Kullanıcı arabiriminizi oluştururken, uygulamayı kaydetmenize, derlemenize veya yeniden dağıtmanıza gerek olmadan Android öykünücüsünde yazdığınız anda değişiklikleri görün.

Xamarin Live Player

Xamarin Live Player, geliştiricilerin doğrudan iOS ve Android cihazlarında uygulamaları üzerinde sürekli olarak dağıtım, test ve hata ayıklama işlemleri gerçekleştirmesine olanak tanır. App Store’da veya Google Play’de bulunan Xamarin Live Player uygulamasını indirdikten sonra, cihazınızı Visual Studio ile eşleştirebilir ve yalnızca Visual Studio ile mobil cihazınızı kullanarak mobil uygulamalar derlemeye başlayabilirsiniz. Xamarin.Forms için iyileştirilen bu çözümle XAML'leri değiştirebilir ve derlemeye veya tam dağıtım için beklemeye gerek kalmadan değişiklikleri anlık olarak görebilirsiniz. Bu sürümde, Xamarin Live işlevlerine yönelik çok sayıda geliştirme yaptık. Bunların bazılarına aşağıda yer verilmiştir:

  • Daha Akıllı Hata Ayıklama ve Canlı Çalıştırma: Live Player artık, Xamarin Live Player’da hata ayıklama işlemi gerçekleştirilirken başlangıç projenizi doğru platforma otomatik olarak ayarlar (Şekil 3). Örneğin, iOS seçiliyse ve eşleştirilen Live Player cihazı Google Pixel ise IDE, başlangıç projenizi Android olarak değiştirmenizi önerir.
  • Dağıtım Durumu: Artık durum çubuğundaki dağıtım durumları ile Xamarin Live Player'a yönelik bir "Hata Ayıklama" işleminin durumunu izleyebilirsiniz.
  • Konsol ve Hata Penceresi Tümleştirmesi: Visual Studio'da artık, uygulamada günlüğe kaydedilen çıktılar Konsol penceresinde; hatalar ise Hatalar penceresinde görünüyor.
  • Canlı Çalıştırma Bağlam Menüsü ve Klavye Kısayolu: XAML kullanıcı arabiriminizi anında görselleştirebilmenizi kolaylaştırmak için, XAML sayfalarınızı hızlı ve kolay bir şekilde önizlemenizi sağlayacak bir bağlam menüsü ve klavye kısayolu ekledik.
  • Canlı Çalıştırma Sırasında Belgeler Arasında Geçiş Yapma: Kullanıcı arabirimleri derlerken genellikle farklı XAML belgeleri arasında geçiş yapılır. Visual Studio'da etkin belgeyi değiştirdiğinizde açık durumdaki XAML sayfası otomatik olarak canlı çalıştırılır, böylece farklı sayfalar arasında kolayca geçiş yapabilir ve sayfaların cihazınıza anlık olarak yansıtılmasını sağlayabilirsiniz.
Xamarin Live Player
(Şekil 3) Xamarin Live Player eşleme, dağıtım ve canlı düzenleme modlarının animasyonu
Şablonlar

Dosya -> Yeni Proje -> Mobil Uygulama (Şekil 4) iOS, Android ve Windows uygulamaları için platformlar arası şablon sihirbazında yapılan güncelleştirmeler sayesinde şunları da içerir:

  • .NET Standard Desteği - Artık kod paylaşımı stratejisi olarak .NET Standard 2.0 sürümünü kullanan, platformlar arası yeni bir Xamarin uygulaması oluşturabilirsiniz.
  • Hedef Platformlar Onay Kutusu - Dosya -> Yeni'de hangi platformları önemsediğinizi seçin.
  • PackageReference - Artık tüm şablonlarda, varsayılan olarak PackageReference kullanılır. Bu, Xamarin uygulamalarınızdaki NuGet paketlerini yönetmeye ilişkin yeni ve kolay bir yöntemdir.
  • Düzleştirme performansına yönelik geliştirmeler - Şablonlar artık eskisinden çok daha hızlı şekilde düzleştiriliyor. En zorlu koşullarda bile, düzleştirme süresinde 40 kata kadar bir azalma fark edebilirsiniz.
File -> New -> Mobile App
(Şekil 4) Dosya -> Yeni -> Mobil Uygulama ayarı
Uzak iOS Simülatörü

Uzak iOS Simülatörü, tamamen Windows üzerinde Visual Studio içinden iOS uygulamalarının hata ayıkama ve test işlemlerini simülatör üzerinde gerçekleştirmenin kolay bir yolunu sunar. Mac üzerinde iOS Simülatörünün yapabildiği her şeyi ve daha fazlasını destekler. Çoklu dokunma desteğine de sahiptir! Visual Studio 2017 sürüm 15.5’ten başlayarak, Uzak iOS Simülatörü ücretsiz Community Edition dahil tüm Visual Studio Sürümlerinde kullanılabilir.

Xamarin Android SDK Yöneticisi

Yeni Xamarin Android SDK Yöneticisi ile Android SDK'larınızı yönetmek artık eskisinden çok daha kolay. Visual Studio'da Araçlar - Android ->> Android SDK Yöneticisi'ne giderek yeni SDK Yöneticisi'ni kullanabilirsiniz.

F# Araçları geliştirmeleri

Visual Studio 2017 15.5 sürümünde, .NET Core SDK projeleri için F# araçlarına yönelik destek sunmaya odaklandık. Yeni sürümle birlikte desteklenenler:

  • Dosya > Yeni Projesi'nden yeni .NET Core konsol uygulamaları, .NET Standard kitaplıkları ve .NET Core birim testi projeleri oluşturabilirsiniz.
  • Mevcut .NET Core ve .NET Standard projelerine yönelik destek ekledik.
  • .NET Framework sürümlerini hedef alan mevcut .NET Core SDK projelerine yönelik destek ekledik.
  • Projeler arası başvuru olanağı desteklenmektedir.
  • Web SDK projeleri (örneğin, F# ASP.NET Core projeleri veya Giraffe şablonunu kullanan bir proje) için destek ekledik.
  • Artık Web SDK projelerinde Yayımlama araçlarına sağ tıklayabilirsiniz.
  • Visual Studio Team Services araçlarıyla CI/CD işlem hatlarının otomatik olarak oluşturulması desteklenmektedir.

.NET Core SDK projelerini hedef almayan Visual F# araçlarıyla ilgili olarak da çok sayıda geliştirme yapıldı. Bu ölçümler şunlardır:

  • F# ile C# arasında Tanıma Git seçeneği. (Saul Rennison ve Vasily Kirichenko tarafından geliştirilmiştir.)
  • Mavi Renklendirme (Daha Fazla Karşıtlık) teması. (Microsoft ve Vasily Kirichenko tarafından geliştirilmiştir.)
  • Özellik sayfalarının, farklı monitörlerde doğru şekilde otomatik olarak boyutlandırılması.
  • Girintileme "Akıllı" olarak ayarlandığında yeni satırlar için girintileme işleminin akıllı şekilde otomatik olarak yapılması. (Duc Nghiem Xuan tarafından geliştirilmiştir.)
  • Girintileme "Smart" olarak ayarlandığında sağ köşeli ayraçlar için girintilemenin otomatik olarak kaldırılması. (Saul Rennison tarafından geliştirilmiştir.)
  • Sabit listesi alanlarının araç ipuçlarında sembol olarak görünebilmesinin yanı sıra Tüm Başvuruları Bul, Tümüne Git ve Satır İçi Yeniden Adlandırma seçenekleri. (Vasily Kirichenko tarafından geliştirilmiştir.)
  • Yeni satır karakterleriyle ayrılan XML belge açıklamalarının, vurgulama sırasında, geçerli XML belge açıklamasının başına eklenmemesi. (Vasily Kirichenko tarafından geliştirildi.)
  • ref anahtar sözcüğüne ilişkin has XML belgeleri CHBen tarafından düzeltilmiştir.
  • Birden çok hata düzeltmesi ve performans geliştirmeleri.

GitHub depomuzda karşılaştığınız tüm sorunları lütfen bildirin.

F# Kurulumundaki Değişiklikler

F# edinme yönteminizi değiştirdik:

  • .NET Core 2.0 gerektiren bir İş Yükü yüklerseniz, varsayılan olarak F# dil desteğini de yükler. Bu, .NET Core, ASP.NET ve Azure iş yükleri için geçerlidir.
  • .NET masaüstü geliştirme, Veri depolama ve işleme ile Veri bilimi ve analitik uygulamalar iş yüklerindeki "F# dil desteği" onay kutusu, "F# desktop support" (F# masaüstü desteği) olarak yeniden adlandırıldı.

F# 4.1 Derleyici Geliştirmeleri

Bu sürümle birlikte F# 4.1 derleyicisinde çok sayıda hata düzeltmesi yapıldı:

  • F# hatalarını ayıklama sırasında karşılaşılan, bilinen beş sorunun (2014'ten itibaren) giderilmesiyle F# derleyicisinde PDB oluşturma işlemine yönelik geliştirmeler yapıldı.
  • Vasily Kirichenko, kayıt alanlarının derleyici tarafından yanlış şekilde çözümlenmesine ilişkin bir düzeltme yaptı.
  • StartAsTask yöntemi artık iptal işleminin bitmesini düzgün şekilde bekleyecek. (Matthias Ditrich tarafından geliştirildi.)
  • Derleme başvuruları artık, türlerin yalnızca özniteliklerde kullanılması halinde oluşturuluyor.
  • Aynı durum adına sahip, tek durumlu, ayırt edici birleşimler artık sessizce bir nesne türüne dönüştürülmüyor.
  • MailboxProcess için olası bir sonsuz, zaman uyumsuz döngü söz konusuydu. Alma sorunu düzeltildi.

Visual C++ Geliştirmeleri

Artık Dosya>>CMake yolunu izleyerek mevcut CMake projelerini ve önbellek yapılandırmalarını IDE'ye aktarabilirsiniz.

ARM Çevrimiçi Derleyicisindeki Dışarı Aktarma İşlemlerine yönelik Klasörü Aç Desteği

Linux C++ iş yükünde Katıştırılmış projeler ve IoT projeleri için bu seçeneği belirlediğinizde ARM mikrodenetleyicilerini hedef alan projeleri düzenleyebilir ve derleyebilirsiniz. ARM çevrimiçi derleyicisinden GCC olarak dışarı aktarılan projelerin açılmasını destekliyoruz. Daha sonra bu projeler Visual Studio'da yerel olarak çapraz şekilde derlenebilir. Daha fazla bilgi edinmek istiyorsanız ARM için Visual C++ geliştirme konulu blog gönderimize göz atabilirsiniz.

Uzak Görevler

Klasörü aç seçeneği artık uzak görevleri destekliyor. Bunlar, Secure Shell (SSH) üzerinden uzak bir sistemde yürütülen görevlerdir. Bu görevler belirli işlemlere yönelik olarak (bir Linux sisteminde make komutuyla kod derleme gibi) dosyaların hedef makineye kopyalanması için de yapılandırılabilir. Daha fazla bilgi edinmek için, Visual Studio'da uzak görevlerin kullanılması konulu blog gönderimize göz atabilirsiniz.

Standart Şablon Kitaplığına yönelik Geliştirmeler

Açık Standartlar web sitesinde, açık standartlar oluşturan gruplar için bir dizi sayfa bulunmaktadır. C++17 standardıyla ilgili olarak Standart Şablon Kitaplığına şu geliştirmeleri ekledik:

  • not_fn(): P0005R4, olumsuzluk belirten eski not1 ve not2 işlev bağlayıcıları yerine Library Fundamentals TS v2 sürümündeki not_fn işlev bağlayıcısının kullanılmasını öneriyor.
  • Yeni ifade biçimiyle enable_shared_from_this: P0033R1Re-enabling shared_from_this.
  • İşlevini Kaybetmiş Kitaplık Parçaları kullanımdan kaldırılıyor: P0174R2. Yıllardır yapılan eklemelerle birlikte C ++ Standart kitaplığının bir dizi özelliği artık üstünlük açısından geride kaldı ya da birçoğunun başlangıçta beklenen ve hedeflenen amacına hizmet etmediğini keşfettik. Bu belgede; daha iyi, basit veya anlaşılır seçenekler mevcut olduğunda kullanımdan kaldırılabilecek özellikler ele alınmıştır.
  • std::function sınıf şablonundaki Ayırıcı Desteği kaldırılıyor: P0302R1. std::function sınıf şablonu, ayırıcı bağımsız değişken alan birçok oluşturucuya sahip ancak semantik anlaşılır değil. Bununla birlikte, bir ayırıcıyı tür silinmiş bir bağlamda saklayıp daha sonra kopyalama ataması sırasında gerekli olan herhangi bir ayırma işlemi için kurtarmayla ilgili teknik sorunlar da mevcut. Bu oluşturucuların kaldırılması gerekiyor.
  • not_fn() için düzeltmeler: P0358R1. std::not_fn için yeni ifade önerildi. Bu, diğer geliştirmelerin yanı sıra, sarmalayıcı çağrısı durumunda değer kategorisinin yayılmasına yönelik destek sağlıyor.
  • shared_ptr<T[]>, shared_ptr<T[N]>: P0414R2. Library Fundamentals'dan C++17'ye shared_ptr birleştirme değişiklikleri.
  • Diziler için shared_ptr düzeltiliyor: P0497R0. Diziler için shared_ptr desteğine yönelik düzeltmeler.
  • shared_ptr::unique() kullanımdan kaldırılıyor: P0521R0. CA 14 (shared_ptr use_count/unique) için Önerilen Çözüm.
  • Kullanımdan kaldırılıyor codecvt: P0618R0, <codecvt> Unicode kodlama dönüştürmeyi ele almak için en iyi yol değildir, bu kitaplık bileşeni Ek D'ye devre dışı bırakılmalıdır.
  • Dinamik Özel Durum Belirtimleri kaldırılıyor: P0003R5. Dinamik özel durum belirtimleri C++11'de kullanım dışı bırakıldı. Bu özellik C++17'den kaldırılıyor. Bununla birlikte, hâlâ kullanım dışı olan throw() belirtimi noexcept(true) için kesin bir şekilde diğer ad olarak tutulmaya devam ediyor.
  • Haritalar ve Kümeler ekleniyor: P0083R3. Bu tasarım, her türde ekleme işlemine, öğelerin (harita anahtarları da dahil) kapsayıcıdan taşınmasına ve diğer pek çok yararlı işleme ve tasarıma olanak sağlar. Bu geliştirme, düğümlerin düzenlenmesini desteklemek amacıyla, ilişkili kapsayıcılara ve sırasız ilişkili kapsayıcılara yönelik bir geliştirmedir. Bu, Standart Kitaplığa özgü olarak yapılmış bir eklemedir.
  • insert_return_type netleştiriliyor: P0508R0. Sırasız ilişkili kapsayıcılar ve benzersiz anahtarları olan ilişkili kapsayıcılar iç içe bir insert_return_type türü döndüren insert üye işlevine sahiptir. Bu dönüş türü, bu bölümde belirtilen türün özelleştirilmiş bir halidir.
  • STL için Satır İçi Değişkenler: P0607R0.
Visual C++ Derleyicisine yönelik Geliştirmeler

Visual C++ derleyicisi, C++17 özelliklerinin yaklaşık %75'ini (yapılandırılmış bağlamalar, constexpr lambda ifadeleri, if constexpr, satır içi değişkenler, katlama ifadeleri, hexfloat sabit değerleri ve tür sistemine noexcept eklenmesi de dahil) desteklemektedir. Bu özelliklere /std:c++17 anahtarından erişilebilir. /permissive- uyumluluk modu, iki aşamalı ad aramaya yönelik kısmi desteğin yanı sıra, değişen sayıda bağımsız değişken içeren şablonlara yönelik gelişmiş paket genişletme desteği içerir. Ayrıca, C++ projelerine ilişkin proje özelliklerine yeni Dil açılan menüsü olarak /permissive- modu eklenmiştir.

Visual C++ İyileştirici Geliştirmeleri

C++ kod oluşturma ekibi mevcut derleyici iyileştirmelerine yönelik geliştirmeler yaptı ve 15.5 sürümüyle birlikte yeni iyileştirmeleri kullanıma sundu.

Bağlayıcıya yönelik belirli geliştirmeler:

  • Yeni ve daha hızlı /OPT:ICF uygulaması: bağlantı süresinde %9'a kadar hızlanma.
  • Artımlı bağlamaya yönelik düzeltmeler yaptık. Artımlı bağlama artık en az tam bağlama kadar hızlı.

Mevcut iyileştirmelere yönelik belirli geliştirmeler:

  • Koşullu ifadeler için vektör hale getirici buluşsal yöntemi geliştirdik.
  • loop-if-unswitching en iyi duruma getirmesini geliştirdik.
  • Döngülerin açılmasına yönelik geliştirmeler yaptık.
  • float min/max kod oluşturma işlemini iyileştirdik.

Bazı yeni iyileştirmeler:

  • SSA İyileştiriciye ilişkin yönergeleri iyileştirdik ve gereksiz (ve kısmen gereksiz) olanları kaldırdık.
  • Koşullu skaler depolara ilişkin vektör hale getirme işlemini iyileştirdik.
  • sin(x) ve cos(x) çağrılarını sincos(x) olarak birleştirdik.

Visual C++, Intel tarafından kullanıma sunulan AVX-512'yi (AVX-512 ile birlikte 128 ve 256 bit genişliğinde kayıtlara yönelik yeni işlevler sunan Vektör Uzunluğu yönergeleri de dahil) destekliyor.

C++ kod analizi için 20'den fazla yeni C++ Temel Yönergeleri denetimi ekliyoruz. Akıllı işaretçi doğruluğu, genel başlatıcıların doğru kullanımı ve goto ile bad_cast gibi yapı kullanımlarının bayrakla işaretlenmesi bu denetimler arasında yer almaktadır.

15.3 sürümünde karşılaşabileceğiniz bazı uyarı numaraları 15.5 sürümünde artık mevcut değil. Bu uyarıların yerine daha belirgin denetimler kullanıma sunuldu.

Google Test ve Boost.Test Çerçeveleri için Yerleşik Destek

Visual Studio'da Google Test ve Boost.Test birimlerinizi yazın, bulun ve çalıştırın. Test Listesi Düzenleyicisi artık Google Test ve Boost.Test çerçevelerini varsayılan olarak destekliyor. Önceki bir Visual Studio yüklemesinden yükseltme yapıyorsanız Visual Studio Yükleyicisi'ni açın, Visual Studio örneğinizde "Değiştir"e tıklayın, ardından "C++ ile masaüstü geliştirme" bölümünde "Google Test için Test Bağdaştırıcısı" ve "Boost.Test için Test Bağdaştırıcısı" kutularını işaretleyin. Kolayca yeni bir Google Test projesi oluşturun: Dosya Yeni Proje Görseli C++ > Test Google Test'i> seçin.>>>

Daha fazla bilgi için lütfen Microsoft Docs'taki How to use Google Test for C++ in Visual Studio (Visual Studio'da C++ için Google Test'i kullanma) ve How to use Boost.Test for C++ in Visual Studio (Visual Studio'da C++ için Boost.Test'i kullanma) başlıklı sayfalara göz atın.

Visual Studio Web Araçları

  • Razor söz dizimi biçimlendirmesi iyileştirildi.
  • Azure Sanal Makinelerinde ASP.NET uygulamaları yayımlama deneyimini geliştirdik.

Docker Kapsayıcısı Araçları

  • Visual Studio'nun Docker kapsayıcılarına ilişkin araçları artık, iyileştirilmiş kapsayıcı görüntülerinin oluşturulmasını kolaylaştırmak için çok aşamalı Dockerfile'ları destekliyor.
  • Visual Studio'yu, Windows 10 1709 veya Windows Server 1709 sürümü yüklü bir makinede kullanıyorsanız kapsayıcı görüntüleriniz varsayılan olarak Windows Server 1709 sürümünü kullanır. Dockerfile'ı düzenleyerek bunu değiştirebilirsiniz. Windows'un eski sürümlerini kullanan kapsayıcı görüntülerinin, yalnızca Windows 10 1709 ve Windows Server 1709 sürümünde Hyper-V yalıtım modunda çalıştırılacağını lütfen göz önünde bulundurun. Daha ayrıntılı bilgi için lütfen Windows Container Version Compatibility (Windows Kapsayıcı Sürümü Uyumluluğu) sayfasına göz atın.
  • Varsayılan olarak Visual Studio, Docker desteği olan bir projeyi açtığınızda gerekli kapsayıcı görüntülerini otomatik olarak çeker, derler ve arka planda çalıştırır. Bunu, Visual Studio'da Kapsayıcıları arka planda otomatik olarak başlat ayarı ile devre dışı bırakabilirsiniz.

TypeScript/JavaScript Geliştirmeleri

Angular 2 Desteği

Angular2 geliştiricileri artık satır içi şablonlarda ve .ngml şablon dosyalarında hataları, tamamlamaları ve kod gezintisini görebiliyor. Genel bakış ve yönergeler için örnek depoya göz atın.

Performans Geliştirmeleri

JavaScript/TypeScript Metin Düzenleyici Proje Seçenekleri sayfasına Yalnızca düzenleyicide açılan dosyalar içeren projeleri analiz et ifadesini içeren bir onay kutusu ekledik. Bu seçenek, büyük çözümlerde performansı ve güvenilirliği artırır. Bu kutu işaretli olduğunda tüm dosyalardaki TypeScript hatalarının eksiksiz bir listesini görmek için bir Çözüm derlemesi oluşturmanız gerektiğini unutmayın.

TypeScript/JavaScript dil hizmetinin hedeflenenden fazla bellek kullanmasına ve birden çok proje içeren çözümlerde TypeScript'in yanlış sürümünün yüklenmesine neden olabilecek bir sorunu düzelttik.

Windows Communication Foundation (WCF) Araçları

WCF Web Service Reference bağlı hizmet sağlayıcısı (Şekil 5) artık Visual Studio 15.5 sürümünün bir parçası.

WCF Web Service Reference
(Şekil 5) WCF Web Service Reference

Bu aracı kullanmak için .Net Core projenizde Bağımlılıklar proje öğesine sağ tıklayın, Bağlı Hizmet Ekle seçeneğini belirleyin ve kodu oluşturmak istediğiniz web hizmetinin adresini girin. Oluşturulan WCF istemci proxy kodu bir C# dosyasına kaydedilir ve bu dosya projenize otomatik olarak eklenir. Bu sayede .NET Core tabanlı kodunuz web hizmeti ile kolayca iletişim kurabilir.

Daha ayrıntılı bilgi için lütfen GitHub'ı ziyaret ederek WCF Web Servisi Başvurusu sürüm notlarına göz atın.

Hata Ayıklama ve Tanılama

Anlık Görüntü Hata Ayıklayıcısı ile Üretim Aşamasındaki Uygulamaların Hatalarını Ayıklama

Artık, Anlık Görüntü Noktaları ve Günlüğe Kaydetme Noktaları kullanarak; Azure Uygulama Hizmetleri'nde çalıştırılan ASP.NET ve ASP.NET Core uygulamalarında, uygulama üzerinde minimum etkiyle hata ayıklama işlemi gerçekleştirebilirsiniz.

  • Anlık Görüntü Noktalarını (Şekil 6), uygulamanızın durumunu (Yerel Öğeler, Gözcüler ve Çağrı Yığını da dahil) yakalayacak şekilde ayarlayabilirsiniz. Kesme noktalarının aksine, bir Anlık Görüntü Noktasına ulaşıldığında uygulamanız durmaz.
Snappoints image
(Şekil 6) Anlık Görüntü Noktaları
  • Uygulamanızdaki yeni iletileri, kod eklemeye veya uygulamanızı yeniden dağıtmaya gerek kalmadan günlüğe kaydetmek için Günlüğe Kaydetme Noktalarını (Şekil 7) kullanın.
Logpoints
(Şekil 7) Günlüğe Kaydetme Noktaları
Katıştırılmış Kaynak ve Katıştırılmış PDB Desteği

Katıştırılmış Kaynak ile Visual Studio Hata Ayıklayıcısı artık, yönetilen ikililer için kaynak dosyaları doğrudan PDB dosyalarından ayıklayabilir ve kullanabilir. Tamamen bağımsız debuggable ikilileri oluşturmak için, Katıştırılmış Kaynak ile Katıştırılmış PDB desteğini birlikte kullanabilirsiniz. /embed derleyici anahtarını kullanma hakkında daha fazla bilgi edinin.

Artık Katıştırılmış PDB'lerle derleme yaparken, yönetilen kodlar için Düzenle ve Devam seçeneklerini kullanarak da hata ayıklayabilirsiniz.

IntelliTrace ile Hata Ayıklama Sırasında Geri Adım Atma

Yeni IntelliTrace Geri adım hata ayıklama özelliği ile, IntelliTrace her bir kesme noktası ve hata ayıklayıcı adımında otomatik olarak uygulamanızın anlık görüntüsünü alır. Bu, önceki kesme noktaları veya adımlara dönerek uygulamanın geçmişteki durumunu görüntülemenize olanak sağlar.

Bu özellik Windows 10 Yıldönümü Güncelleştirmesi ve üzerinde kullanılabilir ve şu anda ASP.NET, WinForms, WPF, yönetilen konsol uygulamaları ve yönetilen sınıf kitaplıklarında hata ayıklamayı destekler (Şekil 8). Özelliği etkinleştirmek için Araçlar>Seçenekler>IntelliTrace ayarları’na gidin ve IntelliTrace olayları ve anlık görüntü noktaları seçeneğini belirleyin.

Stepback
(Şekil 8) IntelliTrace ile hata ayıklama sırasında geri adım atma

Koşullu Erişim Etkinken Visual Studio'dan Azure Kaynaklarına Erişim

Visual Studio artık, hesabınız için gerekli olmasa bile iki öğeli kimlik doğrulama yöntemiyle kimliğinizi doğrulamanızı gerektiren, koşullu erişimin etkin olduğu Azure kaynaklarına erişilmesini destekliyor. Önceden, hesabınızda oturum açmak için iki öğeli kimlik doğrulamanın gerekli olması halinde Visual Studio iki öğeli kimlik doğrulama işlemi gerçekleştirmenizi isterdi ve ardından iki öğeli kimlik doğrulamanın gerekli olduğu tüm kaynaklara erişebilirdiniz. Bununla birlikte, hesabınız için iki öğeli kimlik doğrulamanın gerekli olmaması halinde Visual Studio iki öğeli kimlik doğrulama gerektiren söz konusu kaynaklara erişemezdi.

Artık, iki öğeli kimlik doğrulamanın hesaplar için değil, kaynaklar için gerekli olması halinde Visual Studio'daki hesabınızın kimliğini, iki öğeli kimlik doğrulama olmadan doğrulayabilirsiniz. İki öğeli kimlik doğrulamanın gerekli olduğu bir Azure kaynağına ilk erişmek istediğinizde Visual Studio, kimliğinizi yeniden doğrulamanızı ister ve bu kez kaynağınıza erişebilmeniz için iki öğeli kimlik doğrulama işlemi gerçekleştirmenizi gerektirir.

Microsoft Store'daki Office'e yönelik Office Araçları Desteği

Office Web Eklentisi projeleri ve VSTO Projeleri artık Microsoft Store'daki Office ile geliştirmeyi destekliyor. Microsoft Store'daki Office'i kullanarak Web Eklentisi ve VSTO projeleri oluşturabilir, derleyebilir, yayımlayabilir ve bu projelerde hata ayıklayabilirsiniz.

  • Office Araçlarının Microsoft Store'daki Office ile kullanılabilmesi için Windows 10 veya Windows Server 2016 için Fall Creators Update (1709 sürümü) gereklidir.

Unity için Visual Studio Araçları

  • Artık Unity'de bir betik eklediğinizde veya kaldırdığınızda Unity projeleri Visual Studio'da otomatik olarak yeniden yükleniyor.
  • IL2CPP/.NET 4.6 arka ucu ile bir UWP oyunu üzerinde çalışılırken .Player proje oluşturma işlemi düzeltildi.
  • Unity Editor'daki hata ayıklama işlemlerinde, Mac için Visual Studio ve Xamarin tarafından paylaşılan Mono hata ayıklayıcısını kullanma seçeneği sunuldu.

Live Unit Testing

  • Live Unit Testing'in derlemeleri artık işlem dışı kullanıldığından Visual Studio'daki bellek kullanımı iyileştiriliyor.

Windows Paketleme

Paketleme projesine, mevcut masaüstü uygulamalarınızla en yeni Windows 10 özelliklerinden yararlanmanıza yardımcı olacak UWP uygulamaları ve bileşenlerini dahil etmek için destek ekledik. UWP bileşenlerini dahil etmek için UWP uygulamasına Add Reference(Şekil 9).

Windows Packaging Project with UWP reference
(Şekil 9) UWP başvurusu ile Windows Paketleme projesi

Mevcut UWP projelerinde olduğu gibi, Desktop Bridge uygulamanızı mağazaya göndermek için gereken dosyaları oluşturmak üzere mağaza paket sihirbazını kullanabilirsiniz.


Release Notes IconVisual Studio 2017 sürüm 15.5.1

yayın tarihi: 7 Aralık 2017

15.5.1 Sürümünde Düzeltilen Başlıca Sorunlar

Bunlar, müşteriler tarafından bildirilen ve bu sürümde giderilen sorunlardır:


Release Notes IconVisual Studio 2017 sürüm 15.5.2

yayın tarihi: 14 Aralık 2017

15.5.2 Sürümünde Düzeltilen Başlıca Sorunlar

Bunlar, müşteriler tarafından bildirilen ve bu sürümde giderilen sorunlardır:


Release Notes IconVisual Studio 2017 sürüm 15.5.3

yayın tarihi: 9 Ocak 2018

15.5.3 Sürümündeki Güncelleştirmelerin Özeti

.NET Core için Microsoft Güvenlik Önerileri

  • CVE-2018-0786 X509 Sertifika Doğrulamasında Güvenlik Özelliğinin Atlanması - Microsoft, bu güvenlik önerisini .NET Core 1.0, 1.1 ve 2.0 genel sürümlerindeki bir güvenlik açığı hakkında bilgi sağlamak amacıya yayınlamaktadır. Bu öneri ayrıca geliştiricilerin uygulamalarını doğru bir şekilde güncelleştirmek için neler yapabileceği konusunda da rehberlik sağlar. Bu güvenlik önerisi, UWP’ye yönelik .NET Native için de geçerlidir.

    Microsoft, genel .NET Core sürümlerinde bir saldırganın belirli bir kullanım için geçersiz olarak işaretlenmiş olmasına rağmen bir bileşen tarafından ilgili amaç için kullanılan bir sertifika sunabilmesine fırsat tanıyan bir güvenlik açığının farkındadır. Bu eylem, Gelişmiş Anahtar Kullanımı etiketlemesini yoksayar.

    Güvenlik güncelleştirmesi, .NET Core bileşenlerinin sertifikaları tamamen doğrulamasını sağlayarak bu güvenlik açığını giderir. Sistem yöneticilerinin, .NET Core çalışma zamanlarını 1.0.9, 1.1.6 ve 2.0.5 sürümüne güncelleştirmeleri önerilir. Geliştiricilerin, .NET Core SDK’larını 2.1.4 veya 1.1.7 sürümüne güncelleştirmeleri önerilir.

  • CVE-2018-0764 XML belgeleri ayrıştırılırken Hizmet Reddi - Microsoft, bu güvenlik önerisini .NET Core 1.0, 1.1 ve 2.0 genel sürümlerindeki bir güvenlik açığı hakkında bilgi sağlamak amacıya yayınlamaktadır. Bu öneri ayrıca geliştiricilerin uygulamalarını doğru bir şekilde güncelleştirmek için neler yapabileceği konusunda da rehberlik sağlar.

    Microsoft, .NET Core’da XML belgelerinin yanlış işlenmesinden kaynaklanan bir Hizmet Reddi güvenlik açığı olduğunun farkındadır. Bu güvenlik açığını başarılı bir şekilde kötüye kullanabilen bir saldırgan, .NET uygulamasında hizmet reddi sorununa yol açabilir. Kimliği doğrulanmamış bir uzak saldırgan, bir .NET Core uygulamasına özel olarak tasarlanmış istekler göndererek bu güvenlik açığını kötüye kullanabilir.

    Güncelleştirme, .NET Core tarafından XML belgelerinin işlenme biçimini düzelterek bu güvenlik açığını giderir. Sistem yöneticilerinin, .NET Core çalışma zamanlarını 1.0.9, 1.1.6 ve 2.0.5 sürümüne güncelleştirmeleri önerilir. Geliştiricilerin, .NET Core SDK’larını 2.1.4 veya 1.1.7 sürümüne güncelleştirmeleri önerilir.

15.5.3 Sürümünde Düzeltilen Başlıca Sorunlar

Bunlar, müşteriler tarafından bildirilen ve bu sürümde giderilen sorunlardır:


Release Notes IconVisual Studio 2017 sürüm 15.5.4

yayın tarihi: 16 Ocak 2018

15.5.4 Sürümünde Düzeltilen Başlıca Sorunlar

Bunlar, müşteriler tarafından bildirilen ve bu sürümde giderilen sorunlardır:


Release Notes IconVisual Studio 2017 sürüm 15.5.5

yayın tarihi: 25 Ocak 2018

15.5.5 Sürümündeki Güncelleştirmelerin Özeti

  • MSVC derleyicisi, derleyici Spectre değişkeni 1 örnekleri algıladığında otomatik olarak bir spekülasyon engeli ekleyecek olan /Qspectre anahtarı desteğiyle güncelleştirildi. /Qspectre hakkında daha fazla bilgi için lütfen Visual C++ Takım Bloguna bakın.

15.5.5 Sürümünde Düzeltilen Başlıca Sorunlar

Bunlar, müşteriler tarafından bildirilen ve bu sürümde giderilen sorunlardır:

  • Xamarin uygulaması hata verir Cannot access a disposed object. Object name: 'MobileAuthenticatedStream'.
  • Sınıftan Application türetilirken Xamarin.Android uygulaması oluşturulurClassNotFoundException.
  • Yükseltme işlemi daha önce yüklenmiş olan Windows ve Android SDK'larının kaldırılmasına neden olabilir.
  • Oracle web sitesinden indirme hatalarını önlemek için JDK 8 en son sürüme getirildi.

Release Notes IconVisual Studio 2017 sürüm 15.5.6

yayın tarihi: 29 Ocak 2018

15.5.6 Sürümündeki Güncelleştirmelerin Özeti


Release Notes IconVisual Studio 2017 sürüm 15.5.7

yayın tarihi: 20 Şubat 2018

15.5.7 Sürümündeki Güncelleştirmelerin Özeti

  • Takım Gezgini, TLSv1.2’yi destekler. Visual Studio’ya taşınan Git ve Git Kimlik Bilgileri Yöneticisi bileşenlerini güncelleştirdik. İsteğe bağlı Windows için Git bileşeni de güncelleştirildi. Bu güncelleştirme, Git’in TLSv1.2 için TLSv1 ve TLSv1.1 sürümlerinde kullanımdan kaldırılan hizmetlere bağlanmasına olanak sağlar.

15.5.7 Sürümünde Düzeltilen Başlıca Sorunlar

Bunlar, müşteriler tarafından bildirilen ve bu sürümde giderilen sorunlardır:

  • .NET Core 2.1 veya daha yeni bir sürümü hedefleyen projeler Visual Studio 2017 sürüm 15.5’te desteklenmez.
  • .NET Core 2.1 veya daha yeni bir sürüme yönelik SDK yüklendiğinde ASP.NET Core 2.0 Web uygulamaları oluşturma seçeneğinin kaybolması sorunu düzeltildi.

Bilinen Sorunlar

Geri bildirimleriniz bizim için her zaman önemlidir. En yeni sorunları bulmak, yeni sorunlar kaydetmek ve mevcut sorunları oylamak için Geliştirici Topluluğu sitesini ziyaret edin. Visual Studio 2017 sürüm 15.5’teki tüm bilinen sorunları ve sunulan geçici çözümleri görüntüleyin.

Visual Studio 2017 Known Issues


Görüş ve Öneriler

Fikrinizi öğrenmek isteriz! Yükleyicinin veya Visual Studio IDE’nin sağ üst köşesindeki Sorun Bildir seçeneğiyle sorunları bize bildirebilirsiniz. Report a Problem Icon simgesi 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.

Developer Tools Blogs


Visual Studio 2017 Yayın Notları Geçmişi

Visual Studio 2017'nin geçmiş sürümleriyle ilgili daha fazla bilgi için Visual Studio 2017 Sürüm Notları Geçmişi sayfasına bakın.


Sayfanın Başı