Visual Studio 2017 sürüm 15.8 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 2017 sürüm 15.8 yayınları hakkında kapsamlı bilgileri aşağıdaki gönderilerde bulabilirsiniz:
- Visual Studio 2017 sürüm 15.8 -- Son blog gönderisini okuyun!
Visual Studio 2017 sürüm 15.8 Yayınları
- 2 Kasım 2018 -- Visual Studio 2017 sürüm 15.8.9 Bakım Güncelleştirmesi
- 24 Ekim 2018 -- Visual Studio 2017 sürüm 15.8.8 Bakım Güncelleştirmesi
- 10 Ekim 2018 -- Visual Studio 2017 sürüm 15.8.7 Bakım Güncelleştirmesi
- 02 Ekim 2018 -- Visual Studio 2017 sürüm 15.8.6 Bakım Güncelleştirmesi
- 20 Eylül 2018 -- Visual Studio 2017 sürüm 15.8.5 Bakım Güncelleştirmesi
- 11 Eylül 2018 -- Visual Studio 2017 sürüm 15.8.4 Bakım Güncelleştirmesi
- 6 Eylül 2018 -- Visual Studio 2017 sürüm 15.8.3 Bakım Güncelleştirmesi
- 28 Ağustos 2018 -- Visual Studio 2017 sürüm 15.8.2 Bakım Güncelleştirmesi
- 17 Ağustos 2018 -- Visual Studio 2017 sürüm 15.8.1 Bakım Güncelleştirmesi
- 14 Ağustos 2018 - Visual Studio 2017 sürüm 15.8 İkincil Yayın
Önemli
Visual Studio 2017 sürüm 15.8 Güvenlik Önerisi Bildirimleri
- 10 Ekim 2018 -- Visual Studio 2017 sürüm 15.8.7 Bakım Güncelleştirmesi
- 11 Eylül 2018 -- Visual Studio 2017 sürüm 15.8.4 Bakım Güncelleştirmesi
- 14 Ağustos 2018 -- Visual Studio 2017 sürüm 15.8
- 10 Temmuz 2018 -- Visual Studio 2017 sürüm 15.8 Preview 4
- 26 Haziran 2018 -- Visual Studio 2017 sürüm 15.8 Önizleme 3
- 8 Mayıs 2018 -- Visual Studio 2017 sürüm 15.8 Preview 1
15.8 Sürümünde Öne Çıkan Yeni Özelliklerin Özeti
- Yükleyici artık yüklemeye başlamadan tüm dosyaların indirilmesi seçeneğini sunuyor.
- Proje yüklemesini kaldırma/yeniden yükleme ve dal değiştirme performansını geliştirdik.
- Otomatik belge geri yüklemeyi devre dışı bırakarak çözüm yükleme sürelerini hızlandırın.
- Birden fazla test projesine sahip büyük bir çözümü çalıştırma için önemli test performansı geliştirmeleri yaptık.
- Visual Basic artık önemli bir performans geliştirmesi sağlıyor.
- Performans Profili Oluşturma artık veri koleksiyonunu duraklatma/sürdürme desteği ve yeni bir .NET Nesne Ayırma İzleme aracı eklendi.
- Performans Profili Oluşturma için CPU Kullanımı aracında geliştirmeler yaptık.
- Kod temizleme, if ifadesini tersine çevirerek yeniden düzenleme, Kapsayan Bloğa Git, Çoklu Giriş İşareti desteği ve yeni klavye profilleri gibi yeni üretkenlik özellikleri ekledik.
- Uzantılarda hata ayıklama yaparken hedef örneğinizi seçebilirsiniz.
- Snapshot Debugger'ı doğrudan yayımlama özeti sayfasından çalıştırabilirsiniz.
- Zaman uyumsuz kod için yığın izlemelerini tam olarak destekleyen
Span<'T>
ve önemli geliştirmeler içeren yeni bir dil sürümü olan F# 4.5'i kullanıma sunuldu. - Performansı geliştirdik ve F# araçlarına Ctrl+Tıklama ile Tanıma Gitmek gibi yeni özellikler ekledik.
- C++ araç setinde SSA iyileştirici ve bağlayıcı geliştirmelerini içeren geliştirmeler yaptık.
- ClangFormat güncelleştirmelerini; MinGW, Linux ve Windows için CMake ve Klasör Aç yapılandırma şablonlarını içeren C++ platformlar arası geliştirme eklemeleri.
- Şablon IntelliSense, makrolarda Hızlı Bilgi ipuçları, constexpr ampullere dönüştürme, düzenleyici içi kod analizi dalgalı çizgileri ve daha fazlasını içeren C++ üretkenlik değişiklikleri.
- Yalnızca Kendi Kodum güncelleştirmelerini ve yeni veri kesme noktalarını içeren C++ hata ayıklama geliştirmeleri.
- Çok sayıda JavaScript ve TypeScript geliştirmesi ve özelliği eklendi.
- Artık web projelerinizde istemci tarafındaki kitaplıkları yönetebilirsiniz.
- ASP.NET Core web projeleri için yeni bir tek projelik Docker kapsayıcısı deneyimi ekledik.
- Bu sürümde yapılan yayımlama geliştirmeleriyle artık Docker görüntülerinin etiketlerini özelleştirebilirsiniz.
- Xcode 9.4 desteğini ve daha akıllı Android artımlı derlemelerini içeren Xamarin geliştirmeleri.
- Windows 10 Nisan 2018 Güncelleştirmesinde Google Android öykünücüsünü Hyper-V ile yan yana kullanabilirsiniz.
- Xamarin.Android tasarımcısı için bölünmüş görünüm özellikli düzenleyici ekledik.
- Xamarin.Forms Önizleyicisi’nin artık bölünmüş görünüme sahip düzenleyiciye taşıdığımız bir araç kutusu desteği bulunmaktadır.
- Artık Python 3.7.0rc1 ile diller arası hata ayıklama işlevlerini kullanabilirsiniz.
- Yerel Azure İşlevi ayarlarını Azure'a geçir özelliği artık yeni değerleri görüntülüyor.
- Eklenen Azure İşlevleri desteğiyle artık Azure için Sürekli Teslimi Yapılandır içinde yeni bir hedef ana bilgisayar mevcut.
- Test Gezgini özet bölmesi geliştirmesi artık daha bilgilendirici test sonuçları sunuyor.
- .NET Test Bağdaştırıcısı Uzantısı: Yeni ve kullanımdan kaldırılan değişiklik.
- Dil Sunucusu Protokolü için yerel destek ekledik.
- Artık ASP.NET .NET Framework projeleri için gizli dizi desteği sunuluyor.
- Visual Studio artık derleme performansını geliştirmek için ASP.NET .NET Framework uygulamalarını yükseltmenize yardımcı oluyor.
- Visual Studio artık 4.7.2 çalışma zamanı ile desteklenen platformlara .NET Framework 4.7.2 geliştirme araçları sunuyor.
- Zaman uyumsuz otomatik yükleme paketleri başlangıç ve çözüm yükleme adımları tamamlanana kadar geciktiriliyor.
- Visual Studio 2017 Derleme Araçları artık İş Akışı desteği sunuyor ve VSSDK içeriyor.
- Git ve TFS durumu artık .NET Core projelerindeki dış dosya değişiklikleri için doğru şekilde güncelleştiriliyor.
- .NET Core SDK 2.1.400 dahil edildi.
15.8 Sürümünde Düzeltilen Başlıca Sorunlar
Müşteriler tarafından bildirilen ve 15.8 sürümünde giderilen sorunlar şunlardır:
- SSDT, Visual Studio 2017 için Derleme Araçlarında mevcut değil.
- Anaconda, yükseltme sırasında kaldırılamıyor (Hata 87).
- 15.7 yükseltmesi şu hatayı oluşturuyor: PackageId:Anaconda3.Exe.x64;PackageAction:Uninstall;ReturnCode:87;.
- Visual Studio güncelleştirmesi Çözümüm sayfasında UWP BuildError at MakePri 0x80073b0f and 0xdef00532 hatasını oluşturuyor.
- VS 2017'de, ASP.NET Core dışarı aktarma şablonu sorunları mevcut.
- Test Gezgini (SpecFlow testleri): Özellik dosyasına değil özellik sınıfı dosyasına gidiyor.
- C++ projesinden dışarı aktarılan proje şablonu yalnızca vcxproj ve vcxproj.filters içeriyor, kaynak veya üst bilgi içermiyor.
- x64 üzerinde hatalı codegen.
- Enterprise 15.8 Önizleme 2 sürümünde Çözüm Klasöründe bağlam menüsüne sağ tıklandığında bir şey olmuyor.
- VS2017, 3 monitörde kullanılırken ekran konumunu ve boyutunu hatırlamıyor.
- UTF8-no-BOM, fark penceresinde hatalı kodlama uyarısının görünmesine neden oluyor.
- Bir sözcüğe çift tıklandığında kelimenin tamamı değil yalnızca başlangıcı seçiliyor.
- $(OutDir) ve $(IntDir) tamamen farklı ayarlar kullanıyor olsa da VS2015 ve VS2017, $(SolutionDir) tarafından tanımlanan yolda boş bir Hata ayıklama klasörü oluşturuyor.
- VS2017 ile Japonca ortamında MFC iletişim kutusu tabanlı bir proje oluşturduğunuzda iletişim kutusunun düzenlenmesi derlemede hatalara neden oluyor.
- Visual Studio Yükleyicisi'nde İndirme İlerlemesi Metni görüntüleme.
- Çözüm Gezgini - Hata Ayıklama> -> Yeni örneği başlat'ta yürütülebilir projeye sağ tıklayın, başlamak için çözümden rastgele proje seçer.
- DEVENV Komut satırı derlemesi şu hatayla başarısız oluyor: Bu işlem yalnızca UI iş parçacığında gerçekleştirilebilir.
- Bul ve değiştir dosya türlerini hatırlar.
- Yazı tipi rengi ve arka plan rengi nedeniyle Paket yöneticisi konsolundaki hata iletileri okunmuyor.
- Visual Studio Community 2017 15.4.1 Web yayımlama önizlemesi yetkisiz erişim nedeniyle başarısız oluyor.
- XAML Derlemelerine yönelik test sonuçlarını VS 2017’de açma.
Müşteriler tarafından bildirilen ve Visual Studio 2017 sürüm 15.8’de düzeltilen tüm sorunlara bakın.
15.8 Sürümündeki Yeniliklerin Ayrıntıları
Visual Studio 2017 sürüm 15.8.0
14 Ağustos 2018'de yayınlandı
15.8 Sürümündeki Yeni Özellikler
Yükleme
Artık yüklemeyi başlatmadan önce tüm yükleme dosyalarını indirebilirsiniz.
- Bu seçeneği kullanmak için yükleyicideki "Tümünü indir ve sonra yükle" seçeneğini belirleyin (Şekil 1). Yavaş bir internet bağlantınız varsa bu seçeneği kullanmanızı öneririz.
- Varsayılan seçenek, indirme ve yükleme işlemlerini aynı gerçekleştiren "İndirilirken yükle" seçeneğidir.
Performans
Bu sürüm aşağıdaki performans geliştirmelerini içermektedir:
- Artık çözümlerin yeniden yüklenmesi gerekmediğinden C#, VB ve C++ projelerindeki büyük çözümlerde dal değiştirme işlemi çok daha hızlı gerçekleşir.
- Büyük çözümlerde C# ve VB projelerinden oluşan küçük bir kümenin yüklemesinin kaldırılıp yeniden yüklenmesi için gereken süreyi birkaç dakikadan birkaç saniyeye indirdik.
- Belirli dosya türlerinin veya tasarımcıların yeniden açılması çözümün yüklenmesini geciktirebileceğinden bir önceki oturumda açık olan belgelerin yeniden açılmasını devre dışı bırakma seçeneği ekledik.
- Bu seçeneği Araçlar > Seçenekler > Projeler > Çözümler > Genel sayfasından değiştirebilirsiniz.
Sınama Performansı
Birden fazla test projesine sahip büyük bir çözümde bulunan birkaç testi çalıştırma performansını önemli ölçüde geliştirdik. Laboratuvarlarımızda 10.000'den fazla MSTests içeren bir çözüm %82'ye varan oranda daha hızlı yürütüldü!
Visual Basic Performans Geliştirme
Visual Basic artık tamsayı olmayan türleri tamsayılara dönüştürmek için CInt(Fix(number))
deseni kullanıldığında önemli bir performans geliştirmesi sunmaktadır.
Performans Profili Oluşturma
Bu sürüm aşağıdaki performans profili oluşturma geliştirmelerini içermektedir:
Profil oluşturma işlemlerini duraklatılmış durumda başlatma özelliğini ekledik:
Performans Profili Oluşturucu (ALT-F2) içindeki CPU Kullanımı aracı artık duraklatılmış durumda başlatılabilir (Şekil 2). Bu durum CPU Kullanımı araştırmasının gerekli olduğu bir senaryonun beklendiği durumlarda yararlı olabilir. CPU kullanımı koleksiyonu başlangıçta devre dışı bırakılırsa Performans Profili Oluşturucu etkinleştirilene kadar CPU kullanımı örnek yığın verilerini toplamaz. Bu da toplama ve analiz için elde edilen verilerin daha az olmasını ve performans araştırmalarınızın daha verimli hale gelmesini sağlar.
Bir oturumu CPU Kullanımı örnek koleksiyonu devre dışı halde başlatmak için Performans Profili Oluşturucu başlatma sayfasında CPU Kullanımı'nın yanındaki dişli simgesine tıklayın. CPU Kullanımı özellik sayfasında CPU Profili Oluşturmayı Etkinleştir (Örnekleme) seçeneğinin işaretini kaldırın ve Tamam'a tıklayarak ayarları kaydedin.
Hedef uygulamayı başlattığınızda (Performans Profili Oluşturucu başlatma sayfasındaki Başlat düğmesine tıklayın) CPU profili oluşturmayı denetlemenizi sağlayan CPU kullanım grafiğini (Şekil 3) gösteren bir izleme ekranı göreceksiniz. CPU kullanımı örnek yığın veri toplamayı etkinleştirmek için görünümün ortasındaki CPU profili oluşturmayı etkinleştir'i seçin veya CPU kullanımı grafiğinin hemen altındaki CPU Profilini Kaydet'e tıklayın. CPU Profilini Kaydet'e tıklayarak dilediğiniz zaman örnek veri toplama işlemini etkinleştirebilir/devre dışı bırakabilirsiniz. CPU kullanımı grafiğinin rengi örnek toplama işleminin o an etkin/devre dışı olma durumuna göre değişir.
.NET Nesne Ayırma İzlemesi aracı ekledik:
- .NET Nesne Ayırma İzlemesi Aracı, Performans Profili Oluşturucu ile sunulan araçlar arasına eklendi. Performans profili oluşturma oturumunda bu aracın çağrılması hedef uygulamada oluşan her .NET nesnesi ayırma işlemi için yığın izlemesinin toplanmasını başlatır. Bu yığın veriler nesne türü ve boyut bilgileriyle birlikte analiz edilerek uygulamanızın bellek etkinliğinin ayrıntılarına ulaşılır. Hızlıca kodunuzdaki ayırma desenlerini belirleyebilir ve anomalileri tanımlayabilirsiniz. Ayrıca Atık Toplama (GC) olayları için toplanan ve korunan nesneleri kolayca belirleyebilir ve uygulamanın bellek kullanımında baskın olan nesne türlerini tanımlayabilirsiniz.
- Bu durum özellikle API yazarlarının ayırmaları en aza indirmelerine yardımcı olması açısından yararlıdır. Birçok uygulama tanılama veri koleksiyonu içindeki arabellek sınırlarını aşar ancak bir API'nin temel senaryolarını içeren küçük test uygulamaları için oldukça iyi bir şekilde tanılama gerçekleştirilebilir. Test uygulamanız yürütülürken Performans Profili Oluşturucu, Canlı Nesnelerin (sayı) çizgi grafiğini ve Nesne Deltasını (değişiklik %) çubuk grafiğini görüntüler.
- .NET Nesne Ayırma İzleme Aracını kullanmak için Performans Profili Oluşturucu başlatma sayfasını (Şekil 4) görüntüleyin, hedef profil seçin (varsayılan hedef, çözümdeki başlangıç projesidir), Kullanılabilir Araçlar listesinden ..NET Nesne Ayırma İzleme'yi işaretleyin ve Başlat'a tıklayın.
Performans Profili Oluşturma (CPU Kullanımı)
Bu sürümde Performans Profili Oluşturucunun CPU Kullanımı aracında aşağıdaki geliştirmeler yapılmıştır (ALT-F2 ile ulaşılabilir):
- Çağrı Ağacı görünümü artık varsayılan olarak mantıksal çağrı yığınına göre zaman uyumsuz yürütmeyi gösteriyor. CPU Kullanımı ana görünümündeki Filtre açılan menüsünden Zaman Uyumsuz Kodu Birleştir seçeneğinin işaretini kaldırarak bu davranışı devre dışı bırakabilirsiniz.
- Performans bilgilerini modüle (dll) ve modül içindeki işleve göre görüntüleyen Modüller/İşlevler görünümü ekledik. Modüller/İşlevler görünümünü görüntülemek için CPU Kullanımı ana görünümünde bir işlev seçerken açılan bağlam menüsünü veya Çağrı Ağacı ya da Çağıran/Çağrılan görünümlerinde Görünüm açılan menüsünü kullanabilirsiniz.
- CPU Kullanımı aracının ana görünümündeki CPU Kullanımı grafiğine örnek gösterimi eklendi. CPU Kullanımı görünümlerinde listelenen işlevlere çift tıklayarak yürütülen işlevin (örneğin yığındakiler) örneklerini görüntüleyebilirsiniz.
Üretkenlik
Bu sürüm aşağıdaki üretkenlik geliştirmelerini içermektedir:
- C# ile geliştirme için Belgeyi Biçimlendir (Ctrl + K, D veya Ctrl + E, D) özelliğini kullanarak ek kod temizleme işlemleri gerçekleştirebilirsiniz. Temizleme seçeneklerini yapılandırmak için Araçlar>Seçenekler>Metin Düzenleyicisi>C#>Kod Stili>Biçimlendirme>Genel sayfasına gidin.
- Ctrl + veya Alt + Enter tuşlarını kullanarak daha fazla yeniden düzenleme ve hızlı işlem ekledik:
- If ifadesini tersine çevir seçeneği if-else ifadelerindeki mantığınızı tersine çevirmenizi sağlar. Bu yeniden düzenlemeyi tetiklemek için imlecinizi
if
anahtar sözcüğüne yerleştirin. - Metot çağıran siteden parametre ekle seçeneği bir metot çağıran sitesine bağımsız değişken ekleyip Hızlı Eylemler ve Yeniden Düzenlemeler özelliğini tetikleyerek bir metoda parametre eklemenizi sağlar.
- Gereksiz parantezleri kaldır özelliği derleme için gerekli olmayan ikili işleçlerin etrafındaki parantezleri kaldırır. Bu stil kuralını Araçlar>Seçenekleri>Metin Düzenleyicisi>C#>Kod Stili>Genel veya .editorconfig aracılığıyla yapılandırabilirsiniz:
dotnet_style_parentheses_in_arithmetic_binary_operators
dotnet_style_parentheses_in_relational_binary_operators
dotnet_style_parentheses_in_other_binary_operators
dotnet_style_parentheses_in_other_operators
- Atamalarda üçüncül koşulluları kullanma ve dönüş deyimleri, Araçlar>Seçenekleri>... veya .editorconfig aracılığıyla bir stil kuralı olarak da yapılandırılabilir:
dotnet_style_prefer_conditional_expression_over_assignment
dotnet_style_prefer_conditional_expression_over_return
- If ifadesini tersine çevir seçeneği if-else ifadelerindeki mantığınızı tersine çevirmenizi sağlar. Bu yeniden düzenlemeyi tetiklemek için imlecinizi
- Tümüne Git penceresine yeni komutlar ve iyileştirmeler ekledik:
- Kapsayan Bloğa Git (Ctrl + Alt + UpArrow) seçeneği, kapsayan kod bloğunun en başına hızlıca gitmenizi sağlar.
- Önceki/Sonraki Soruna Git (Alt + PgUp/PgDn) özelliği sonraki/önceki soruna (hata, dalgalı çizgi, ampul) atlamanızı sağlar.
- Üyeye Git (Ctrl + T, M) artık varsayılan olarak dosya kapsamını kullanır. Kapsamı Geçerli Belgeye geçirerek (Ctrl + Alt + C) çözümü varsayılan değerine döndürebilirsiniz.
- Çoklu giriş işareti desteğiyle bir dosyada çoklu, rastgele konumlarda ekleme noktası ve seçim oluşturabilirsiniz. Bu sayede birden fazla yerde aynı anda metin ekleme, düzenleme ve silme işlemi gerçekleştirebilirsiniz.
- Ctrl + Alt + Sol Fare Düğmesi ile giriş işareti ekleyebilirsiniz.
- Shift + Alt + Ins ile geçerli seçimle eşleşen bir sonraki konuma seçim ve giriş işareti ekleyebilirsiniz.
- Eylemlerin tam listesi için Düzenle > Birden Çok Giriş İşareti sayfasına bakın.
- Alt + ` ile bağlamsal gezinti menüsüne erişebilirsiniz.
- İki yeni klavye profiliyle tuş bağlama seçeneklerinizin tutarlı olmasını sağlayabilirsiniz: Visual Studio Code ve ReSharper (Visual Studio). Bu düzenlere Araçlar > Seçenekler > Ortam > Klavye sayfasında üst taraftaki açılan menüden erişebilirsiniz.
Hata ayıklama
Bu sürüm aşağıdaki hata ayıklama geliştirmelerini içermektedir:
Sisteminizde birden fazla Visual Studio 2017 örneği yüklüyse artık hata ayıklama sırasında uzantının dağıtılacağı örneği seçebilirsiniz (Şekil 5). Bu sayede Visual Studio yayın kanalında geliştirme yaparken hata ayıklama için önizleme kanalını kullanabilirsiniz.
Artık Snapshot Debugger'ı doğrudan Yayımlama özeti sayfasından ekleyebilirsiniz (Şekil 6).
Artık yığın ile mini dökümlerde hata ayıklama yaparken Görevler penceresinden Yönetilen Görevleri görüntüleyebilirsiniz.
Evrensel Windows Platformu Geliştiricileri için Araçlar
XAML tasarımcısında Evrensel Windows Platformunu hedefleyen ve hedef platform sürümü Windows 10 Fall Creators Update (derleme 16299) veya üzeri olan projeler için birçok önemli geliştirme yaptık. Bu iyileştirmeler şunlardır:
- Artık koleksiyonları Özellik Denetçisinde düzenleyebilirsiniz.
- Tasarımcı artık varlık tanımlarının başka belgelerde tanımlandığı durumlar dahil olmak üzere Şablonların ve Stillerin düzenlenmesine izin veriyor.
- IconElement türündeki özellikler (AppBarButton içindeki Icon gibi) artık Özellik Denetçisi’ndeki özel düzenleyiciyle daha kolay ayarlanabiliyor.
- Tasarımcı, düzenleyici ile Düzenle ve Devam Et artık x:DefaultBindMode ile doğru şekilde çalışmalıdır.
- Blend'deki Görsel Durum Yöneticisi deneyimi artık AdaptiveTrigger desteği sunuyor.
Visual Studio için F# 4.5 ve F# Araçları
Bu sürümle F# dili sürüm 4.5'i kullanıma sunmuş olduk. Bu, FSharp.Core'un (F# çekirdek kitaplığı) yeni 4.5.x ailesine de karşılık gelir. Bu değişikliklerin her birinin belirtimlerini F# RFC deposunda okuyabilirsiniz. Bu sürümde Visual Studio için F# araçlarında da birçok geliştirme vardır.
F# 4.5
F# dili sürüm 4.5 ile öne çıkan bazı noktalar şunlardır:
Span'T<> desteği
F# ile, ve benzeri yapıları kullanarak Memory
Span
API'lerin etkili bir şekilde tüketilmesi ve üretilmesi için ve ref
ilgili özellikleri uyguladıkSpan<'T>
. Bu özellikler şunlardır:
- Yeni
voidptr
türü. - FSharp.Core için yeni
NativePtr.ofVoidPtr
veNativePtr.toVoidPtr
işlevleri. - Salt okunur byrefs ve yalnızca yazılan byrefs olmak üzere yeni
inref<'T>
veoutref<'T>
türleri. Bu da C# içinin ref
veout ref
öğelerine karşılık gelmektedir. ByRefLike
yapılarını (Span
veReadOnlySpan
gibi) oluşturma özelliği.IsReadOnly
yapılarını oluşturma özelliği.- Metotlardan
byref
- veinref
-returns için açık başvuru. byref
/inref
/outref
üzerinde uzantı üyesi oluşturma seçeneği.
Bu özellik kümesi, F# 4.1'de -returns öğesinin byref
ilk tasarımında bulunan ve döndürülen byref
işlevlerin, yöntemlerin ve özelliklerin dönüş değerini örtük olarak geri almadığı bir hatayı düzeltir. Özelliği C# içindeki ref
-returns işleme özellikleriyle eşitlemek için bu değişikliği yaptık. Bir tür ek açıklaması ref
-return açık başvurusunun kullanıldığını belirttiğinde bir hata iletisi kullanılır.
Ayrıca, bu özellik kümesi F# derleyicisinde "Şeytani yapı değiştirmenin" mümkün olduğu bir hatayı da düzeltir; Örneğin, bir F# yapısında bir yöntemin çağrılması, çağrılan gerçek yapının yerini farklı bir yapıyla değiştirebilir. Yapı üzerindeki this
parametresi artık inref<MyStruct>
olarak kabul edilir ve yapıyı değiştirmek için kullanabileceğiniz değiştirilebilir alan eklemenizi öneren bir hata içerir.
Bu özellik için span
ve ref
-like yapıları hakkında daha fazla bilgi için RFC bölümüne bakabilirsiniz.
Maç! hesaplama ifadelerinde
F# 4.5, tamamen John Wostenberg'in katkılarıyla hesaplama ifadeleri içinde kullanılmak üzere yeni bir anahtar sözcük sunarmatch!
. Bu söz dizimsel şeker sonuçta arkasından match
gelen let!
ile eşdeğerdir. match!
için RFC sayfasından daha fazla bilgi edinebilirsiniz.
Sıra, liste ve dizi ifadelerinde yield
ile üst türe çevirme gereksinimi gevşetiliyor
F# 4.5 artık kullanırken bir alt türü süper türe dönüştürmek için bir yukarı yayının yield
gerekli olduğu bazı durumları gevşetiyor. Bu kısıtlama, kullanmadığında yield
F# 3.1'den bu yana bu ifadeler için zaten gerekli değildi, bu nedenle bu, işleri mevcut davranışla daha tutarlı hale getirir. Bu özellik için RFC sayfasında daha fazla bilgi edinebilirsiniz.
Liste ve dizi köşeli ayraçlarında girintileme izni
F# 4.5 artık liste ve dizi köşeli ayraçları için kendi satırlarında bir kapsam ileri girintilemelerini gerektiren girinti kuralını gevşetiyor. Bu önceki gereksinim, özellikle F# kullanmaya yeni başlayanlar için her zaman oldukça kafa karıştırıcı olmuştur. Ayrıca, F# sıralı ifadeler için gerekli değildir. Bu artık dizi ve liste ifadelerini sıra ifadeleriyle aynı tutarlı duruma getiriyor. Bu özellik için RFC sayfasında daha fazla bilgi edinebilirsiniz.
Sabit listesi durumları genel olarak yayılıyor
F# 4.5 artık C# numaralandırma olaylarının nasıl yaydığıyla uyumlu hale getirmek için numaralandırma olaylarını her koşulda genel olarak yayar. Bu, profil oluşturma araçlarının, etiket adı yerine değerin yayıldığı F# kodundaki günlükleri analiz etmelerini de kolaylaştırır. Bu özellik için RFC sayfasında daha fazla bilgi edinebilirsiniz.
F# Derleyici geliştirmeleri
Daha önce bahsedilen dil özelliklerine ek olarak F# derleyicisinde yapılan iyileştirmeler F# 4.5'tedir. Bu modüller şunlardır:
- F# derleyicisindeki tüm ayırmaların %2,2'sine kadar çıkararak (çeşitli senaryolarda) derleyici performansını geliştirdik.
- Yapı tabanlı numaralandırılabilir öğelerle birlikte
yield!
kullanıldığındaAccessViolatioNException
ile sonuçlanan bir hatayı düzelttik. - Artık
FSharpFunc
işlevinden devralmak mümkündür. - .NET Core için F# hata ayıklama derlemeleri için kuyruk çağrıları varsayılan olarak devre dışı bırakılır. Bunlar yayın için etkinleştirilir, bu nedenle masaüstü F# derleyicisi ile eşleşilir.
- F# başvuru normalleştirmesi, çıkış dosyasına yazılan geçişli derleme başvurularını denetlemenize olanak tanıyacak şekilde düzeltildi. Bu sayede derleme yeniden yönlendirme eşdeğeri .NET Core üzerinde gerçekleştirilebilir.
- Satır içi işlevlerde dinamik çağrı kullanma girişimi sırasında hata iletisinin yoksayıldığı hatayı düzelttik. Hata iletisi artık kullanılıyor.
- F# artık proje dosyalarında
WarningsNotAsErrors
ayarlayabileceğiniz bayrağı dikkate alır. - Bir desenin dallarının aynı türü döndürmediği durumda gösterilen hata iletisi, Isaac Abraham tarafından daha kolay anlaşılacak şekilde güncelleştirildi.
- Aşırı yüklenmiş metot uygulaması bulunmayan arabirim uygulaması derlemesi sırasında iç hata oluşmasına neden olan hata Steffen Forkmann tarafından düzeltildi.
- Derleyicinin sözlük aşamasında gerçekleştirilen bazı gereksiz dizi kopyalama işlemleri Gauthier Segay tarafından kaldırıldı.
- F# sabit listelerindeki tamamlanmamış desen eşleşmeleri artık John Wostenberg'in katkılarıyla ele alınmayan bir servis talebi örneği veren ayrıntılı bir uyarı üretir.
- `#nowarn "2003" artık dikkate alınıyor. Matthias Diitrich'in katkılarıyla.
- C# uzantılarını kullanma yöntemlerinin F# aşırı yükleme çözümlemesinde başarısız olmasına neden olan bir hata Steffen Forkmann tarafından düzeltildi.
- İç QueueList veri yapısı hatası Steffen Forkmann tarafından düzeltildi.
- Steffen Forkmann, Eugene Auduchinok ve ncave'in katkılarıyla çeşitli daha küçük çaplı iyileştirmeler ve kod temizleme işlemleri gerçekleştirildi.
F# Çekirdek Kitaplığı 4.5.x
F# Çekirdek Kitaplığı'na aşağıdaki eklemeler artık kullanılabilir:
async { }
hesaplama ifadeleri için yığın izlemelerini geliştirme amacıyla önemli çalışmalar yapıldı. Artık yığın izlemelerinde kullanıcı kodunu ve kullanıcı satır numaralarını görebiliyor olmanız gerekir. Bu özellik için RFC sayfasında daha fazla bilgi edinebilirsiniz.System.Func
veSystem.Action
aşırı yükleme türlerindekiFuncConvert.FromFunc
veFuncConvert.FromAction
API'leri C# ile birlikte çalışma konusunda yardımcı olabilir. Bu özellik için RFC sayfasında daha fazla bilgi edinebilirsiniz.ValueOption
yeni bir türdür ve Etkin Desenler için daha iyi performans sunmaya yönelik özellik kümesinin ilk aşamasıdır. Bu özellik için RFC sayfasında daha fazla bilgi edinebilirsiniz.TryGetValue
artık F# Eşleme türünde yeni bir üyedir. Bu özellik için RFC sayfasında daha fazla bilgi edinebilirsiniz.MailboxProcessor.TryReceive
ilk çağrıldığında Yüksek CPU kullanımı durumunu düzelttik.bool
karşılaştırması artık hızlı genel karşılaştırmayı kullanıyor. Vasily Kirichenko'nun katkılarıyla.Array.allPairs
özet metni güncelleştirilerek düzeltildi. Patrick McDonald'ın katkılarıyla.
F# Araçları geliştirmeleri
Bu sürüm, F# araçlarında performans geliştirmeleri ve bazı yeni düzenleyici özellikleri gibi önemli geliştirmeler içerir. Her zaman olduğu gibi, F# açık kaynak topluluğunun çok sayıda katkılarıyla. Öne çıkan özellikler:
- Çoklu hedefleme kullananlar da dahil olmak üzere tüm biçimlerdeki .NET SDK stili projeleri için IntelliSense performansını geliştirdik.
- Çok büyük dosyalar için IntelliSense performansını analiz etme ve geliştirme amacıyla Vasily Kirichenko, Steffen Forkmann ve Gauthier Segay'ın katkılarıyla topluluk destekli bir çalışma yapıldı. IntelliSense çok büyük dosyalarda (10 binden fazla kod satırı) artık yaklaşık iki kat daha hızlı çalışıyor.
- Eski FSharp.Core (yüklenen paketlere rağmen) artık .NET SDK stili projelerde mevcut değil.
- IntelliSense içinde
.
sonrasında XML belgesini görüntüleyen açıklama araç ipucu artık 10 saniye sonra zaman aşımına uğramıyor. - Nesne oluşturucu bağımsız değişkenlerinde kesme noktası belirlemenize engel olan hata düzeltildi.
- Genel parametre olduğunda yeniden adlandırılan sembolün yinelenmesine neden olan hata düzeltildi.
- .NET Framework şablonları (klasik F# şablonları) artık .NET SDK F# şablonlarıyla uyumlu hale getirmek için bir NuGet paketinden FSharp.Core kullanıyor.
- Otomatik, işlem tabanlı küme ayracı tamamlama özelliği artık
()
,[]
,{}
,[||]
ve[<>]
küme ayracı çiftleri için kullanılabilir. Bunun için Gibran Rosa ile işbirliği yaptık. - Artık F# simgesine Ctrl + Tıklama ile tanıma gidebilirsiniz. Bu hareketin ayarı Araçlar > Seçenekler penceresine de eklendi.
- IntelliSense performans arabirimi, çeşitli IDE özellikleri için eski typecheck bilgilerinin yapılandırılmasını mümkün kılacak şekilde değiştirildi. Tüm seçeneklerin açıklamaları artık ayarlardaki araç ipuçlarında mevcut.
- Küme ayracı vurgulama özelliği artık küme ayraçlarını doğru şekilde vurguluyor. Bu özellikte Vasily Kirichenko ile işbirliği yaptık.
- Tanıma git komutu artık özyinelemeli türlerde doğru yere gidiyor. Vasily Kirichenko'nun katkılarıyla.
- Otomatik olarak içeri aktarılan bir ad alanının dosyanın en üst bölümü boş olduğunda açılmamasına neden olan hata Vasily Kirichenko tarafından düzeltildi.
- Nokta içeren
printf
tanımlayıcılarının yanlış renkle gösterilmesine neden olan hata Vasily Kirichenko tarafından düzeltildi. - Özyinelemeli modül içindeki tüm açma işlemlerinin kullanılmıyor olarak kabul edilmesine neden olan hata Vasily Kirichenko tarafından düzeltildi.
- Kullanılmayan Açma İşlemleri çözümleyicisinin performansı Vasily Kirichenko tarafından önemli ölçüde geliştirildi.
- Öznitelikler için otomatik tamamlama özelliği artık yalnızca gerçekten öznitelik olan seçenekleri öneriyor. Vasily Kirichenko'nun katkılarıyla.
- Artık oluşturucu çağrı sitesindeki Tür Sağlayıcısı statik parametreleri için İmza Yardımı araç ipuçları oluşturuluyor. Vasily Kirichenko'nun katkılarıyla.
- Ölçü birimi olarak kullanılan değer türlerinin başvuru türü olarak renklendirildiği hata Vasily Kirichenko tarafından düzeltildi.
- Kaydırma sırasında bazı dosyalarda semantik renklendirmenin kaybolmasına neden olan hata Vasily Kirichenko tarafından düzeltildi.
- Artık deneysel bir CodeLens uygulaması var. Victor Peter Rouven Müller'in katkılarıyla. Bunu Seçenekler Metin Düzenleyicisi > F# > Kod Merceği'nde açabilirsiniz.>
- F# derleyici hizmetinin XML belgelerindeki modül adlarını yanlış bir şekilde ilerlettiği bir hata Sebastian Urban tarafından düzeltildi.
ContainsKey
ve sonrakiItem
çağrılarıylaDictionary
kullanan kod,TryGetValue
kullanacak şekilde değiştirildi. Eugene Auduchinok'un katkılarıyla.- Jakob Majoka da Araç İpuçları için farklı bir API'nin kullanılması sürecinde katkıda bulundu.
Altyapı, Paketleme ve Açık Kaynak Geliştirmeleri
Altyapı, paketleme ve açık kaynak katkı deneyimimizde aşağıdaki geliştirmeleri yaptık:
- Visual Studio ile dağıtılan F# derleyicisi artık F# Derleyici SDK'sı konumunda tekil olarak yüklenmez. Artık Visual Studio ile tamamen yan yanadır, yani Visual Studio'nun yan yana yüklemeleri sonunda gerçekten yan yana F# araçlarına ve dil deneyimlerine sahip olur.
- FSharp.Core NuGet paketi imzalandı.
- ETW günlüğü F# araçlarına ve derleyicisine eklendi.
- FSharp.Core içindeki çok büyük olan
control.fs
/control.fsi
dosyalarıasync.fs
/async.fsi
,event.fs
/event.fsi
,eventmodule.fs
/eventmodule.fsi
,mailbox.fs
/mailbox.fsi
veobservable.fs
/observable.fsi
olarak bölündü. - Proje performansı stres testi yapıtlarımızın .NET SDK stili sürümlerini ekledik.
- Newtonsoft.json dosyasını kod tabanımızdan kaldırdık, artık OSS katkıda bulunanları için indirilen paket sayısı bir azaldı.
- Artık System.Collections.Immutable ve System.Reflection.Metadata öğelerinin son sürümlerini kullanıyoruz.
C++ Uyumluluğu ve Araç Takımı Geliştirmeleri
Bu sürüm aşağıdaki C++ uyumluluğu ve araç takımı geliştirmelerini içerir:
- /experimental:preprocessor anahtarıyla etkinleştirilen, C++11 standartlarına (C99 ön işlemci özellikleri dahil) uygun yeni, deneysel, belirteç tabanlı ön işlemci. Bu özellik
_MSVC_TRADITIONAL
makrosu ile denetlenir ve geleneksel ön işlemci kullanılırken 1, yeni deneysel standartlarla uyumlu ön işlemci kullanılırken 0 değeri alır. - Visual Studio Geliştirici Komut İstemi, Visual C++ Spectre değişkeni 1 azaltılmış çalışma zamanlarının (
-vcvars_spectre_libs = spectre
) etkinleştirilmesini destekliyor. Spectre risk azaltma işlemleri hakkında daha fazla bilgi için Visual C++ Ekip Bloguna bakın. - Modern C++ kodu oluşturmaya odaklanan iki yeni SSA Optimizer özelliği: gereksiz depolamaları kaldırma ve gereksiz dalların katlanması.
- Bağlantı sürelerini kısaltmak için bağlayıcı bellek eşlemeli G/Ç performansı iyileştirildi.
C++ Platformlar Arası Geliştirme
Bu sürümde aşağıdaki C++ platformlar arası geliştirme özelliklerini ekledik ve geliştirdik:
- Araçlar>Seçenekler sayfasında ClangFormat için belirtilen kodlama kurallarını kullanan bir .clang biçiminde dosya oluşturmak için Ekle>Yeni Öğe şablonu ekledik. Visual Studio kuralı seçilirse oluşturulan dosya Araçlar > Seçenekler sayfasındaki kullanıcının geçerli Visual Studio biçimlendirme yapılandırmasıyla eşleşmeye çalışır.
- Sunulan clang-format.exe sürümü 6.0.0 olarak güncelleştirildi.
- Şablonlar, CppProperties.json dosyasına yapılandırma eklemeyi kolaylaştırıyor.
- CMakeSettings.json yapılandırmalarını(Şekil 7) eklemeyi kolaylaştırmak için şablonlar eklendi.
C++ Üretkenliği
C++ üretkenliği için aşağıdaki geliştirmeleri ve iyileştirmeleri yaptık:
- Makrolarda C++ Hızlı Bilgi ipuçları artık yalnızca tanımlarını değil genişletme durumlarını da gösteriyor. Bu durum, makro tanımlayıcının ön işlemci tarafından ne ile değiştirildiğini açık bir şekilde gösterdiğinden özellikle diğer makrolara başvuran karmaşık makrolar için yararlıdır.
- Kodu modern hale getirmek için yeni bir araç olarak temel makroları constexpr biçimine dönüştürmek üzere yeni bir hızlı çözüm ampulü eklendi.
- Şablonlar için IntelliSense, şablonunuzun gövdesinde IntelliSense'i tam olarak kullanabilmeniz için şablon bağımsız değişkenleri hakkında daha fazla ayrıntı sunuyor (Şekil 8).
- Kod analizi deneyimimizi yenilemek için çalışıyoruz. Yeni ve üzerinde çalışmaya devam ettiğimiz özellikleri Araçlar>Seçenekler>Metin Düzenleyici>C++>Deneysel>Kod Analizi yolunu izleyerek etkinleştirebilirsiniz. Kod analizi, dosyalar açılırken veya kaydedilirken arka planda çalışabilir ve sonuçlar hem hata listesinde hem de düzenleyicide yeşil dalgalı çizgiler olarak gösterilir (Şekil 9).
C++ Hata Ayıklama Geliştirmeleri
Aşağıdaki hata ayıklama geliştirmelerini yaptık:
- Yalnızca Kendi Kodum artık sistemden veya 3. taraf C++ kitaplıklarından kod aktarmaya ek olarak bu çağrıları, çağrı yığını penceresinde daraltmanızı sağlar. Kodunuz /JMC ile derlendiğinde ve kullanıcı harici kitaplık yolları bir .natjmc dosyasında belirtildiğinde bu davranışı tüm C++ kitaplıkları için denetleyebilirsiniz. Sistem kitaplığı kullanıcı kodunu çağırıyorsa adımladığınızda hata ayıklayıcısı tüm sistem kodunu atlar ve ilk kullanıcı kodu geri çağırma satırında durur (Şekil 10).
- Veri kesme noktaları artık İzleme, Hızlı İzleme, Otomatikler ve Yereller pencerelerinde ayarlanarak bellekte depolanan bir değer değiştiğinde yalnızca birkaç tıklamada kesme noktası oluşturmanızı sağlar.
- Kaynak Bağlantısı bir yürütülebilir dosya veya kitaplığın özgün kaynak kodu hakkındaki bilgileri derleme sırasında PDB'ye eklemenizi sağlar.
- Hata ayıklama sırasında konsol penceresi artık program yürütmeyi sonlandırdığında varsayılan olarak açık kalır (programı hata ayıklayıcı olmadan çalıştırmaya benzer şekilde). Bu davranış Araçlar> Seçenekler > Hata ayıklama > Genel yolundan konsolun otomatik olarak kapanacağı şekilde değiştirilebilir.
JavaScript ve TypeScript Geliştirmeleri
TypeScript 3.0
Visual Studio 2017 sürüm 15.8 artık varsayılan olarak TypeScript 3.0 içermektedir. Bu sürüm hakkında ayrıntılı bilgi için TypeScript 3.0 yayın duyurusuna bakın.
Geliştirilmiş Vue.js desteği
Vue.js kitaplığı desteği ve özellikle "tek dosyalı bileşenler" olarak da bilinen .vue dosyaları için sunulan destek geliştirildi. Bu destek, TypeScript içinde betik öğesinde lang="ts"
özniteliği aracılığıyla yazılmış olan betik blokları için destek olmak üzere .vue dosyaları içindeki betik bloklarını düzenleme sırasında geliştirme sağlar. (Not: .vue dosyalarını çalışma zamanında gereken HTML ve JS dosyalarına dönüştürmek için WebPack veya benzeri bir derleme işlemi kullanılmalıdır. Daha fazla ayrıntı için Tek Dosyalı Bileşenler sayfasına bakın).
Node.js iş yükü yüklendiyse Yeni Proje iletişim kutusunun "JavaScript/Node.js" veya "TypeScript/Node.js" yollarının altında "Temel Vue.js Web Uygulaması" şablonları bulunur. Aşağıda bir .vue dosyasındaki betik bloğu içinde TypeScript kodu düzenleme örneği gösterilmiştir (Şekil 11).
ESLint Geliştirmeleri
Bu sürümde ESLint desteğini yeniden ekledik. ESLint, aşağıdaki geliştirmeleri ve iyileştirmeleri içeriyor:
- Visual Studio artık yalnızca kaydedilen dosyalara lint uygulamak yerine düzenlediğiniz JavaScript dosyalarına da lint uygulamanıza izin veriyor.
- Sonuçlar yalnızca açık dosyalara değil projenizdeki tüm JS dosyaları için bildirilebilir. Projenizde Lint uygulanmasını istemediğini bölümler varsa bir .eslintignore dosyası kullanarak yoksayılacak dizinleri ve dosyaları belirtebilirsiniz.
- ESLint, varsayılan olarak ESLint 4 sürümünü kullanacak şekilde güncelleştirildi ancak projenizde yerel ESLint yüklemesi varsa bu sürüm kullanılır.
ESLint'i Visual Studio'da tamamen devre dışı bırakmak için **Araçlar > Seçenekler > Metin Düzenleyicisi > Javascript/Typescript > Lint Uygulama ** (Şekil 12) sayfasındaki ESLint'i Etkinleştir seçeneğinin işaretini kaldırabilirsiniz.
Node.js İçin Klasör Aç Geliştirmeleri
"Node.js iş yükünün" yüklü olduğu Klasör Aç senaryosunda JavaScript ve TypeScript ile çalışma birçok geliştirme yapılmıştır. Örneğin NPM paketlerini yönetirken, TypeScript oluştururken, Node.exe'yi başlatırken ve hata ayıklarken, NPM betiklerini yürütürken ve birim testlerini çalıştırırken bu geliştirmeleri görebilirsiniz.
Daha fazla bilgi için bkz. Çözüm veya proje olmadan Visual Studio'da JavaScript ve TypeScript kodu geliştirme.
Düzenleyicide Performans Geliştirmeleri
Önceki sürümlerde tüm JavaScript ve TypeScript dil hizmeti işlemleri tek bir Node.js işlemi tarafından işleniyordu. Bu da uzunca bir işlem çalışırken (kodda hata analizi yapma gibi) kullanıcının yazmasını etkileyen komutlarda (yeni satır sonrasında otomatik biçimlendirme gibi) düzenleyicide gecikmelere neden olabiliyordu. Bunu azaltmak için düzenleme üzerinde en çok etki sahibi olan eylemler için artık ayrı bir işlem kullanılıyor. Bu işlem, var olan dil hizmeti işlemine kıyasla daha az sistem kaynağı kullanmaktadır. Ancak yeni işlemi devre dışı bırakmak isterseniz Araçlar > Seçenekler > Metin Düzenleyicisi > JavaScript/TypeScript > Dil Hizmeti sayfasındaki Adanmış söz dizimi işlemini devre dışı bırakın kutusunu işaretleyin.
Visual Studio Web Araçları
Kitaplık Yöneticisi, Visual Studio 2017'ye eklenen yeni özelliklerden biridir. Web projelerinizde istemci tarafındaki kitaplıkları yönetmenize yardımcı olur.
Kapsayıcı Araçları
ASP.NET Core web projeleri için yeni bir tek projelik Docker kapsayıcısı deneyimi ekledik. Bu araç, var olan Docker Compose tabanlı kapsayıcı araçlarını tamamlar ve Visual Studio'dan Docker kapsayıcılarında oluşturma, hata ayıklama ve derleme işlemlerini gerçekleştirmek için daha kolay bir yol sunar.
Projeyi oluştururken Docker desteği ekleyebilirsiniz (Şekil 13):
İsterseniz Çözüm Gezgini'nde projenin bağlam menüsünden var olan bir projeye Docker desteği ekleyebilirsiniz (Şekil 14). Bunu yaptığınızda Visual Studio projede tek bir Docker dosyası oluşturur. Windows veya Linux'ı seçebilirsiniz.
Visual Studio ayrıca Docker için bir hata ayıklayıcısı başlatma profili (Şekil 15) ekleyerek proje kapsayıcı içinde çalışırken hata ayıklama yapılmasını sağlar.
Birden fazla Docker projesi içeren bir çözümünüz varsa, çözümü başlatmayı seçtiğinizde varsayılan olarak yalnızca bir kapsayıcı çalışır. Aynı anda birden fazla kapsayıcı çalıştırmak isterseniz Çözüm Gezgini'nde sağ tıklayıp Başlangıç Projelerini Ayarla'yı ve Çoklu başlangıç projeleri'ni seçip çalıştırmak istediğiniz tüm projeler için Eylem açılan menüsünü Başlat veya Hata ayıklama olmadan başlat olarak ayarlayın.
Kapsayıcılı projenizi istediğiniz şekilde çalıştırdıktan sonra projeye sağ tıklayıp Docker Görüntüsü Derle'yi seçerek yerel görüntü derleyebilir ve hazır olduğunuzda Azure Container Registry veya DockerHub'a gönderebilirsiniz.
Ayrıca var olan Docker Compose tabanlı işlevi yeni Kapsayıcı Düzenleyicisi Desteği seçeneğiyle (Şekil 16) ASP.NET Core web projesine ekleyebilirsiniz. Çözüm Gezgini'nde ASP.NET Core web projesine sağ tıklayın, Ekle > Kapsayıcı Düzenleyicisi Desteği'ni ve açılan menüden Docker Compose'u seçin.
Yayımlama Geliştirmeleri
Bu sürüm aşağıdaki yayımlama geliştirmelerini içermektedir:
- Bir Docker kapsayıcısını bir kapsayıcı kayıt defterinde yayımlarken artık görüntünün etiketini özelleştirebilirsiniz. El ile bir etiket ekleyebilir (varsayılan etiket: "latest") veya her etiketin benzersiz olduğundan emin olmak için otomatik olarak oluşturulan etiketler kullanabilirsiniz.
- Yeni bir Azure App Service oluştururken telemetri verilerini otomatik olarak toplamak için Application Insights'ı da yapılandırabilirsiniz. Application Insights içeren bir bölge seçerseniz bu özellik varsayılan olarak etkinleştirilir. Henüz Application Insights'ı içermeyen bir bölge seçerseniz açılan menüden Application Insights kaynağınız için el ile farklı bir bölge belirtebilirsiniz.
- Azure İşlevleri projelerini yayımlarken yeni Run-From-Zip özelliğini kullanabilirsiniz.
Xamarin için Visual Studio Araçları
Bu sürüm aşağıdaki Xamarin güncelleştirmelerini içerir:
- Xcode 9.4 desteği ekledik.
- Yeni bir Xamarin.Forms projesi oluşturduğunuzda varsayılan kod paylaşma seçeneği artık .NET Standard olarak belirlenir. Paylaşılan proje seçeneği de kullanılabilir durumdadır.
- Android artımlı derleme geliştirmeleri ekledik. Xamarin.Android, tam derlemelerden daha hızlı olan artımlı derlemeleri mümkün kılmak için ara çıktı dizininde oluşturulan dosyaları kullanır. Önceden projenizin hedef Framework bilgisini değiştirmeniz durumunda dosyalar geçersiz hale geliyor ve bir sonraki çalıştırmada tam derleme oluşturuluyordu. Bu sürümde dosyaları Framework'lere özgü klasörlerde tutarak hedef Framework'ler arasında geçiş yapmanızı ve artımlı derlemelerden faydalanmaya devam etmenizi sağlıyoruz. Projenin temizlenmesi, korunan dosyalar tarafından kullanılan disk alanını yeniden kullanabilmenizi sağlıyor.
- Visual Studio 2017'de Xamarin.Mac bağlama projeleri için minimum destek ekledik. Bu da Visual Studio'nun Xamarin.Mac bağlama projeleri için yükleme ve tanıma desteği sunmasını sağlıyor. İsterseniz Xamarin.Mac bağlama projeleri de oluşturabilirsiniz. Ancak derleme işlemi yerel Mac araç zinciri kullanılmadan yerel ortamda gerçekleştirildiğinden oluşturulan IL bütünleştirilmiş kodları çalıştırma veya uygulamada hata ayıklama için kullanılamaz.
Hyper-V Android Öykünücüsü Desteği
Bu da Windows 10 Nisan 2018 Güncelleştirmesi üzerinde çalışırken Hyper-V ile uyumlu olan Google Android öykünücüsü desteği ekler (Şekil 17). Bu da Google Android öykünücüsünün Hyper-V sanal makineleri, Docker araçları, HoloLens öykünücüsü ve diğer Hyper-V tabanlı teknolojilerle yan yana kullanabilmenizi sağlar. Hyper-V kullanan mobil uygulama geliştiricileri artık en son Android API'lerini destekleyen, doğrudan Google Play Hizmetleri ile birlikte çalışan ve kamera, coğrafi konum ve Quick Boot dahil olmak üzere Android öykünücüsünün tüm özelliklerini destekleyen hızlı bir Android öykünücüsüne erişebilir.
Xamarin.Android Tasarım Aracı
Xamarin.Android için tasarımcı deneyiminde önemli geliştirmeler yaptık. Öne çıkan özellikler:
- Aynı anda düzenlerinizde oluşturma, düzenleme ve önizleme işlemlerini gerçekleşmenizi sağlayan bölünmüş görünüme sahip düzenleyici eklendi (Şekil 18).
- IntelliSense deneyiminde ve özel denetimlerin güvenilirlik düzeyinde yapılan geliştirmeler.
- Sistem tarafından sağlanan değerler için örnek veri desteği.
Xamarin.Forms Önizleyicisi
Xamarin.Forms Önizleyicisi artık Xamarin.Forms sürüm 3.1.0.583944 veya üzeri için araç kutusu desteğine sahip. Xamarin.Forms denetimleri, araç setini kullanmaya yeni başlayanlar için daha kolay keşfedilmesi amacıyla araç kutusunda görünür. Ayrıca sayfaya eklemek istediğiniz denetimleri sürükleyip XAML kod düzenleyicisine bırakabilirsiniz. Xamarin.Forms Önizleyicisi artık XAML düzenleyicisinin bir parçası. Düzenleyici bölmesinin kenarındaki genişletme simgesiyle açabilir veya kapatabilirsiniz.
Python
Bu sürümde Python geliştiricileri için aşağıdaki geliştirmeler eklenmiştir:
- Python IntelliSense artık otomatik tamamlamaların statik analiz ile alınamadığı kitaplıklar için daha zengin sonuçların dağlanması için typeshed tanımlarını kullanıyor.
- İlk olarak 15.7 önizleme sürümlerinde duyurulan deneysel hata ayıklayıcısı artık Python için kullanılan varsayılan hata ayıklama altyapısıdır ve Python kodunda daha hızlı ve daha güvenilir hata ayıklama yapılmasını sağlar.
- Hata ayıklama, ekleme, profil oluşturma ve karma mod (diller arası) hata ayıklama özelliklerini etkinleştirme düzeltmeleri dahil olmak üzere Python 3.7 desteği ekledik.
- Yukarıdaki özellikler hakkında daha fazla bilgi için Visual Studio 2017 sürüm 15.8'de Python blog gönderimize bakın.
Yerel Azure İşlevi Ayarlar Geçirme
Yayımlama özeti sayfasından ulaşılabilen "Yönetilen Uygulama Ayarları" iletişim kutusu artık local.settings.json dosyanızdaki değerleri görüntüler ve değerlerinizi Azure'da barındırılan uzak Azure İşlevi uygulamanıza geçirmenizi sağlar.
Bağlı Hizmetler
Artık Azure İşlevi Projeleri ile doğrudan Visual Studio 2017'den çözümler için Azure İşlevlerinde sürekli teslim yapılandırması yapabilirsiniz.
Test Gezgini İyileştirmesi
Test Gezgini artık hiyerarşi görünümündeki gruplandırmalardan birisi seçildiğinde daha bilgilendirici bir test durumu özet bölmesi (test gezgininin alt bölmesi) görüntüler. Bölmede artık başarısız olan, başarılı olan veya bu gruplandırmada çalışmayan test sayısı görüntülenir.
Yeni Genişletilebilirlik Özellikleri
Dil Sunucusu Protokolü
Visual Studio artık Dil Sunucusu Protokolü için yerel desteğe sahip. Uzantı yazarları Visual Studio'ya ek dil desteği eklemek için var olan dil sunucularıyla iletişim kuran uzantılar oluşturabilir. Uzantı kullanıcıları bu uzantıları yükleyerek Rust gibi favori dillerini Visual Studio'da kullanmaya başlayabilir.
AsyncPackage Şablonu
Uzantı yazarları artık uzantılarının performansını iyileştirme amacıyla AsyncPackages oluşturmak için öğe şablonlarını kullanabilir. AsyncPackages hakkında daha fazla bilgi edinin.
Uzantı Paketleri
Uzantı paketi kullanarak favori uzantılarınızı arkadaşlarınızla kolayca paylaşabilir veya yeni Visual Studio yüklemesini ayarlayabilirsiniz. Uzantı paketleri bir uzantı listesi oluşturmanızı, bunları bir uzantı halinde paketlemenizi ve bu uzantıları hızlı ve toplu şekilde yüklemek için kullanmanızı sağlar.
Komut Satırından Uzantı Yayımlama
Uzantılarınızı Visual Studio Market'te yayımlamak için komut satırını kullanabilirsiniz.
.NET Core SDK 2.1.400
Visual Studio 2017 sürüm 15.8, .NET Core SDK 2.1.400 içerir. Yeni SDK özellikleri şunlardır:
- NUnit şablonları eklendi
- İmzalı genel araçlar için destek eklendi
- Yardım metinleri daha kolay anlaşılmaları için geliştirildi
32 adet .NET Core CLI sorunu kapatıldı.
20 adet .NET Core SDK sorunu kapatıldı.
Kaynak Denetimi
.NET Core projeleri için projeye Çözüm Gezgini ile doğrudan eklenen dosyalar, çözümün yeniden yüklenmesine gerek kalmadan artık doğru Git ve TFS izleme simgelerini gösterecek.
.NET Test Bağdaştırıcısı Uzantısı
.NET Test Bağdaştırıcısı aşağıdaki yeni ve kullanımdan kaldırılan değişikliklere sahiptir:
- Yeni Değişiklik: Tüm test projelerinin csproj dizininde .NET test bağdaştırıcısı NuGet başvurusuna sahip olması gerekir. Bunu yapmazlarsa, bir test bağdaştırıcısı uzantısı tarafından bulma işlemi bir derlemeden sonra başlatılırsa veya kullanıcı seçilen testleri çalıştırmayı denerse bu test çıkışı projede görünür:
- Test projesi {<Test projesinin> tam yolu}, hiçbir .NET NuGet bağdaştırıcısına başvurmuyor. Test bulma veya yürütme bu proje için çalışmayabilir. Çözümdeki tüm test projeleri için NuGet test bağdaştırıcısı başvurusu eklemeniz önerilir.
- .NET test Framework'leri bağdaştırıcılarını NuGet paketleri olarak yayımlamakta ve Visual Studio uzantılarını kullanmayı bırakmaktadır. .NET test bağdaştırıcıları için uzantı aracılığıyla sunulan destek kullanım dışıdır ancak yine de destek sunulmaya devam etmektedir. Bu da Araçlar > Seçenekler > Test sayfasında iki yeni seçeneğin mevcut olacağı anlamına gelir.
- İlk seçenek Visual Studio'nun yalnızca test derlemesi klasöründe bulduğu test bağdaştırıcılarını (test bağdaştırıcısı NuGet başvurusuyla eklenen) veya runsettings dosyasında belirtilenleri kullanmasını sağlar.
- İkinci seçenek Visual Studio'nun eski davranışa "geri dönmesini" ve test bağdaştırıcısı NuGet başvurusuna sahip olmayan projeler için test bağdaştırıcısı uzantılarını aramasını sağlar. İki seçenek de varsayılan olarak işaretli olduğundan bu sürümde varsayılan davranış değişmeyecektir.
- Not: .NET harici test bağdaştırıcılarının bu değişiklikten etkilenmeyeceğini unutmayın.
.NET Framework Gizli Dizi desteği ASP.NET
.NET Framework 4.7.1 veya üzerini hedefleyen ASP.NET .NET Framework projeleri için projeye sağ tıklayıp "Yönetilen Kullanıcı Dizileri"ni seçerek kaynak kodunuzda istemediğiniz gizli dizileri açabilir ve usersecrets.xml dosyasında depolayabilirsiniz.
.NET Framework performansını ASP.NET geliştirme
ASP.NET .NET Framework projesinde başvurulan .NET Derleyici paketi eski ise Visual Studio, projeyi açtığınızda derleme performansınızı geliştirmek için paketi yükseltmenizi ister.
.NET Framework 4.7.2
Visual Studio 2017 sürüm 15.8, 4.7.2 çalışma zamanı ile desteklenen tüm platformlar için .NET Framework 4.7.2 geliştirme araçlarını sunuyor. .NET Framework 4.7.2 sürümü, çeşitli yeni özellik ve iyileştirmelerin yanı sıra çok sayıda güvenilirlik, kararlılık, güvenlik ve performans düzeltmeleri içeriyor.
Aşağıdaki makalelerde .NET Framework 4.7.2 hakkında daha fazla ayrıntı bulabilirsiniz:
- .NET Framework 4.7.2 RTM Blog Sayfası
- .NET Framework 4.7.2 sürüm notları
- .NET Framework 4.7.2’de bilinen sorunlar
- .NET Framework 4.7.2’de Uygulama Uyumluluğu
- API Değişiklikleri
Paket Yüklemeyi Geciktirme
Visual Studio artık otomatik olarak yüklenecek şekilde yapılandırılmış olan zaman uyumsuz paketlerin yüklenmesini Visual Studio IDE tamamen başlatılana ve çözüm yüklenene kadar geciktirir. Bu değişiklik otomatik olarak yüklenen zaman uyumlu paketleri etkilemez. Kullanıcılar, ilerleme durumunu izlemek için durum çubuğunun sol alt köşesinde bulunan Görev Durumu Merkezi'ne bakabilir. Zaman uyumsuz paket oluşturan uzantı yazarlarının uzantılarını test etmeleri gerekir. Daha fazla bilgi için bkz. Uzantıların otomatik yükleme davranışını güncelleştirerek kritik senaryoların yanıt hızını geliştirme.
---
Visual Studio 2017 sürüm 15.8 Güvenlik Önerisi Bildirimleri
Visual Studio 2017 sürüm 15.8.7 Bakım Sürümü-- 10 Ekim 2018’de yayımlandı
CVE-2018-8292 .NET Core Bilgilerin Açığa Çıkması ile İlgili Güvenlik Açığı
.NET Core’da, HTTP yeniden yönlendirme isteğiyle karşılaşan bir giden istekte HTTP kimlik doğrulaması bilgileri yanlışlıkla açığa çıktığında güvenlik özelliğini aşan bir güvenlik açığı bulunuyor. Bu güvenlik açığından başarılı bir şekilde yararlanan saldırganlar, bilgileri web uygulamasını tehlikeye atacak şekilde kullanabilir. Güvenlik güncelleştirmesi, .NET Core uygulamalarının HTTP yeniden yönlendirme biçimini düzelterek güvenlik açığını giderir.
Visual Studio 2017 sürüm 15.8.4 Bakım Sürümü-- 11 Eylül 2018’de yayımlandı
CVE-2018-8409 .NET Core Hizmet Reddi Güvenlik Açığı
System.IO.Pipelines istekleri düzgün bir şekilde ele almadığında .NET Core 2.1’de hizmet reddi güvenlik açığı ortaya çıkıyor. Bu güvenlik açığını başarılı bir şekilde kötüye kullanabilen bir saldırgan, System.IO.Pipelines’tan yararlanan uygulamalarda hizmet reddi sorununa yol açabilir. Güvenlik açığı, uzaktan bağlanarak kimlik doğrulaması olmadan kötüye kullanılabilir. Kimliği doğrulanmamış bir uzak saldırgan, uygulamaya özel olarak tasarlanmış istekler göndererek bu güvenlik açığını kötüye kullanabilir.
CVE-2018-8409 ASP.NET Core Hizmet Reddi Güvenlik Açığı
Web isteklerini düzgün bir şekilde ele almadığında ASP.NET Core 2.1’de hizmet reddi güvenlik açığı ortaya çıkıyor. Bu güvenlik açığını başarılı bir şekilde kötüye kullanabilen bir saldırgan, ASP.NET Core web uygulamasında hizmet reddi sorununa yol açabilir. Güvenlik açığı, uzaktan bağlanarak kimlik doğrulaması olmadan kötüye kullanılabilir. Kimliği doğrulanmamış bir uzak saldırgan, .ASP.NET Core uygulamasına özel olarak tasarlanmış web istekleri göndererek bu güvenlik açığını kötüye kullanabilir.
Visual Studio 2017 sürüm 15.8-- 14 Ağustos 2018'de yayınlandı
CVE-2018-0952 Tanılama Merkezi Standart Toplayıcı Ayrıcalıkların Yükseltilmesi Güvenlik Açığı
Bir Visual Studio hizmetinde, yönetici olmayan bir kullanıcının dosya yazma sırasında sistem ayrıcalıkları elde etmesine neden olabilecek ayrıcalıkların yükseltilmesi güvenlik açığı mevcuttur. Bu açıktan faydalanan saldırganlar yalnızca kullanıcı düzeyinde erişime sahip olmalarına rağmen sistem olarak dosya yazabilir. Bu güvenlik güncelleştirmesinde dosya konumuna erişimi doğrulama amacıyla geçerli kullanıcının kimliğine bürünülerek sorun giderilmiştir.
Visual Studio 2017 sürüm 15.8 Önizleme 4 -- 10 Temmuz 2018'de yayınlandı
CVE-2018-8172 Visual Studio Uzaktan Kod Yürütme Güvenlik Açığı
Özel olarak hazırlanmış bir proje veya kaynak dosyası açılarak bir kullanıcıya ait makineden yararlanmaya neden olabilen bir uzaktan kod yürütme güvenlik açığı. Güvenlik güncelleştirmesi, Visual Studio’nun bir dosyadaki kaynak işaretlemesini denetleme biçimini düzelterek güvenlik açığını giderir.
CVE-2018-8260 .NET Framework Uzaktan Kod Yürütme Güvenlik Açığı
Uzaktan kod yürütme güvenlik açığı .NET yazılımında mevcuttur ve saldırganların geçerli kullanıcı bağlamında rastgele kod çalıştırmasına izin vererek kullanıcının makinesinden yararlanmaya neden olabilir. Güvenlik güncelleştirmesi, .NET’in bir dosyadaki kaynak işaretlemesini denetleme biçimini düzelterek güvenlik açığını giderir.
CVE-2018-8232 .NET Microsoft Macro Assembler Kurcalama Güvenlik Açığı
Microsoft Macro Assembler’ın kodu hatalı biçimde doğrulamasıyla ilgili kurcalama güvenlik açığı. Güvenlik güncelleştirmesi, Microsoft Macro Assembler’ın kod mantığını düzgün bir şekilde doğrulamasını sağlayarak güvenlik açığını giderir.
CVE-2018-8171 ASP.NET Core Güvenlik Özelliği Atlama Güvenlik Açığı
Hatalı oturum açma denemelerinin sayısı doğrulanmadığında ASP.NET Core Güvenlik Özelliği Atlama Güvenlik Açığı mevcuttur ve bir saldırganın sonsuz sayıda kimlik doğrulama denemesi yapmasına neden olabilir. Güncelleştirme, hatalı oturum açma girişimlerinin sayısını doğrulayarak güvenlik açığını giderir.
Visual Studio 2017 sürüm 15.8 Önizleme 3 -- 26 Haziran 2018'de yayımlandı
CVE-2018-11235 Git Güvenlik Açığı için Microsoft Güvenlik Önerisi
Git topluluğu tarafından açıklanan, Git’teki bir güvenlik açığını düzelttik. Güvenlik açığı, bir kullanıcı kötü amaçlı bir depoyu kopyaladığında rastgele kod yürütmesine yol açabilir.
Visual Studio 2017 sürüm 15.8 Önizleme 1 -- 08 Mayıs 2018'de yayınlandı
CVE-2018-0765 .NET Core Hizmet Reddi Güvenlik Açığı İçin Microsoft Güvenlik Önerisi
- Microsoft bu güvenlik önerisini .NET Core ve .NET Native 2.0 sürümlerindeki bir güvenlik açığı hakkında bilgi sağlamak amacıyla yayınlamaktadır. Bu öneri ayrıca geliştiricilerin uygulamalarını bu güvenlik açığını giderecek şekilde güncelleştirmek için neler yapabileceği konusunda da rehberlik sağlar.
- Microsoft, .NET Framework ve .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 Framework, .NET Core veya .NET Native uygulamalarında hizmet reddi sorununa yol açabilir.
- Güncelleştirme, .NET Framework, .NET Core ve .NET Native uygulamaları tarafından XML belgelerinin işlenme biçimini düzelterek bu güvenlik açığını giderir.
- Uygulamanız bir ASP.NET Core uygulaması ise, geliştiricilerin ayrıca ASP.NET Core 2.0.8 sürümüne güncelleştirmeleri önerilir.
Visual Studio 2017 sürüm 15.8.1
17 Ağustos 2018'de yayınlandı
15.8.1 Sürümünde Düzeltilen Başlıca Sorunlar
15.8.1 derlemesinde giderilen sorunlar:
- Web projesinde hata ayıklama sırasında tarayıcı penceresi kapatıldığında Visual Studio'nun beklenmeyen bir şekilde kapatılmasına neden olan sorun düzeltildi.
Visual Studio 2017 sürüm 15.8.2
28 Ağustos 2018’de yayınlandı
15.8.2 Sürümünde Düzeltilen Başlıca Sorunlar
Müşteriler tarafından bildirilen ve 15.8.2 sürümünde giderilen sorunlar şunlardır:
- Tekli dosya yayımlama bağlam menüsü öğesi eksik.
- Git ağ işlemleri çalışmıyor: git-askpass.exe üretilemiyor.
- "Visual C++ Kaynak Düzenleyicisi Paketi" yüklenemedi.
- Dönüştürmeyi Önizleme hata veriyor.
- Kapatma ayracı yazılamıyor.
- Güncelleştirme 15.8.0’dan sonra Service Fabric projesi dağıtılırken Nesne başvurusu bir nesnenin örneğine ayarlanmadı hatası veriliyor.
- "Sağlanan yolun biçimi desteklenmiyor" yükleme hatası.
- ExpandPriContent görevi başarısız. Yoldaki geçersiz karakterler.
- "System.Collections.Genertic.Iset'1[Signer] türünün örneği oluşturulamadı" yükleyici hatası.
- 15.8.0’daki Service Fabric dağıtımı hataları.
- Windows mağazası için uygulama paketi oluşturulamıyor.
- Kesin tür belirtilmiş kaynaklar için yanlış kod oluşturuluyor.
- İtalya düzeni için klavye bağlaması .
- IntelliSense bozuk #9999.
- Bir Unity projesi üzerinde çalışırken ve Unity birden çok proje dosyasını yeniden yazarken Unity için Visual Studio Araçları çözümü otomatik olarak yeniden yükler.
- Visual Studio yüklemesini engelliyorsa ve 1303 hatasına neden oluyorsa müşteri artık Office uygulamalarının kapatmaya yönelik bir iletişim kutusu alır.
Visual Studio 2017 sürüm 15.8.3
yayın tarihi: 6 Eylül 2018
15.8.3 Sürümünde Düzeltilen Başlıca Sorunlar
Müşteriler tarafından bildirilen ve 15.8.3 sürümünde giderilen sorunlar şunlardır:
- Visual Studio 2017 sürüm 15.8.2, Visual Studio ile uyumsuz olan .NET Core SDK 2.1.401 yayın öncesi sürümünü içeriyordu. Bu sorunu Visual Studio 2017 sürüm 15.8.3 ile düzelttik.
- VSCppUnit test çalışması oluşturma hatası.
- Python IntelliSense, Python 2.7 üzerinde çalışmıyor.
- XAML tasarımcısı Visual Studio’nun beklenmedik şekilde kapanmasına neden oluyor.
Visual Studio 2017 sürüm 15.8.4
11 Eylül 2018’de yayımlandı
15.8.4 Sürümünde Düzeltilen Başlıca Sorunlar
Müşteriler tarafından bildirilen ve 15.8.4 sürümünde giderilen sorunlar şunlardır:
- Açık (geçersiz) parametreye sahip constexpr işlevi MSVC 15.8.0 sürümünde kilitleniyor.
- TypeScriptLspCodeActionProvider bir hatayla karşılaştı ve devre dışı bırakıldı.
- “Paylaşılan Web Bileşenleri” paketi düzgün bir şekilde yüklenmedi.
- Tarayıcı Bağlantısı etkinken CSS düzenlendiğinde Visual Studio kilitlenebilir.
- 15.8.0’daki Service Fabric Dağıtımı hataları.
- VS2017 15.8 sürümüne sahip üyelere yönelik constexpr işaretçisinin hatalı olması sorunu.
- Constexpr, VS2017 15.8’de __declspec(dllimport) işlevini desteklemez.
- C++ VS 2017 Güncelleştirme 8’in C++14 ve C++17 modları arasındaki üye işlev işaretçisi farkı kilitlenmelere neden oluyor.
- TestExplorer, son sürümde kullanıcı arabirimini kilitliyor.
- [WebKit] Statik şablon üye tanımına (regresyon) yönelik “Zaten tanımlanmış simge”.
- VS 15.8.0 Derleyici iç hatası.
- Constexpr işlevinde derleyici iç hatası.
- Test Gezgini Penceresi Express ile boş kalıyor.
- Visual Studio 2017, FIPS etkin makinelerde açılamıyor..
- Basit constexpr işlevini değerlendirirken VS2017 15.8 Derleyici İç Hatası 'msc1.cpp', satır 1518.
- VS 15.8.0’a güncelleştirdikten sonra önemli hata C1001.
- VS2017 15.8’e geçiş: constexpr işlevlerini şablon parametreleri olarak kullanırken derleyici iç hatası oluşuyor.
- VC++ 15.8.0’da constexpr ile şablon işlevi derleme sırasında derleyici iç hatası oluşuyor.
- VC 15.8.1 derleyicisi tarafından oluşturulan kod kilitlenmeye neden oluyor.
Güvenlik Danışmanlığı Bildirimleri
- CVE-2018-8409 .NET Core Hizmet Reddi Güvenlik Açığı
- CVE-2018-8409 ASP.NET Core Hizmet Reddi Güvenlik Açığı
Visual Studio 2017 sürüm 15.8.5
yayın tarihi: 20 Eylül 2018
15.8.5 Sürümündeki Yeniliklerin Özeti
- Xamarin için Visual Studio Araçları artık Xcode 10 sürümünü destekliyor.
15.8.5 Sürümünde Düzeltilen Başlıca Sorunlar
Müşteriler tarafından bildirilen ve 15.8.5 sürümünde giderilen sorunlar şunlardır:
- Xamarin.iOS hata ayıklama oturumunda hata ayıklayıcısı araç ipucu genişletilmiyor.
- Hata ayıklayıcısı yürütme noktasından ayrılmama izin vermiyor (Android).
- 15.8.1 sürümüne güncelleştirdikten sonra hata ayıklama sırasında veri ipucu gösterilmiyor.
- Hata ayıklayıcısı veri ipucu genişletilmiyor [Düzenleyici].
- Özel durum:MSB0001: İç MSBuild Hatası: Derleme zamanı için zaten kayıtlı.
- VS 15.8.1 güncelleştirmesinden sonra ClickOnce bildiriminde hatalı kaynak yolu.
- 15.8 sürümünde ClickOnce Bildirimi hatası.
- ClickOnce: Yayımlanan uygulamada belirli başvurular eksik.
- ClickOnce: Dil dosyası hatalı konuma kopyalandı.
- ClickOnce yayımlama klasöründe başvuru eksik.
- .NET SDK stilinde olmayan F# projelerinin derlenmesi MSBuild paralelliği 1 olarak ayarlanmadığında iç MSBuild hatasına neden oluyor.
- F# için Visual Studio'da NGEN uygulanmıyor.
- F# FSharp.Core 4.5.0.0 ikili dosyasını 4.4.3.0 konumuna dağıtıyor.
15.8.5 Sürümündeki Yeniliklerin Ayrıntıları
Xamarin için Visual Studio Araçları
Xamarin için Visual Studio Araçları artık iOS 12, tvOS 12 ve watchOS 5 için uygulama derlemenizi ve hata ayıklama yapmanızı sağlayan Xcode 10 desteği sunuyor. Kullanıma sunulan yeni özellikler hakkında daha fazla bilgi için iOS 12 için hazırlanma ve iOS 12'ye giriş sayfalarımızı inceleyin.
Visual Studio 2017 sürüm 15.8.6
yayın tarihi: 02 Ekim 2018
15.8.6 Sürümündeki Yeniliklerin Özeti
- En son Windows 10 SDK'sı kullanılabilir.
15.8.6 Sürümünde Düzeltilen Başlıca Sorunlar
Müşteriler tarafından bildirilen ve 15.8.6 sürümünde giderilen sorunlar şunlardır:
- IntelliSense için NuGet paketleri bozuk.
- sln açıldıktan sonra Visual Studio kapanıyor.
- App.Config XML düzenleyicisi 15.8.4 sürümünde de donmaya devam ediyor.
15.8.6 Sürümündeki Yeniliklerin Ayrıntıları
Evrensel Windows Platformu geliştiricileri için en son Windows 10 SDK’sı
Windows 10 SDK’sının son sürümü (derleme 17763), Evrensel Windows Platformu geliştirme iş yüküyle birlikte isteğe bağlı bir bileşen olarak kullanıma sunuldu. Windows 10 SDK’sı (10.0.17763.0) onay kutusunu işaretleyerek bu SDK’yı iş yüküne ekleyebilirsiniz.
Visual Studio 2017 sürüm 15.8.7
yayın tarihi: 10 Ekim 2018
15.8.7 Sürümündeki Yenilikler
Azure DevOps
Visual Studio Team Services’in adı artık Azure DevOps! Bu yeni marka adını Takım Gezgini’nde ve Visual Studio’daki başvurularda göreceksiniz.
Güvenlik Danışmanlığı Bildirimleri
CVE-2018-8292 .NET Core Bilgilerin Açığa Çıkması ile İlgili Güvenlik Açığı
Visual Studio 2017 sürüm 15.8.8
yayın tarihi: 24 Ekim 2018
15.8.8 Sürümünde Düzeltilen Başlıca Sorunlar
Müşteriler tarafından bildirilen ve 15.8.8 sürümünde giderilen sorunlar şunlardır:
- PCH yoluyla dahil edilen STL türleri için /DEBUG:FASTLINK hata ayıklama bilgisi yok.
- 15.8 RTW derleyicisinde hatalı codegen görüldü.
- İşlev satır içinde kullanılırken geriye doğru yığın izlemesinde yığın bozulması.
- Bağlayıcı, belirli test çalışması için 6 GB bellek tüketiyor.
Visual Studio 2017 sürüm 15.8.9
yayın tarihi: 2 Kasım 2018
15.8.9 Sürümünde Düzeltilen Başlıca Sorunlar
Müşteriler tarafından bildirilen ve 15.8.9 sürümünde giderilen sorunlar şunlardır:
- Xamarin için Visual Studio Araçları’nda Xcode 10.1 için destek eklendi.
- Xamarin.Forms şablonu, Xamarin.Forms 3.3.0 için güncelleştirildi.
- Güncelleştirme 15.8.6, Yükleyici Projelerini kesiyor.
- VS15.8 msc1.cpp dosyasının 1518. satırında İç Derleyici hatası.
- Microsoft Visual Studio 2017 Yükleyici Projeleri 0.8.8 ve VS 15.8.6.
- SFINAE, VS Preview 3 15.9.0 sürümünde eşleşen aşırı yüklenmiş işlevi algılayamıyor.
- XAML Tasarımcısı, Visual Studio kapatılırken kilitleniyor.
Bilinen Sorunlar
Visual Studio 2017 sürüm 15.8’deki tüm bilinen sorunları ve sunulan geçici çözümleri görüntüleyin.
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. 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.
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.