Catatan Rilis Visual Studio 2017 versi 15.5
Persyaratan | Sistem Komunitas | Pengembang Kompatibilitas | Persyaratan Lisensi Yang | Dapat Didistribusikan Blog Persyaratan | Lisensi yang Diketahui |
Catatan
Ini bukan versi terbaru Visual Studio. Untuk mengunduh rilis terbaru, kunjungi situs Visual Studio .
Jangka Waktu Dukungan
Versi ini sekarang tidak didukung. Untuk informasi selengkapnya tentang dukungan Visual Studio, silakan tinjau Kebijakan Dukungan untuk Visual Studio 2017.
Lihat versi terbaru catatan rilis atau kunjungi situs Visual Studio untuk mengunduh versi terbaru Visual Studio 2017 yang didukung.
Visual Studio Blog
Blog Visual Studio adalah sumber resmi wawasan produk dari Tim Teknik Visual Studio. Anda dapat menemukan informasi mendalam tentang rilis Visual Studio versi 15.5 di postingan berikut:
- Visual Studio 2017 versi 15.5 -- Baca posting blog terbaru!
Rilis Visual Studio 2017 versi 15.5
- 20 Februari 2018 -- Visual Studio 2017 versi 15.5.7
- 29 Januari 2018 -- Visual Studio 2017 versi 15.5.6
- 25 Januari 2018 -- Visual Studio 2017 versi 15.5.5
- 16 Januari 2018 -- Visual Studio 2017 versi 15.5.4
- 9 Januari 2018 -- Visual Studio 2017 versi 15.5.3
- 14 Desember 2017 -- Visual Studio 2017 versi 15.5.2
- 7 Desember 2017 -- Visual Studio 2017 versi 15.5.1
- 4 Desember 2017 -- Visual Studio 2017 versi 15.5
Ringkasan Fitur Baru Penting di 15.5
- Kami menambahkan keandalan dan pembatalan ke alat penginstal VISUAL Studio IDE .
- Kami memperbarui dialog kesalahan untuk menampilkan informasi lebih lanjut untuk membantu menyelesaikan masalah penginstalan.
- Kami mengurangi waktu muat proyek C# dan Visual Basic yang besar.
- Anda sekarang dapat bekerja dengan submodul dan worktree Git, serta mengonfigurasi
fetch.prune
danpull.rebase
di Team Explorer. - Temukan informasi tentang saran keamanan .NET Core dan ASP.NET Core.
- Toolset pengkompilasi MSVC telah diperbarui ke versi 14.12.
- Pengkompilasi C# sekarang mendukung serangkaian fitur bahasa 7.2.
- Kami menambahkan dukungan proyek .NET Core SDK ke alat F# dan mengubah cara Anda memperoleh F#.
- Kami menambahkan Peningkatan Visual C++ ke pustaka Templat Standar.
- Kami meningkatkan pemformatan sintaks Razor di Alat Web Visual Studio.
- Kontainer Docker sekarang mendukung Dockerfiles multi-tahap.
- Anda sekarang memiliki Dukungan Angular 2 untuk file templat sebaris dan .ngml.
- Anda sekarang dapat membuka proyek yang diekspor dari pengkompilasi online ARM di Visual Studio.
- Buka folder sekarang mendukung tugas jarak jauh untuk menggunakan sistem build jarak jauh atau menjalankan perintah arbitrer.
- Kami menambahkan dukungan Sumber Tersemat saat penelusuran kesalahan, dan Edit dan Lanjutkan dukungan untuk PDB Tersemat.
- Referensi Layanan Web WCF untuk .Net Core sekarang menjadi bagian dari Visual Studio 15.5.
- Anda dapat men-debug aplikasi dalam produksi dengan Snapshot Debugger.
- Fitur penelusuran kesalahan Langkah-belakang IntelliTrace sekarang didukung.
- Anda dapat mengakses sumber daya Azure dari Visual Studio dengan Akses Bersyar yang diaktifkan.
- Proyek Add-in Web Office dan Proyek VSTO sekarang mendukung pengembangan dengan Office di Bursa Windows.
- Visual Studio Tools for Xamarin berisi dukungan yang diperbarui untuk Xamarin SDK untuk iOS dan Android.
- Proyek Unity sekarang secara otomatis dimuat ulang di Visual Studio saat Anda menambahkan atau menghapus skrip Unity.
- Test Explorer sekarang mendukung kerangka kerja pengujian Google secara default.
- Anda sekarang dapat mempratinjau XAML langsung saat mengetik di emulator Android.
- Proyek Pengemasan Windows sekarang memungkinkan Anda untuk menyertakan komponen UWP seperti:
BackgroundTasks
, ,AppServiceConnection
atauFullTrustProcessLauncher
. - Anda sekarang dapat mengonfigurasi pengiriman berkelanjutan dari alur kerja penerbitan proyek untuk menyebarkan proyek Anda secara otomatis ke Azure pada setiap perubahan kode ke repositori Anda.
Masalah Teratas Diperbaiki di 15.5
Ini adalah masalah yang dilaporkan pelanggan yang diatasi dalam rilis ini:
- Simpan Semua mencoba menyimpan tab kueri .sql tertutup.
- bin\roslyn file terkunci selama build.
- Karena Visual Studio 2017 versi 15.3, titik henti tidak berfungsi ketika charset file tidak sama dengan yang ada di .editorconfig (utf8 atau utf8-bom).
- Paket 'Microsoft.Net.4.6.FullRedist.NonThreshold,version=4.6.81.9' gagal diperbaiki.
- Visual Studio 2017 memiliki konflik dengan OneDrive sesuai permintaan (build orang dalam Windows 10).
- Kesalahan Akses Ditolak saat membuat kunci registri pada Windows 7.
- Startpage yang dinonaktifkan dibuka saat proyek ditutup.
- Ikon hilang setelah pembaruan.
- Visual Studio 2017 bekerja lambat selama penelusuran kesalahan ASP.NET.
- Visual Studio 2017 dibangun secara perlahan.
- Visual Studio dapat membekukan atau mengalami crash saat berjalan pada mesin yang diaktifkan pena.
Lihat semua masalah yang dilaporkan pelanggan diperbaiki di Visual Studio 2017 versi 15.5.
Detail Tentang Apa yang Baru di 15.5
Visual Studio 2017 versi 15.5.0
dirilis pada 4 Desember 2017
Fitur Baru di 15.5
Visual Studio IDE
Penyiapan dan Penginstalan
- Alat penginstal sekarang menghasilkan titik pemulihan Windows selama penginstalan.
- Tambahkan dan Hapus Program sekarang memiliki entri untuk setiap penginstalan Visual Studio. Penginstal Visual Studio sekarang mendukung modifikasi dan hapus instalan untuk setiap entri.
- Menginstal dari tata letak offline tidak lagi memerlukan penginstalan sertifikat perantara pada komputer yang terputus.
- Kami menambahkan peningkatan keandalan dan pembatalan dalam proses penginstalan dan pembaruan.
Dialog Kesalahan yang Diperbarui
Kami memperbarui dialog kesalahan untuk menampilkan informasi selengkapnya untuk membantu menyelesaikan masalah penginstalan menggunakan solusi potensial dari Komunitas Pengembang Visual Studio. (Gambar 1).

