Visual Studio 2015 Güncelleştirme 3

Last Update: 7.4.2017

Sürüm Tarihi: 27 Haziran 2016

Visual Studio 2015 Güncelleştirme 3 sürümünü bugün itibarıyla kullanımınıza sunmaktan mutluluk duyuyoruz. Güncelleştirme 2’de bildirilen en önemli sorunlardan biri de yüksek bellek tüketimiyle ilgiliydi. Güncelleştirme 3 RC’de bu sorunla ilgilendik, bu sorunu bildiren müşterilere ulaştık ve düzeltmenin olumlu olduğu konusunda onay aldık. Güncelleştirme 3’te, performans ve ölçeklendirilebilirlik konusundaki müşteri geri bildirimlerine yönelik bu tür birçok düzeltme göreceksiniz. Bunlar, beklediğiniz sürüm notları olmayabilir; en güncel sürüme yönelik sürüm notlarına eriştiniz.

Visual Studio’daki Geri Bildirim seçeneğini kullanarak bize geri bildiriminizi gönderin. Ayrıca, Visual Studio 2015 UserVoice sitesinde de önerilerinizi gönderebilirsiniz.

İndir

Visual Studio 2015’i My.VisualStudio.com sitesinden indirebilirsiniz. My.VisualStudio.com için ücretsiz bir Dev Essentials aboneliği veya Visual Studio Aboneliği gerekir.

Ek bilgi için bkz. Visual Studio’nun Belirli Bir Sürümünü Yükleme.

Neler Yeni?

İlgili Sürümler

Diğer Değişiklikler

Apache Cordova için Araçlar

Visual Studio 2015 Güncelleştirme 3, aşağıdaki geliştirmelerle birlikte Apache Cordova için Araçlar Güncelleştirme 10’u içerir. Bu sürüm hakkında daha fazla bilgi için bkz. Güncelleştirme 9 ve Güncelleştirme 10 için Apache Cordova Araçları sürüm notları. Araçlarımız hakkında en son haberler için GitHub üzerindeki Geliştirici Blogumuzu ziyaret edin.

  • Yeni projelere yönelik varsayılan sürüm olan Cordova 6.1.1 için destek eklendi.
  • Cordova 4.x sürümünde kullanılan Cordova Eklenti Kayıt Defteri kullanımdan kaldırıldı; dolayısıyla artık eklenti eklemek için en az Cordova 5.x veya sonraki sürümleri gerekli.
  • Çekirdek Eklentiler listesi güncelleştirildi ve artık Intune, Azure katılımı, güvenlik ve SQLite yerel depolama gibi kuruluş senaryolarına yönelik eklentileri de içeriyor.
  • Artık, yapılandırma tasarımcısından npm paket adına veya kimliğe göre eklenti ekleyebilirsiniz.

plugin-byid

  • Yapılandırma tasarımcısından, parametreler gerektiren eklentileri de ekleyebilirsiniz.

plugin-parameters

Geliştirici Analiz Araçları

Geliştirici Analiz Araçları v7.0.2’ye aşağıdaki geliştirmeleri ekledik:

  • Uygulamanızın telemetrisinde eğilimleri bulmaya yönelik bir araç olan Application Insights Eğilimleri.
  • Yeni CodeLens’te özel durum telemetrisi.
  • Tanılama Araçları’nda özel durumlara üretim telemetri bilgileri eklendi.
  • Application Insights’ı Visual Studio’dan ASP.NET Core RC2 projelerine ekleme desteği.
  • ASP.NET 5 RC1 ve ASP.NET Core RC2 projeleri için Tanılama Araçları olayları.
  • Application Insights Aramasında ayrıntı filtreleri, zaman aralıkları ve olaylar seçildiğinde otomatik yenileme.
  • Aramadaki isteklerden Koda gitme olanağı.
  • Geliştirilmiş HockeyApp oturum açma deneyimi.