Performa
- Mengurangi waktu muat proyek C# dan Visual Basic yang besar.
- Mengurangi waktu untuk beralih konfigurasi antara debug dan rilis.
- Mengurangi waktu untuk menambahkan, menghapus, dan mengganti nama file dan folder dalam proyek .NET Core.
- Beban Solusi Ringan (LSL) yang tidak digunakan lagi karena waktu pemuatan solusi tanpa LSL telah berkurang.
Layanan Tersambung
- Kami memperbarui penyedia layanan Azure Storage untuk mendukung proyek ASP.NET Core yang menargetkan .NET Core.
Pembaruan Penjelajah Tim
Pembaruan terbaru untuk Team Explorer telah terinspirasi oleh umpan balik Anda tentang UserVoice.
Anda sekarang dapat bekerja dengan submodul dan worktree Git, serta mengonfigurasi fetch.prune
dan pull.rebase
di Team Explorer.
Visual Studio sekarang memperlakukan submodul dan worktree Git seperti repositori normal. Cukup tambahkan ke daftar Repositori Lokal Anda dan dapatkan pengkodian!
Harap dicatat bahwa untuk submodul, Anda masih tidak dapat melakukan tindakan apa pun yang memerlukan dukungan multi-repo (seperti melihat file di repositori induk dan file di submodul secara bersamaan).
Selain itu, sekarang lebih mudah untuk mengatur perilaku Git default Anda untuk memangkas pada setiap pengambilan dan untuk melakukan rebase pada setiap tarikan. Pemangkasan pada setiap pengambilan menghapus cabang pelacakan lokal yang tidak lagi ada di server dan membantu Anda menjaga daftar cabang Anda tetap bersih dan terbaru. Melakukan rebasing pada setiap tarikan membuat riwayat penerapan Anda tetap linier dan lebih mudah diikuti. Anda dapat menemukan opsi ini di Pengaturan Global dan Repositori.
.NET Core dan ASP.NET Core Security Advisories
Microsoft telah merilis saran keamanan untuk .NET Core dan ASP.NET Core. Detail dapat ditemukan dalam pengumuman yang sesuai di repositori .NET Core dan ASP.NET Core . Harap perhatikan informasi berikut:
Sertifikat Cacat CVE-2017-8585 dapat menyebabkan Penolakan Layanan: Ada kerentanan keamanan di .NET Core 1.0, 1.1 dan 2.0 di mana sertifikat cacat atau data berformat ASN.1 lainnya dapat menyebabkan penolakan layanan melalui perulangan tak terbatas di Linux dan macOS. Administrator sistem disarankan untuk memperbarui runtime .NET Core mereka ke versi 1.0.8, 1.1.5 dan 2.0.1. Pengembang disarankan untuk memperbarui .NET Core SDK mereka ke versi 2.0.3 atau 1.1.5.
Bypass CORS CVE-2017-8700 dapat mengaktifkan Pengungkapan Informasi: Ada kerentanan keamanan di ASP.NET Core 1.0 dan 1.1 di mana Berbagi Sumber Daya Lintas Asal (CORS) dapat dilewati, yang mengarah ke pengungkapan informasi.
Pengalihan Terbuka CVE-2017-11879 dapat menyebabkan Elevasi Hak Istimewa: Ada kerentanan keamanan di ASP.NET Core 2.0 di mana Pengalihan Terbuka ada, yang mengarah ke Elevasi Hak Istimewa.
Kerentanan Layanan Penolakan CVE-2017-11770 : Ada kerentanan keamanan di ASP.NET Core 1.0, 1.1 dan 2.0 ketika aplikasi dihosting melalui Windows Http.Sys di mana permintaan cacat dapat menyebabkan Penolakan Layanan.
Proyek baru yang dibuat dengan ASP.NET Core 1.0, ASP.NET Core 1.1 dan ASP.NET Core 2.0 sekarang menggunakan versi paket yang menyertakan pembaruan keamanan di atas. Untuk proyek yang ada, pengguna dapat memperbarui paket mereka ke versi yang lebih baru menggunakan dialog Kelola Paket NuGet.
Toolset Pengkompilasi MSVC
Di Visual Studio 2017 15.5, toolset pengkompilasi MSVC di Build Tools telah diperbarui ke versi ke 14.12, yang kompatibel dengan toolset 15.4 versi 14.11. Jika Anda mengalami masalah saat mengkompilasi kode Setelah meningkatkan ke Visual Studio 2017 15.5, Anda dapat memaksa penginstalan toolset 14.11 secara berdampingan dengan toolset 14.12. Toolset Visual Studio 2017 15.4 (14.11) dapat dipilih di bawah tab Komponen Individual, setelah menginstal beban kerja Desktop C++.
Apa yang Baru dalam Compiler C#
Pengkompilasi C# sekarang mendukung serangkaian fitur bahasa 7.2 termasuk:
- Dukungan untuk jenis yang
Span<T>
digunakan di seluruh Kestrel dan CoreFX melalui pengubahref struct
. readonly struct
pengubah: Memberlakukan bahwa semua anggota struktur adalahreadonly
. Ini menambahkan lapisan kebenaran ke kode dan juga memungkinkan pengkompilasi untuk menghindari penyalinan nilai yang tidak perlu saat mengakses anggota.in
parameters /ref readonly
returns: Memungkinkan struct yang tidak dapat dimodifikasi untuk diteruskan dengan aman dan dikembalikan dengan efisiensi yang sama dengan nilai yang dapatref
dimodifikasi.private protected
pengubah akses: Membatasi akses ke persimpanganprotected
daninternal
.- Argumen bernama non-trailing: Argumen bernama sekarang dapat digunakan di tengah daftar argumen tanpa persyaratan bahwa semua argumen berikut juga diteruskan oleh nama.
Alat Visual Studio Tools untuk Xamarin
Rilis ini berisi dukungan yang diperbarui untuk Xamarin SDK untuk iOS dan Android:
Tampilan Jalankan Langsung Saat Ini
Membangun antarmuka pengguna berbasis XAML semakin mudah dengan fitur Live Run Current View (Gambar 2) baru kami. Saat Anda membangun antarmuka pengguna Anda, lihat itu menjadi hidup saat Anda mengetik di emulator Android, tanpa harus menyimpan, mengkompilasi, atau menyebarkan ulang aplikasi.
Xamarin Live Player
Xamarin Live Player memungkinkan pengembang untuk terus menyebarkan, menguji, dan men-debug aplikasi mereka, langsung di perangkat iOS dan Android. Setelah mengunduh aplikasi Xamarin Live Player (tersedia di App Store atau di Google Play), Anda dapat memasangkan perangkat dengan Visual Studio dan mulai membangun aplikasi seluler hanya menggunakan Visual Studio dan perangkat seluler Anda. Dioptimalkan untuk Xamarin.Forms, Anda sekarang dapat memodifikasi XAML mereka dan melihat perubahan yang tercermin dalam momen di perangkat Anda tanpa harus mengkompilasi atau menunggu penyebaran penuh. Rilis ini menghadirkan banyak peningkatan pada fungsionalitas Xamarin Live kami, termasuk:
- Debug dan Eksekusi Langsung yang Lebih Cerdas: Pemutar Langsung sekarang secara otomatis menyesuaikan proyek start-up Anda ke platform yang benar saat menelusuri kesalahan ke Xamarin Live Player (Gambar 3). Misalnya, jika iOS dipilih dan perangkat Pemutar Langsung yang dipasangkan adalah Google Pixel, IDE akan menyarankan Anda mengubah proyek start-up ke Android.
- Status Penyebaran: Anda sekarang dapat melacak status "Debug" ke Xamarin Live Player dengan status penyebaran di bilah status.
- Integrasi Jendela Konsol dan Kesalahan: Output yang dicatat dalam aplikasi sekarang muncul di dalam jendela Konsol, dan kesalahan akan muncul di jendela Kesalahan di Visual Studio.
- Menu Konteks Eksekusi Langsung dan Pintasan Keyboard: Kami ingin memudahkan untuk memvisualisasikan UI XAML Anda secara instan, jadi kami menambahkan menu konteks dan pintasan keyboard untuk membuat pratinjau halaman XAML Anda cepat dan mudah.
- Pengalihan Dokumen Jalankan Langsung: Saat membangun UI, biasanya beralih di antara dokumen XAML yang berbeda. Mengubah dokumen aktif di Visual Studio secara otomatis secara langsung menjalankan halaman XAML apa pun yang telah Anda buka, sehingga Anda dapat dengan mudah beralih bolak-balik di antara halaman yang berbeda dan membuatnya tercermin di perangkat Anda secara instan.

Templat
File -> Proyek Baru -> Aplikasi Seluler (Gambar 4) semakin mudah dengan pembaruan wizard templat lintas platform untuk aplikasi iOS, Android, dan Windows, termasuk:
- Dukungan Standar .NET - Anda sekarang dapat membuat aplikasi Xamarin lintas platform baru yang menggunakan .NET Standard 2.0 sebagai strategi berbagi kode.
- Kotak Centang Platform Target - Pilih platform apa yang Anda pedulikan di File -> Baru.
PackageReference
- Semua templat sekarang default untuk menggunakanPackageReference
, cara mudah baru untuk mengelola paket NuGet di aplikasi Xamarin Anda.- Peningkatan performa terungkap - Templat sekarang harus terungkap jauh lebih cepat dari sebelumnya. Dalam kasus yang paling ekstrem, Anda mungkin melihat peningkatan hingga 40x dalam waktu yang belum terungkap.

Simulator iOS jarak jauh
Remoted iOS Simulator memberi Anda cara mudah untuk men-debug dan menguji aplikasi iOS pada simulator sepenuhnya dari Visual Studio di Windows. Ini mendukung semua yang dapat dilakukan iOS Simulator di Mac dan bahkan lebih - termasuk dukungan multi-sentuh! Dimulai di Visual Studio 2017 versi 15.5, Simulator iOS Jarak Jauh sekarang tersedia di semua Visual Studio Edition, termasuk Edisi Komunitas gratis.
Xamarin Android SDK Manager
Mengelola Android SDK Anda semakin mudah dengan Xamarin Android SDK Manager baru. Anda dapat menggunakan SDK Manager baru dengan membuka Tools -> Android -> Android SDK Manager di Visual Studio.
Peningkatan Alat F#
Dalam rilis Visual Studio 2017 15.5, kami berfokus pada dukungan alat F# untuk proyek .NET Core SDK. Berikut ini sekarang didukung:
- Anda dapat membuat aplikasi konsol .NET Core baru, pustaka .NET Standard, dan proyek pengujian unit .NET Core dari Proyek Baru File>.
- Kami menambahkan dukungan untuk proyek .NET Core dan .NET Standard yang ada.
- Kami menambahkan dukungan untuk proyek .NET Core SDK yang ada yang menargetkan versi .NET Framework.
- Referensi proyek-ke-proyek didukung.
- Kami menambahkan dukungan untuk proyek Web SDK (misalnya, proyek F# ASP.NET Core atau proyek menggunakan templat Jerami ).
- Sekarang Anda dapat mengklik kanan Terbitkan alat dengan proyek Web SDK.
- Pembuatan otomatis alur CI/CD dengan alat Visual Studio Team Services didukung.
Ada juga beberapa peningkatan pada alat Visual F# yang tidak berfokus pada proyek .NET Core SDK. Meliputi:
- Buka Definisi dari F# ke C#, oleh Saul Rennison dan Vasily Kirichenko.
- Warnaisasi untuk tema Biru (Kontras Ekstra), oleh Microsoft dan Vasily Kirichenko.
- Halaman properti sekarang berukuran otomatis dengan benar pada monitor yang berbeda.
- Inden otomatis pintar untuk baris baru saat indentasi diatur ke "Smart", oleh Duc Nghiem Xuan.
- Deindentasi otomatis untuk menutup tanda kurung saat indentasi diatur ke "Smart", oleh Saul Rennison.
- Bidang enumerasi sekarang dapat dilihat sebagai simbol dalam tipsalat, Temukan Semua Referensi, Buka Semua, dan Ganti Nama Sebaris, oleh Vasily Kirichenko.
- Komentar dokumen XML yang dipisahkan oleh baris baru tidak ditambahkan ke komentar dokumen XML saat ini di hovers, oleh Vasily Kirichenko.
- Dokumentasi XML untuk kata kunci ref telah diperbaiki oleh CHBen.
- Beberapa perbaikan bug dan peningkatan performa.
Silakan ajukan masalah apa pun yang Anda temukan di repositori GitHub kami.
Perubahan dalam Penyetelan F#
Kami telah mengubah cara Anda memperoleh F#:
- Jika Anda menginstal Beban Kerja yang memerlukan .NET Core 2.0, itu juga menginstal dukungan bahasa F# secara default. Beban kerja .NET Core, ASP.NET, dan Azure sekarang melakukan ini.
- Kotak centang "Dukungan bahasa F#" di pengembangan desktop .NET, Penyimpanan dan pemrosesan data, dan Beban kerja aplikasi sains data dan analitik telah diganti namanya menjadi "dukungan desktop F#".
Peningkatan Kompilator F# 4.1
Ada sejumlah perbaikan bug di kompilator F# 4.1 dengan rilis ini:
- Peningkatan pada generasi PDB di kompilator F#, memperbaiki lima masalah yang diketahui dalam debugging F# yang berasal dari tahun 2014.
- Perbaikan untuk bidang rekaman yang salah diselesaikan oleh pengkompilasi, oleh Vasily Kirichenko.
StartAsTask
sekarang benar menunggu pembatalan selesai, oleh Matthias Ditrich.- Referensi rakitan sekarang dibuat ketika jenis hanya digunakan dalam atribut.
- Penyatuan terdiskriminasi kasus tunggal dengan nama kasus yang sama tidak lagi dikonversi secara diam-diam ke jenis objek.
- Kemungkinan perulangan asinkron tanpa akhir pada
MailboxProcess
. Penerimaan telah diperbaiki.
Peningkatan Visual C++
Anda sekarang memiliki kemampuan untuk mengimpor proyek CMake dan konfigurasi cache yang ada ke IDE melalui File>Open>CMake.
Buka Dukungan Folder untuk Ekspor Kompilator Online ARM
Pilih opsi dalam beban kerja Linux C++ untuk proyek Embedded dan IoT dan Anda dapat mengedit dan mengkompilasi proyek yang menargetkan mikrokontroler ARM. Kami mendukung proyek pembukaan yang diekspor sebagai GCC dari kompilator online ARM yang kemudian dapat dikompilasi silang secara lokal dari dalam Visual Studio. Untuk informasi selengkapnya, lihat posting blog kami di Visual C++ untuk pengembangan ARM.
Tugas Jarak Jauh
Buka folder sekarang mendukung tugas jarak jauh. Ini adalah tugas yang dijalankan pada sistem jarak jauh melalui Secure Shell (SSH). Tugas-tugas ini juga dapat dikonfigurasi untuk menyalin file ke komputer target untuk melakukan hal-hal seperti mengkompilasi kode dengan make pada sistem Linux. Untuk mempelajari lebih lanjut, lihat posting blog kami tentang menggunakan tugas jarak jauh di Visual Studio.
Penyempurnaan untuk Pustaka Templat Standar
Situs web Open Standards menyimpan sejumlah halaman untuk grup yang menghasilkan standar terbuka. Kami menambahkan peningkatan ini ke Pustaka Templat Standar mengenai standar C++17:
not_fn()
: P0005R4 merekomendasikan untuk mengadopsi pengikatnot_fn
fungsi dari Dasar-Dasar Pustaka TS v2 sebagai pengganti negator lama,not1
dannot2
.- Kata sandi ulang
enable_shared_from_this
: P0033R1Re-enabling shared_from_this
. - Komponen Pustaka Vestigial yang tidak digunakan lagi: P0174R2. Sejumlah fitur pustaka C++ Standard telah melampaui penambahan selama bertahun-tahun, atau kami telah belajar tidak melayani tujuan yang dimaksudkan serta yang semula diharapkan. Makalah ini mengusulkan fitur yang tidak digunakan lagi di mana opsi yang lebih baik, lebih sederhana, atau lebih jelas tersedia.
- Menghapus Dukungan Alokator Di
std::function
: P0302R1. Templat kelas std::function memiliki beberapa konstruktor yang mengambil argumen alokator, tetapi semantik tidak jelas, dan ada masalah teknis dengan menyimpan alokator dalam konteks yang dihapus jenis dan kemudian memulihkan alokator tersebut nanti untuk alokasi apa pun yang diperlukan selama penugasan salin. Konstruktor tersebut harus dihapus. - Perbaikan untuk
not_fn()
: P0358R1. Kata-kata baru untukstd::not_fn
diusulkan, bahwa di antara perbaikan lainnya, memberikan dukungan propagasi kategori nilai dalam kasus pemanggilan pembungkus. shared_ptr<T[]>
,shared_ptr<T[N]>
: P0414R2.shared_ptr
Menggabungkan perubahan dari Dasar-Dasar Pustaka ke C++17.- Memperbaiki
shared_ptr
untuk Array: P0497R0. Perbaikan untukshared_ptr
mendukung array. - Tidak digunakan lagi
shared_ptr::unique()
: P0521R0. Resolusi yang Diusulkan untuk CA 14 (shared_ptr use_count/unique
). - Penghentian
codecvt
: P0618R0,<codecvt>
bukan cara terbaik untuk mengatasi transcoding Unicode, komponen pustaka ini harus dihentikan ke Annex D. - Menghapus Spesifikasi Pengecualian Dinamis: P0003R5. Spesifikasi pengecualian dinamis tidak digunakan lagi di C++11. Menghapus fitur dari C++17, sambil mempertahankan spesifikasi (still) deprecated throw() secara ketat sebagai alias untuk noexcept(true).
- Splicing Maps and Sets: P0083R3. Desain ini memungkinkan operasi splicing dari semua jenis, memindahkan elemen (termasuk kunci peta) dari kontainer, dan sejumlah operasi dan desain berguna lainnya. Ini adalah peningkatan pada kontainer asosiatif dan asosiatif yang tidak terorderasi untuk mendukung manipulasi simpul. Ini adalah tambahan murni untuk Pustaka Standar.
- Mengklarifikasi
insert_return_type
: P0508R0. Kontainer asosiatif dengan kunci unik, dan kontainer yang tidak diurutkan dengan kunci unik memiliki sisipan fungsi anggota yang mengembalikan jenisinsert_return_type
berlapis . Jenis pengembalian tersebut adalah spesialisasi dari jenis yang ditentukan di bagian ini. - Variabel Sebaris untuk STL: P0607R0.
Peningkatan Pengkompilasi Visual C++
Kompilator Visual C++ mendukung sekitar 75% dari fitur C++17, termasuk pengikatan terstruktur, constexpr
lambda, if constexpr
, variabel sebaris, ekspresi lipatan, literal hexfloat, dan menambahkan noexcept
ke sistem jenis. Ini tersedia di bawah sakelar /std:c++17
. Mode /permissive-
kesuaian mencakup dukungan parsial untuk pencarian nama dua fase dan dukungan ekspansi paket yang ditingkatkan untuk templat variadik. Selain itu, /permissive-
mode telah ditambahkan sebagai menu drop-down Bahasa baru di properti proyek untuk proyek C++.
Peningkatan Pengoptimal Visual C++
Tim pembuatan kode C++ telah melakukan peningkatan pada pengoptimalan kompilator yang ada, dan menambahkan pengoptimalan baru dalam rilis 15.5.
Pilih peningkatan linker:
- Anda akan mengalami implementasi baru dan lebih cepat
/OPT:ICF
: hingga 9% kecepatan waktu tautan. - Kami membuat perbaikan untuk penautan inkremental. Penautan inkremental tidak akan pernah lebih lambat daripada penautan penuh.
Pilih penyempurnaan pada pengoptimalan yang ada:
- Kami meningkatkan heuristik vektorizer untuk ekspresi bersyarah.
- Kami meningkatkan
loop-if-unswitching
pengoptimalan. - Kami melakukan perbaikan untuk unrolling perulangan.
- Kami meningkatkan codegen float min/max.
Pilih pengoptimalan baru:
- Kami meningkatkan dan menghilangkan instruksi redundan (dan sebagian redundan) ke Pengoptimal SSA.
- Kami mengoptimalkan vektorisasi penyimpanan skalar bersyarat.
- Kami menggabungkan panggilan
sin(x)
dancos(x)
kesincos(x)
.
Visual C++ mendukung AVX-512 Intel, termasuk instruksi Panjang Vektor yang membawa fungsi baru dalam register lebar AVX-512 hingga 128- dan 256-bit.
Kami mengirimkan lebih dari 20 pemeriksaan Pedoman Inti C++ baru dalam analisis kode C++. Pemeriksaan ini mencakup kebenaran pointer pintar, penggunaan penginisialisasi global yang benar, dan penggunaan pembuatan belalai seperti goto
dan bad_cast
.
Beberapa nomor peringatan yang mungkin Anda temukan di 15.3 tidak lagi tersedia di 15.5. Peringatan ini diganti dengan pemeriksaan yang lebih spesifik.
Dukungan Bawaan untuk Google Test dan Boost.Test Framework
Tulis, temukan, dan jalankan pengujian unit Google Test dan Boost.Test Anda di Visual Studio. Secara default, Test Explorer sekarang mendukung kerangka kerja Google Test dan Boost.Test. Jika Anda meningkatkan dari penginstalan Visual Studio sebelumnya, buka Penginstal Visual Studio, klik "Ubah" pada instans Visual Studio Anda, dan centang kotak "Uji Adapter untuk Google Test" dan "Uji Adapter untuk Boost.Test" di bawah "Pengembangan desktop dengan C++". Buat proyek Google Test baru dengan mudah: pilih File > New > Project > Visual C++ > Test > Google Test.
Untuk informasi selengkapnya, lihat Halaman Cara menggunakan Google Test for C++ di Visual Studio dan Cara menggunakan Boost.Test untuk C++ di halaman Visual Studio di Microsoft Docs.
Alat Web Visual Studio
- Pemformatan sintaks razor telah ditingkatkan.
- Kami meningkatkan pengalaman untuk menerbitkan aplikasi ASP.NET ke Azure Virtual Machines.
Alat Kontainer Docker
- Alat Visual Studio untuk kontainer Docker sekarang mendukung Dockerfiles multi-tahap, untuk menyederhanakan pembuatan gambar kontainer yang dioptimalkan.
- Jika Anda menjalankan Visual Studio pada komputer yang menjalankan Windows 10 versi 1709 atau Windows Server versi 1709, gambar kontainer Anda akan menggunakan Windows Server versi 1709 secara default. Anda dapat mengubahnya dengan mengedit Dockerfile. Harap dicatat bahwa gambar kontainer yang menggunakan versi Windows yang lebih lama hanya akan berjalan pada Windows 10 versi 1709 dan Windows Server versi 1709 dalam mode isolasi Hyper-V. Untuk detail selengkapnya, silakan lihat halaman Kompatibilitas Versi Kontainer Windows.
- Secara default, Visual Studio akan secara otomatis menarik, membangun, dan menjalankan gambar kontainer yang diperlukan di latar belakang saat Anda membuka proyek yang memiliki dukungan Docker. Anda dapat menonaktifkan ini melalui pengaturan Mulai kontainer secara otomatis di latar belakang di Visual Studio.
Penyempurnaan TypeScript/JavaScript
Dukungan Angular 2
Pengembang Angular2 sekarang dapat melihat kesalahan, penyelesaian, dan navigasi kode dalam templat sebaris dan file templat .ngml. Lihat repositori sampel untuk gambaran umum dan instruksi.
Peningkatan Performa
Kami menambahkan Hanya menganalisis proyek yang berisi file yang dibuka di kotak centang editor di bawah halaman Opsi Proyek Editor Teks JavaScript/TypeScript. Opsi ini akan meningkatkan performa dan keandalan dalam solusi besar. Perhatikan bahwa ketika kotak ini dicentang, Anda harus melakukan build Solusi untuk melihat daftar lengkap kesalahan TypeScript di semua file.
Kami memperbaiki masalah yang menyebabkan layanan bahasa TypeScript/JavaScript menggunakan lebih banyak memori daripada yang dimaksudkan dan dapat menyebabkan versi TypeScript yang salah dimuat dalam solusi multi-proyek.
Alat Windows Communication Foundation (WCF)
Penyedia layanan terhubung WCF Web Service Reference (Gambar 5) sekarang menjadi bagian dari Visual Studio 15.5.

Untuk menggunakan alat ini, klik kanan pada item proyek Dependensi di proyek .Net Core Anda dan pilih opsi Tambahkan Layanan Tersambung, dan masukkan alamat layanan web yang ingin Anda buat kodenya. Kode proksi klien WCF yang dihasilkan disimpan ke dalam file C# yang secara otomatis ditambahkan ke proyek Anda. Ini memungkinkan kode berbasis .NET Core Anda untuk dengan mudah berkomunikasi dengan layanan web.
Silakan kunjungi catatan rilis Referensi Layanan Web WCF di GitHub untuk detail selengkapnya.
Penelusuran Kesalahan dan Diagnostik
Debug Aplikasi Dalam Produksi dengan Snapshot Debugger
Anda sekarang dapat menggunakan Snappoints dan Logpoints untuk men-debug aplikasi ASP.NET dan ASP.NET Core yang berjalan di Azure App Services dengan dampak minimal ke aplikasi.
- Atur Snappoints (Gambar 6) untuk mengambil status aplikasi Anda, termasuk Lokal, Jam Tangan, dan Tumpukan Panggilan. Tidak seperti titik henti, aplikasi Anda tidak berhenti saat Snappoint dipukul.

- Gunakan Logpoints (Gambar 7) untuk mencatat pesan baru dari aplikasi Anda tanpa perlu menambahkan kode atau menyebarkan ulang aplikasi Anda.

Sumber Tersemat dan Dukungan PDB Tersemat
Dengan Sumber Tersemat, Visual Studio Debugger sekarang dapat mengekstrak dan menggunakan file sumber untuk biner terkelola langsung dari file PDB. Gabungkan Sumber Tersemat dengan PDB Tersemat untuk membuat biner yang dapat di-debug sepenuhnya mandiri. Pelajari selengkapnya tentang menggunakan sakelar kompiler /embed.
Sekarang Anda juga dapat men-debug menggunakan Edit dan Lanjutkan untuk kode terkelola saat membangun dengan PDB Tersemat.
Langkah mundur Saat Debugging dengan IntelliTrace
Dengan fitur penelusuran kesalahan IntelliTrace Step-back baru, IntelliTrace secara otomatis mengambil rekam jepret aplikasi Anda pada setiap langkah titik henti dan debugger. Ini memungkinkan Anda untuk kembali ke titik henti atau langkah-langkah sebelumnya dan melihat status aplikasi seperti di masa lalu.
Fitur ini tersedia di Windows 10 Anniversary Update dan yang lebih baru, dan saat ini mendukung penelusuran kesalahan ASP.NET, WinForms, WPF, aplikasi konsol terkelola, dan pustaka kelas terkelola (Gambar 8). Untuk mengaktifkan fitur, buka Opsi>Alat>Pengaturan IntelliTrace dan pilih peristiwa dan rekam jepret IntelliTrace.

Mengakses Sumber Daya Azure dari Visual Studio dengan Akses Bersyarah Diaktifkan
Visual Studio sekarang mendukung akses ke sumber daya Azure yang mengaktifkan akses bersyarat yang mengharuskan Anda untuk mengautentikasi dengan 2FA, bahkan jika akun Anda sendiri tidak memerlukan 2FA. Sebelumnya, jika akun Anda memerlukan 2FA untuk masuk, Visual Studio akan meminta 2FA dan Anda kemudian dapat mengakses sumber daya apa pun yang memerlukan 2FA; tetapi jika akun Anda tidak memerlukan 2FA, Visual Studio akan gagal mengakses sumber daya 2FA tersebut.
Sekarang, ketika akun tidak memerlukan 2FA tetapi sumber daya melakukannya, Anda dapat mengautentikasi akun Anda dalam Visual Studio tanpa 2FA, dan ketika Anda pertama kali mencoba mengakses sumber daya Azure yang memerlukan 2FA, Visual Studio meminta Anda untuk mengautentikasi ulang dan memerlukan 2FA untuk mengaktifkan akses ke sumber daya Anda.
Dukungan Office Tooling untuk Office di Bursa Windows
Proyek Add-in Web Office dan Proyek VSTO sekarang mendukung pengembangan dengan Office di Bursa Windows. Anda dapat membuat, membangun, men-debug, dan menerbitkan proyek Add-in Web dan proyek VSTO menggunakan Office di Bursa Windows.
- Fall Creators Update (versi 1709) untuk Windows 10 atau Windows Server 2016 diperlukan untuk menggunakan Office Tooling dengan Office di Bursa Windows.
Alat Visual Studio untuk Unity
- Proyek Unity sekarang secara otomatis dimuat ulang di Visual Studio saat Anda menambahkan atau menghapus skrip dari Unity.
- Tetap. Pembuatan proyek pemain saat mengerjakan game UWP dengan backend IL2CPP/.NET 4.6.
- Memperkenalkan opsi untuk menggunakan debugger Mono yang dibagikan oleh Xamarin dan Visual Studio untuk Mac untuk men-debug Editor Unity.
Pengujian Unit Langsung
- Build Pengujian Unit Langsung sekarang di luar proses meningkatkan pemanfaatan memori di Visual Studio.
Kemasan Windows
Kami menambahkan dukungan dalam proyek pengemasan untuk menyertakan aplikasi dan komponen UWP yang membantu memanfaatkan kemampuan Windows 10 terbaru dari aplikasi desktop Anda yang ada. Untuk menyertakan komponen UWP, Anda dapat Add Reference
ke aplikasi UWP (Gambar 9).

Anda dapat menggunakan wizard paket penyimpanan untuk menghasilkan file yang Anda butuhkan untuk mengirimkan aplikasi Desktop Bridge Anda ke penyimpanan, seperti halnya proyek UWP yang ada.
Visual Studio 2017 versi 15.5.1
dirilis pada 7 Desember 2017
Masalah Teratas Diperbaiki di 15.5.1
Ini adalah masalah yang dilaporkan pelanggan yang diatasi dalam rilis ini:
- Versi yang salah
xamarin.forms
dirujuk dalam templat. - Beralih cabang di Git memutus IntelliSense.
- Kesalahan dilaporkan ketika tidak ada (proyek Visual Basic).
- Xamarin sekarang mendukung Xcode 9.2:
Visual Studio 2017 versi 15.5.2
dirilis pada 14 Desember 2017
Masalah Teratas Diperbaiki di 15.5.2
Ini adalah masalah yang dilaporkan pelanggan yang diatasi dalam rilis ini:
- Proyek Android Xamarin tidak dapat dibuat karena
R$anim.class
sedang digunakan. - Gagal memuat paket
MonoAndroidDesignerPackage
. - Crypto++ dengan pengoptimalan default termasuk dalam kompilasi tak terbatas saat mencoba mengoptimalkan blake2.cpp.
- Migrasi dari VS2017 15.4 ke 15.5 menyebabkan CS026 - "Jenis atau nama namespace XXX tidak dapat ditemukan..." kesalahan.
- Menginstal Visual Studio 2017 Community 15.5 dengan
Option Strict On
membuat kesalahan Intellisense dalam proyek VB. - Waktu kompilasi tak terbatas saat mencoba mengoptimalkan blake2.cpp.
- Mesin acak mengalami crash di pengoptimal VS 15.5.
- Migrasi ke VS 15.5 (dari 15.4) tidak dapat mengkompilasi
mhook:disasm_x86.c
. - Unity + vs Community 15.5 baru menginstal hasil di namespace tidak dikenali.
Visual Studio 2017 versi 15.5.3
dirilis pada 9 Januari 2018
Ringkasan Pembaruan dalam 15.5.3
Microsoft Security Advisories untuk .NET Core
CVE-2018-0786 Security Feature Bypass di X509 Certificate Validation Microsoft merilis saran keamanan ini untuk memberikan informasi tentang kerentanan dalam versi publik .NET Core 1.0 dan 1.1, dan 2.0. Saran ini juga memberikan panduan tentang apa yang dapat dilakukan pengembang untuk memperbarui aplikasi mereka dengan benar. Saran keamanan ini juga berlaku untuk .NET native untuk UWP.
Microsoft mengetahui kerentanan keamanan dalam versi publik .NET Core di mana penyerang dapat menyajikan sertifikat yang ditandai tidak valid untuk penggunaan tertentu, tetapi komponen menggunakannya untuk tujuan tersebut. Tindakan ini mengacuhkan pemberian tag Penggunaan Kunci yang Ditingkatkan.
Pembaruan keamanan mengatasi kerentanan dengan memastikan bahwa komponen .NET Core sepenuhnya memvalidasi sertifikat. Administrator sistem disarankan untuk memperbarui runtime .NET Core mereka ke versi 1.0.9, 1.1.6 dan 2.0.5. Pengembang disarankan untuk memperbarui .NET Core SDK mereka ke versi 2.1.4 atau 1.1.7.
Penolakan Layanan CVE-2018-0764 saat mengurai dokumen XML Microsoft merilis saran keamanan ini untuk memberikan informasi tentang kerentanan dalam versi publik .NET Core 1.0 dan 1.1, dan 2.0. Saran ini juga memberikan panduan tentang apa yang dapat dilakukan pengembang untuk memperbarui aplikasi mereka dengan benar.
Microsoft menyadari kerentanan Penolakan Layanan di semua versi publik .NET core karena pemrosesan dokumen XML yang tidak tepat. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menyebabkan penolakan layanan terhadap aplikasi .NET. Penyerang jarak jauh yang tidak diautentikasi dapat mengeksploitasi kerentanan ini dengan mengeluarkan permintaan yang dibuat secara khusus ke aplikasi .NET Core.
Pembaruan membahas kerentanan dengan mengoreksi cara inti .NET menangani pemrosesan dokumen XML. Administrator sistem disarankan untuk memperbarui runtime .NET Core mereka ke versi 1.0.9, 1.1.6 dan 2.0.5. Pengembang disarankan untuk memperbarui .NET Core SDK mereka ke versi 2.1.4 atau 1.1.7.
Masalah Teratas Diperbaiki di 15.5.3
Ini adalah masalah yang dilaporkan pelanggan yang diatasi dalam rilis ini:
- Kesalahan C3821 di
xlocale
c++/clr. - Menggunakan header di dalam bagian kode yang tidak dikelola dari proyek C++/CLI terkelola tidak lagi dibuat.
- VS2017 dengan WDK 10 gagal selama KM provisi jarak jauh.
- Alat visual studio untuk Unity gagal mengonversi simbol debug setelah meningkatkan ke VS 15.5.
- Temukan informasi baru mengenai Microsoft Security Advisories untuk .NET Core.
Visual Studio 2017 versi 15.5.4
dirilis pada 16 Januari 2018
Masalah Teratas Diperbaiki di 15.5.4
Ini adalah masalah yang dilaporkan pelanggan yang diatasi dalam rilis ini:
- Debugger tidak dapat melanjutkan proses. Operasi tidak didukung. Kesalahan tidak diketahui: 0x9233000b.
- Proyek dan Solusi Terbaru tidak diisi setelah dijalankan.
- Build penuh setiap kali dengan 15,5.
- Kesalahan IntelliSense yang salah masih ditampilkan pada VS 15.5.2 untuk proyek Visual Basic.
- VS2017 15.5.2 Referensi tidak terselesaikan saat "Izinkan inisialisasi proyek paralel" diaktifkan.
- Meningkatkan ke 15.5.2: tidak dapat meluncurkan atau memperbaiki VS.
- Masalah penginstalan VS2017.
- Tidak dapat menginstal karena BSoD.
Visual Studio 2017 versi 15.5.5
dirilis pada 25 Januari 2018
Ringkasan Pembaruan dalam 15.5.5
- Pengkompilasi MSVC telah diperbarui dengan dukungan untuk sakelar /Qspectre yang secara otomatis menyisipkan penghalang spekulasi ketika kompilator mendeteksi instans varian Spectre 1. Untuk informasi selengkapnya tentang /Qspectre, silakan lihat Blog Tim Visual C++.
Masalah Teratas Diperbaiki di 15.5.5
Ini adalah masalah yang dilaporkan pelanggan yang diatasi dalam rilis ini:
- Aplikasi Xamarin melemparkan
Cannot access a disposed object. Object name: 'MobileAuthenticatedStream'
kesalahan. - Aplikasi Xamarin.Android melempar
ClassNotFoundException
saat turun dariApplication
kelas. - Peningkatan dapat menyebabkan SDK Windows dan Android yang diinstal sebelumnya dihapus instalasinya.
- JDK 8 terbentur ke versi terbaru untuk menghindari kegagalan unduhan dari situs web Oracle.
Visual Studio 2017 versi 15.5.6
dirilis pada 29 Januari 2018
Ringkasan Pembaruan di 15.5.6
Visual Studio 2017 versi 15.5.7
dirilis pada 20 Februari 2018
Ringkasan Pembaruan dalam 15.5.7
- Team Explorer mendukung TLSv1.2. Kami telah memperbarui komponen Git dan Git Credential Manager yang dikirim di Visual Studio. Komponen Git untuk Windows opsional juga telah diperbarui. Pembaruan ini memungkinkan Git untuk terhubung ke layanan yang telah menghentikan dukungan untuk TLSv1 dan TLSv1.1 demi TLSv1.2.
Masalah Teratas Diperbaiki di 15.5.7
Ini adalah masalah yang dilaporkan pelanggan yang diatasi dalam rilis ini:
- Proyek yang menargetkan .NET Core 2.1 atau yang lebih baru tidak didukung oleh Visual Studio 2017 versi 15.5.
- Memperbaiki masalah saat penginstalan SDK untuk .NET Core 2.1 atau yang lebih baru akan menyebabkan opsi untuk membuat aplikasi Web ASP.NET Core 2.0 menghilang.
Masalah yang Diketahui
Kami berkomitmen penuh untuk mendengarkan umpan balik Anda. Kunjungi situs Komunitas Pengembang untuk menemukan masalah terbaru, mencatat masalah baru, dan meningkatkan masalah yang ada.
Lihat semua masalah yang diketahui dan solusi yang tersedia di Visual Studio 2017 versi 15.5.
Umpan Balik & Saran
Kami ingin mendengar pendapat Anda! Untuk masalah, beri tahu kami melalui opsi Laporkan Masalah di sudut kanan atas alat penginstal atau IDE Visual Studio itu sendiri. Ikon terletak di sudut kanan atas.
Anda dapat membuat saran produk atau melacak masalah Anda di Komunitas Pengembang Visual Studio, tempat Anda dapat mengajukan pertanyaan, menemukan jawaban, dan mengusulkan fitur baru.
Anda juga bisa mendapatkan bantuan pemasangan gratis melalui dukungan Live Chat kami.
Blog
Manfaatkan wawasan dan rekomendasi yang tersedia di situs Blog Alat Pengembang untuk memberi Anda informasi terbaru tentang semua rilis baru dan sertakan postingan mendalam tentang berbagai fitur.
Riwayat Catatan Rilis Visual Studio 2017
Untuk informasi selengkapnya yang berkaitan dengan versi Visual Studio 2017 sebelumnya, lihat halaman Riwayat Catatan Rilis Visual Studio 2017.