Daha fazla bilgi için Microsoft Azure belgelerinde teknik sürüm notlarına bakın.

Hata Ayıklama ve Tanılama

Güncelleştirme 3’te, OneCore cihazlarında çalıştırılan HoloLens ve IOT gibi uygulamalar için Tanılama Araçları desteği eklendi.

C++ Düzenle ve Devam Et iyileştirmeleri:

  • FASTLINK etkin olduğunda daha iyi performans ve güvenilirlik.
  • Statik kitaplıklarda yapılan kod değişiklikleri başarıyla uygulandığında artık Eski Kod döndürülmüyor.
  • Yeniden derleme sırasında, hatalı pozitif türde değişiklikler için artık C4656 uyarıları görüntülenmeyecek.
  • Birden çok derleme biriminden geçen aynı adla yeni bir tür ekleme desteği.

XAML Kullanıcı Arabirimi Hata Ayıklama iyileştirmeleri:

  • Canlı Görsel Ağaç’taki yeni Odak İzle özelliği, uygulamanızdaki odak her değiştiğinde Canlı Görsel Ağaç’taki seçimin o anda odaklanılan öğeyi güncelleştirmesini sağlar.

Visual Studio IDE

Abonelikler ve ürün anahtarları

Güncelleştirme 3’te, IDE kilidini açmak için çevrimiçi bir kimlik aracılığıyla aboneliklerini veya ürün anahtarlarını kullanan müşterilerden gelen geri bildirimleri aşağıdaki yollarla ele aldık:

  • Size atanan Visual Studio Cloud aboneliğini etkinleştirmek için artık https://my.visualstudio.com sitesini ziyaret etmeniz gerekmiyor ve abonelik atandığı anda hemen Visual Studio IDE’yi kullanmaya başlayabiliyorsunuz.
  • Ürün anahtarı uygulama işlemi sırasında hata işleme özelliğini geliştirdik.
  • Tüm kullanıcı hesabı ve lisans işlemlerinin güvenliği artık HTTPS kullanılarak sağlanıyor.
  • Hesap Ayarları iletişim kutusunda, aboneliği etkinleştirme ve ürün anahtarı girme ilemlerine yönelik erişilebilirlik geliştirmeleri yapıldı.
  • Yeni Kişiselleştirme hesabının etkin kalmasını sağlamak ve dolaşım ayarlarını eşitlemek için artık yaklaşık 8 günde bir yeniden kimlik doğrulaması gerekmiyor.

Evrensel Windows Uygulamaları için Araçlar

Visual Studio 2015 Güncelleştirme 3, Evrensel Windows Uygulamaları için Araçlara yönelik bazı geliştirmeler içeriyor. Önemli geliştirmelerden biri de, Windows Mağazası’na göndermek üzere paket oluştururken AAD Mağazası hesabı için Azure Active Directory kimlik bilgilerinizle oturum açmanıza izin verilmesidir. Proje Windows Mağazası ile ilişkilendirildikten sonra Mağaza’ya göndermek üzere paket oluşturmak için oturum açmanız artık zorunlu değil.

Evrensel Windows Uygulamaları için .NET Native

.NET Native 1.4, performansı geliştiren, müşterilerin bildirdiği bazı hatalara çözüm getiren ve büyük uygulamaların Sürüm yapısı derleme sürelerini geliştiren küçük bir hizmet sürümüdür. .NET Native 1.4 kullanan XAML uygulamaları ve Unity oyunlarında daha iyi bir çalışma zamanı performansı elde edilecektir. Bu geliştirmeler, hem yansıma hem de yerel API çağrılarının hızlandırılmasıyla elde edildi.

Mimari Araçları

Performansı ve güvenilirliği geliştirme konusunda müşterilerden alınan geri bildirimler doğrultusunda geliştirmeler yaptık.

Etki Alanına Özel Grafik Tasarımcıları (EDMX ve DBML dahil)

Windows 10’da, ekran klavyesi görüntülenirken büyük EDMX veya DBML diyagramlarını açtığınızda ya da düzenlemeye çalıştığınızda, Visual Studio artık yanıt vermeme durumuna geçmiyor.

Kod Haritası

  • Çözüm yükleyici projeleri (.vdproj) içerdiğinde "Çözüm için Kod Haritası Oluşturma" girişiminde bulunduğunuzda Visual Studio artık yanıt vermeme durumuna geçmiyor.
  • Kod düzenleyiciden bir kod haritası komutu çalıştırdığınızda ve göründükten hemen sonra Kod Haritası penceresini kapattığınızda, Visual Studio artık yanıt vermeme durumuna geçmiyor.

Katman Doğrulaması

  • Doğrulama eylemi ile bir Katman diyagramı içeren modelleme projesine sahip bir çözüm oluşturulurken, oluşturma tamamlandıktan sonra artık CPU çekirdeği kullanılmıyor.
  • Bir katman diyagramının üst modelleme projesi, PCL kitaplıklarına (örneğin, ODP.Net) başvurduğunda, artık katman diyagramını doğrulayabiliyorsunuz.

Visual Studio için Node.js Araçları

Yeni Visual Studio için Node.js Araçları 1.2 RC artık indirilebilir. Bu sürümün kararlılığı ve performansı önemli ölçüde geliştirmesini, önceki sürümlerde görülen yetersiz bellek kilitlenmelerinin azalmasını bekliyoruz.

Diğer önemli noktalar:

  • Daha hızlı, daha iyi ES6 IntelliSense
  • Daha güvenilir hata ayıklama
  • Geliştirilmiş Birim Testi deneyimleri (Bant desteği dahil)
  • Daha fazla proje türünde .npm komutu

Tüm bilgiler ve indirmeler için bkz. Node.js Araçları 1.2 RC sürüm sayfası.

Web Geliştirici Araçları

ASP.NET Web Uygulaması projelerinde "Düzenle ve Devam Et’i Etkinleştir" onay kutusunun işareti kaldırılmışsa, artık hata ayıklamayı her durdurduğunuzda IIS Express işlemi durdurulmuyor.

Visual C++

Güncelleştirme 3’e, C++ Derleyicisi’ne yönelik yeni denetimler ve uyarı iletileri gibi geliştirmeler, ayrıca C# ve Visual Basic kodlaması için destek ve performans geliştirmeleri eklendi.

C++ Derleyicisi

  • Silinen bir önemsiz copy/move ctor öğesinin erişimi artık denetleniyor. Denetlenmediğinde, varsayılan copy ctor hatalı bir şekilde çağrılabilir (uygulama hatalı oluşturulabilir) ve çalışma zamanının hatalı kod oluşturmasına neden olunabilir.
  • Std::is_convertible silindiğinde veya özel olduğunda, bir sınıf türünün otomatik atanmasını artık doğru şekilde algılıyor.
  • Öznitelik atanmış ATL desteğini kullanımdan kaldırılma sürecinin son aşaması Visual Studio 2008’de başladığından, derleyiciye yeni bir kullanımdan kaldırma uyarısı eklendi. Visual Studio 2015 Güncelleştirme 3 ile birlikte, öznitelik atanmış ATL kodu kullanıldığında artık varsayılan olarak açık olan düzey 1 uyarısı oluşturuluyor. C4467
  • PCH dosyalarını kullanırken -Yc ile -Yu derlemeleri arasındaki derleyici ile eşleşmeyen -I include dizinleri artık yeni bir uyarı oluşturacak. C4599
  • PCH dosyalarını kullanırken -Yc ile -Yu derlemeleri arasındaki kaynak dosyalarında eşleşmeyen #include dizinleri artık bir uyarı oluşturacak. C4598

Bu değişikliklerin mevcut kodunuzu nasıl etkileyebileceği hakkında daha fazla bilgi için MSDN’deki Visual C++ Taşıma ve Yükseltme Kılavuzu’na bakın.

C++ Kitaplıkları

  • Önemsiz nesne aralıklarını yok etme işleminde hata ayıklama modunun Vektör’de olduğu gibi Güncelleştirme 2’de de gerileyen performansını, eski durumuna geri döndürdük.
  • C++17 çalışma kağıdının P0185 [nothrow-]swappable niteliklerini ekleme teklifinden değiştirilebilir nitelikler uyguladık. Kurgusal bir C++17 özelliği olarak nitelikler (is_swappable, is_swappable_with, is_nothrow_swappable ve is_nothrow_swappable_with) yalnızca /std:c++latest ile derleme yapılırken görünür ve std::swap üzerindeki kısıtlamalar yalnızca bu durumda etkindir.
  • Daha önce işlem başlangıcı ve dllmain sırasında tetiklenen, vcruntime140.dll ve statik kitaplıklarından ETW olay çağrılarını kaldırdık.
  • Yeni STL kapsayıcıları tarafından kullanılan ortak makinede std::vector gibi simge adı uzunluğunu kaldırdık ve böylelikle C4503 uyarıları alma olasılığını düşürmüş olduk. Örneğin, şu tür artık uyarı oluşturmuyor: concurrency::concurrent_unordered_map<>>>>.

  • ATL/MFC/AMP/PPL: İki aşamalı arama ile ilgili aşağıdaki gibi çok sayıda uygunluk düzeltmesi:

    • _com_ptr_t artık bir taşıma oluşturucusuna ve taşıma atama işlecine sahip.
    • MFC: Bazı durumlarda menülerin 64 bit uygulamalarda düzgün gösterilmesini engelleyen HMENU değerlerinin işlenmesi düzeltilmiştir.

    • ATL/MFC: Aşağıdaki uyarıları artık göstermiyor:

    • İşlev geçersiz kılma/gizleme: C4263, C4264, C4266
    • Uyuşmazlık özel durum belirtimi: C4986
    • /analyze: C6386

    • ATL: Tüm AtlThrow çeşitlemeleri artık __declspec(noreturn) ile düzgün şekilde işaretleniyor. Bu, hatalı SAL uyarılarının gösterilmesini engeller.

    • ATL: Çok sayıda SAL ek açıklaması düzeltildi/geliştirildi.

    • /std:c++latest şu yeni özellikleri etkinleştirir: P0025R1 "clamp()", P0185R1 "is_swappable, is_nothrow_swappable" ve P0272R1 "Non-const basic_string::data()".

    • /std:c++latest ayrıca şu eski özelliklerin kaldırılmasını denetler: N4190 "Removing auto_ptr, random_shuffle(), And Old Stuff", P0004R1 "Removing Deprecated Iostreams Aliases", LWG 2385 "function::assign allocator argument doesn't make sense" ve Standart olmayan çeşitli özellikler (the std::tr1 namespace, bazı yalnızca TR1 makineleri ve std::identity struct).

    • x86’daki atomic/atomic içinde sessiz hatalı codegen düzeltildi.

    • STL artık, iş parçacığı açısından güvenli "sihirli istatistikleri" gerekli olduğu durumlar dışında kullanmıyor ve bu da codegen’in iyileştirmesini sağlıyor.

    • Demete ait kusursuz iletme oluşturucusu artık, kopya oluşturucusunu geçmiyor ve belirli senaryolarda derleyici hatalarını düzeltiyor.

  • Eş yordamlar:

    • Kullanımdan kaldırılanlar: __yield_value & __await anahtar sözcükleri. Bunun yerine co_await / co_yield kullanın.
    • Şuraya kullanımdan kaldırma bildirimi eklendi: coroutine_handle sınıfının to_address ve from_promise üyeleri. coroutine_handle::to_address() yerine coroutine_handle::address() kullanın.
    • coroutine_handle::from_promise(Promise &P) yerine coroutine_handle::from_promise(Promise *P) kullanın.
  • std::equal ve std::lexicographical_compare için performansı şu şekilde geliştirdik: memcmp ve memchr’e daha agresif bir şekilde gönderildi ve bu da bazı senaryolarda büyük performans geliştirmeleri ile sonuçladı. Örneğin: 64 bit platformlarda equal(char,char,char, char).

    • Yineleyici hata ayıklama makinelerimizde muhasebe işlevi çağrılarının sayısı azaltılarak, hata ayıklama derlemelerinin performansı önemli ölçüde geliştirildi.
    • string::push_back için, sürüm derlemeleri Güncelleştirme 2’ye kıyasla %40 oranında iyileştirildi ve hata ayıklama derlemelerinde, Güncelleştirme 2’ye kıyasla daha önemli geliştirmeler yapıldı. (Bu geliştirme, Güncelleştirme 2'de sunulan büyük performans geliştirmelerine ek niteliğindedir.)
    • Koşul alan tüm algoritmalarda koşul kopyalarının sayısı azaltılarak, şablon meta programlama destek çağrılarının boş olan türlerinin (örneğin, _Iter_cat) çoğu kaldırıldı ve tüm standart algoritmalarda hata ayıklama derlemeleri geliştirildi.
    • std::mismatch yineleme öncesinde, mümkün olduğunda ikinci aralığı denetleyerek aralığa göre _ITERATOR_DEBUG_LEVEL 1 ve 2 altında.
  • Kalan algoritmalara _SCL_INSECURE_DEPRECATE iletileri için gelişmiş tanılama uyguladık (Güncelleştirme 2’de yeni kullanımdan kaldırma mekanizmasına yalnızca az sayıda algoritma bağlanmıştı). Standart algoritmaların birden çok kopyasını bildiren herhangi bir _ITERATOR_DEBUG_LEVEL ön işlemci etkileşimi artık mevcut olmadığından, bunun yapılması ayrıca standart algoritmalarda hata ayıklarken hata ayıklama deneyimini geliştirmektedir. Ayrıca aşağıdakiler düzeltildi:

    • Standart olmayan _ITERATOR_DEBUG_ARRAY_OVERLOADS ve çift aralıklı algoritmalarımız arasındaki etkileşim nedeniyle mismatch(iter, iter, T[]) gibi bazı işlevleri derleyememe sorununu düzelttik.
  • STL’deki varsayılan olarak kapalı C4242 uyarısının ihlallerini düzelttik.
  • std::pop_heap içindeki olası tamsayı taşma hatasını düzelttik.
  • Yerel ayar kilidi tutulurken /clr:pure altında CLR eklenen LoadLibrary çağrıları nedeniyle oluşabilen kilitlenmeyi düzelttik.

C++/CLI Hata Ayıklaması

  • Yeni C++/CLI ifade değerlendirici, daha önce yalnızca yerel uygulamalar için desteklenen Natvis gibi hata ayıklama özelliklerini artık destekliyor. Şimdi karma bir yönetilen/yerel uygulamada nesneler bir değişken penceresinde (veya datatip içinde) listelendiğinde, tür görselleştiricilerde tanımlandığı şekilde, bunlar aynı saf yerel bir uygulamada olduğu gibi genişletilecekler.

plugin-byid

Clang/C2 Platform Araç Takımı

Clang 3.8 sürümünü Clang/C2 ile tümleştirdik ve 64 bit sürümde barındırılan bir araç takımı sağladık.

C++ MDD

En son Android NDK sürüm R11C desteği ve geçerli projeleri en son NDK’yı hedefleyecek şekilde yükseltme özelliği etkinleştirildi.

TypeScript

Yeni Visual Studio 2015 Güncelleştirme 3 TypeScript 1.8.34’ü içeriyor. AngularJS kullanan bazı büyük TypeScript projelerinde yetersiz bellek hatasını düzelttik.

C# ve Visual Basic

Yeni Bellek kullanım alanını azaltmaya ve kod tanılama performansını geliştirmeye yatırım yaptık. Bu, önceki sürümlerde çok fazla yaşanan yetersiz bellek kilitlenmelerini azaltacaktır. Çözümün tamamında kod tanılamayı çalıştırma performansı geliştirildi. Kod tanılama performansı geliştirmeleri hakkında daha fazla bilgi için MSDN’de Nasıl Yapılır: Yönetilen Kod için Tam Çözüm Analizini Etkinleştirme ve Devre Dışı Bırakma sayfasını okuyun.

Diğer geliştirmeler:

  • NuGet paketine hızlı düzeltme olarak başvuru ekleme seçeneği:

plugin-byid

Bu seçeneği şuradan etkinleştirebilirsiniz: Araçlar > Seçenekler > Metin Düzenleyicisi > C# > Gelişmiş, "Kullanım Yönergeleri":

plugin-byid

  • .NET Platform Standardını hedefleyen Taşınabilir sınıf kitaplıkları için desteği geliştirdik.
  • C# GoTo Uygulaması ve Tüm Başvuruları Bul için performansı geliştirdik. Bir nesneyi seçip sağ tıklayarak ve ardından menüden seçerek bu özellikleri deneyebilirsiniz.
  • Belgeye/projeye/çözüme “tümünü düzelt” eylemi uyguladığınızda artık bir ilerleme çubuğu gösteriliyor.
  • Yeni Büyük çözümlerde C# ve VB projelerinin yeniden yüklenmesinde performans geliştirildi. Daha fazla bilgi ve ipuçları için, Büyük çözümler için performansta dikkate alınacak noktalar makalesini okuyun.

Takım Gezgini

Yeni Takım Gezgini’nde çeşitli hatalar düzeltildi:

  • Git deposundan silinen dosyanın içeriği görüntülenemiyor.
  • Bir dalın geçmişi görüntülenirken, odak en son işleme olduğunda Alt Öğeye Git simgesi devre dışı bırakılmalıdır.
  • Git.exe kullanılarak dallar değiştirilirken, Visual Studio kilitlenebilir veya bilinmeyen bir duruma geçebilir.
  • Git deposunda bir dalın geçmişi görüntülenirken, geçmiş grafiğindeki vurguda bozukluklar var.
  • Takım Gezgini’nde dal oluşturulurken, Dal Oluştur komutunun Alt+B kısayolu Yapı menüsüyle çakışıyor.
  • Yoğun bellek kullanım durumlarında, kullanılabilir bellekten daha büyük bir nesnenin paketini açma girişiminde bulunulduğunda, Git bellek yetersiz hatası yerine "Nesne bulunamadı; eşleşen gevşek nesne yok ()" hatası veriyor.
  • Hata iletisinde yazım hatası: "... Bu çözümü açmak için ...".
  • Bir dalın geçmişi görüntülendiğinde ve geçmişteki ilk işlemeye sağ tıklandığında, Tek Tek Seçme devre dışı bırakılıyor.
  • Takım Gezgini’nden bir çekme isteği oluşturulurken, dallar sayfası bağlam menüsü seçili dal yerine geçerli dalı kullanıyor.

Visual Studio için Xamarin

Yeni Visual Studio 2015 Güncelleştirme 3 şimdi Xamarin 4.1’i içeriyor. Bir dizi hata düzeltmesine ek olarak, bu sürüm tvOS desteği ekliyor, iOS Varlık Kataloğu desteğini geliştiriyor, XML düzenleme deneyimini geliştiriyor ve iOS uygulamaları oluştururken SSL/TLS ve HttpClient uygulamalarına seçiciler ekliyor. Daha fazla bilgi için bkz. Xamarin sürüm notları.

Bilinen Sorunlar

Bu sürümdeki bilinen sorunlara ilişkin kapsamlı bir açıklama için şu MSDN makalesine bakın: Visual Studio Güncelleştirme 3’te Bilinen Sorunlar