Bagikan melalui


Ikon Visual StudioCatatan Rilis Visual Studio 2015 Update 3

Istilah | Lisensi Komunitas Pengembang Blog | Visual Studio

Catatan

Ini bukan versi terbaru Visual Studio. Untuk mengunduh rilis terbaru, silakan kunjungi catatan rilis saat ini untuk Visual Studio 2019.


Rilis Visual Studio 2015

Anda dapat melihat catatan rilis untuk semua versi Visual Studio 2015:

Unduh Visual Studio 2015

Anda dapat mengunduh Visual Studio 2015 dari My.VisualStudio.com. My.VisualStudio.com memerlukan langganan Dev Essentials gratis, atau Langganan Visual Studio.


Ikon Catatan RilisVisual Studio 2015 Update 3

Tanggal Rilis: 27 Juni 2016

Ringkasan Apa yang Baru dalam Rilis ini


Apa yang Baru dalam Rilis ini

Alat untuk Apache Cordova

Catatan

Versi Node.js yang diinstal dengan Visual Studio 2015 Update 3 sudah kedaluarsa. Untuk memperbarui ke rilis yang lebih baru, pelajari selengkapnya tentang cara Memperbarui Node.js dengan aman.

Visual Studio 2015 Update 3 menyertakan Alat untuk Apache Cordova Update 10, termasuk peningkatan di bawah ini. dan Pembaruan 10. Untuk berita terbaru tentang alat kami, kunjungi Blog Pengembang kami di GitHub.

  • Kami telah menambahkan dukungan untuk Cordova 6.1.1, versi default untuk proyek baru.
  • Kami telah menghentikan Cordova Plugin Registry yang digunakan di Cordova 4.x, yang berarti bahwa kami sekarang memerlukan minimal Cordova 5.x atau yang lebih baru untuk menambahkan plugin.
  • Daftar Plugin Inti telah diperbarui dan sekarang menyertakan plugin untuk skenario perusahaan, seperti Intune, keterlibatan Azure, keamanan, dan penyimpanan lokal SQLite.
  • Anda sekarang dapat menambahkan plugin dari perancang konfigurasi baik dengan nama paket npm atau dengan ID.

cordova-add-plugin-byid

  • Anda juga dapat menambahkan plugin yang memerlukan parameter dari perancang konfigurasi.

plugin-parameters

Alat Analitik Pengembang

Kami telah menambahkan peningkatan berikut di Alat Analitik Pengembang v7.0.2:

  • Application Insights Trends, alat untuk menemukan tren dalam telemetri aplikasi Anda.
  • Telemetri pengecualian di CodeLens.
  • Informasi telemetri produksi ditambahkan ke pengecualian dalam Alat Diagnostik.
  • Dukungan untuk menambahkan Application Insights ke ASP.NET proyek Core RC2 dari Visual Studio.
  • Peristiwa Alat Diagnostik untuk proyek ASP.NET 5 RC1 dan ASP.NET Core RC2.
  • Refresh otomatis Pencarian Application Insights saat filter detail, rentang waktu, dan peristiwa dipilih.
  • Buka Kode dari permintaan di Pencarian.
  • Pengalaman masuk HockeyApp yang ditingkatkan.

Untuk informasi selengkapnya, lihat catatan rilis teknis dalam dokumentasi Microsoft Azure.

Penelusuran Kesalahan dan Diagnostik

Dukungan Alat Diagnostik untuk aplikasi yang berjalan di perangkat OneCore, termasuk HoloLens dan IOT, telah ditambahkan di Pembaruan 3.

C++ Edit dan Lanjutkan penyempurnaan:

  • Performa dan keandalan yang lebih baik saat FASTLINK diaktifkan.
  • Aplikasi perubahan kode yang berhasil pada pustaka statis tidak lagi menghasilkan Kode Kedaluarsa.
  • Peringatan C4656 tidak akan lagi muncul untuk perubahan jenis positif palsu selama kompilasi ulang.
  • Dukungan untuk menambahkan jenis baru dengan nama yang sama melintasi beberapa unit kompilasi.

Peningkatan Debugging UI XAML:

  • Setiap kali fokus berubah di aplikasi Anda, fitur Lacak Fokus baru di Live Visual Tree akan menyebabkan pemilihan di Pohon Visual Langsung diperbarui ke elemen yang saat ini difokuskan.

Visual Studio IDE

Langganan dan kunci produk

Kami telah membahas umpan balik di Pembaruan 3 dari pelanggan yang menggunakan langganan melalui identitas online atau kunci produk untuk membuka kunci IDE, dengan cara berikut:

  • Anda tidak lagi diharuskan mengunjungi https://my.visualstudio.com untuk mengaktifkan langganan Visual Studio Cloud yang ditetapkan, dan dapat segera mulai menggunakan Visual Studio IDE segera setelah langganan ditetapkan.
  • Kami telah meningkatkan penanganan kesalahan saat menerapkan kunci produk.
  • Semua akun pengguna dan operasi lisensi sekarang diamankan dengan menggunakan HTTPS.
  • Kami telah melakukan penyempurnaan aksesibilitas dalam dialog Pengaturan Akun untuk mengaktifkan langganan dan memasukkan kunci produk.
  • Autentikasi ulang setiap ~8 hari tidak lagi diperlukan untuk menjaga akun personalisasi tetap aktif dan menyinkronkan pengaturan roaming.

Alat untuk Universal Windows Apps

Visual Studio 2015 Update 3 dilengkapi dengan beberapa penyempurnaan pada alat untuk aplikasi Universal Windows. Peningkatan kunci memungkinkan Anda masuk dengan kredensial Azure Active Directory untuk akun AAD Store saat membuat paket untuk dikirimkan ke Bursa Windows. Setelah proyek dikaitkan dengan Bursa Windows, Anda tidak perlu lagi masuk untuk membuat paket untuk dikirimkan ke Bursa.

.NET Native untuk Aplikasi Windows Universal

.NET Native 1.4 adalah rilis layanan kecil yang meningkatkan performa, mengatasi beberapa bug yang dilaporkan pelanggan dan meningkatkan waktu kompilasi build rilis aplikasi besar. Aplikasi XAML dan game Unity yang menggunakan .NET Native 1.4 akan memiliki performa runtime yang lebih baik. Peningkatan ini dicapai dengan membuat refleksi dan panggilan API asli lebih cepat.

Alat Arsitektur

Kami telah membahas umpan balik dari pelanggan tentang meningkatkan performa dan keandalan.

Desainer Grafis Khusus Domain (termasuk EDMX dan DBML)

Pada Windows 10, Visual Studio tidak lagi tidak responsif saat Anda membuka atau mencoba mengedit diagram EDMX atau DBML besar saat keyboard di layar ditampilkan.

Peta Kode

  • Visual Studio tidak lagi responsif ketika Anda mencoba "Hasilkan Peta Kode untuk Solusi" ketika solusi berisi proyek alat penginstal (.vdproj).
  • Visual Studio tidak lagi tidak responsif saat Anda menjalankan perintah peta kode dari editor kode dan menutup jendela Peta Kode segera setelah muncul.

Validasi Lapisan

  • Saat membangun solusi yang memiliki proyek pemodelan yang berisi diagram Lapisan dengan tindakan Validasi, inti CPU tidak lagi digunakan setelah build selesai.
  • Anda sekarang dapat memvalidasi diagram lapisan ketika proyek pemodelan induknya mereferensikan pustaka PCL (misalnya ODP.Net).

Alat Node.js untuk Visual Studio

Node.js Tools 1.2 RC untuk Visual Studio sekarang tersedia untuk diunduh. Kami mengharapkan rilis ini memberikan stabilitas dan performa yang ditingkatkan secara signifikan, termasuk mengurangi crash kehabisan memori yang terlihat pada rilis sebelumnya.

Sorotan lainnya meliputi:

  • IntelliSense ES6 yang lebih cepat dan lebih baik
  • Penelusuran kesalahan yang lebih andal
  • Peningkatan pengalaman Pengujian Unit (termasuk dukungan Tape)
  • Perintah .npm dalam jenis proyek lainnya

Untuk informasi lengkap dan unduhan, lihat halaman rilis Node.js Tools 1.2 RC.

Alat Pengembang Web

Untuk ASP.NET proyek Aplikasi Web, ketika kotak centang "Aktifkan Edit dan Lanjutkan" tidak dicentang, proses IIS Express tidak akan lagi berhenti setiap kali Anda menghentikan penelusuran kesalahan.

Visual C++

Penyempurnaan, seperti pemeriksaan baru dan pesan peringatan untuk Pengkompilasi C++, serta peningkatan dukungan dan performa untuk pengkodian C# dan Visual Basic, disertakan dalam Pembaruan 3.

Pengompilasi C++

  • Kami sekarang memeriksa akses ctor salinan/pemindahan sepele yang dihapus. Tanpa pemeriksaan, kami mungkin salah memanggil ctor salinan default (di mana implementasinya dapat terbentuk buruk) dan menyebabkan potensi pembuatan kode buruk runtime.
  • Std::is_convertible sekarang mendeteksi penetapan sendiri jenis kelas dengan benar ketika copy-constructor dihapus atau privat.
  • Sebagai fase terakhir menyelesaikan penghentian dukungan ATL yang diatribusikan dimulai di Visual Studio 2008, kami telah menambahkan peringatan penghentian baru ke pengkompilasi. Dengan Visual Studio 2015 Update 3, penggunaan kode ATL yang diatribusikan akan menghasilkan peringatan tingkat 1 secara default. C4467
  • Saat menggunakan file PCH, tidak cocok -I menyertakan direktori ke pengkompilasi antara kompilasi -Yc dan -Yu sekarang akan menghasilkan peringatan baru. C4599
  • Saat menggunakan file PCH, arahan #include yang tidak cocok dalam file sumber antara kompilasi -Yc dan -Yu sekarang akan menghasilkan peringatan. C4598

Untuk informasi selengkapnya tentang bagaimana perubahan ini dapat memengaruhi kode yang ada, lihat Panduan Porting dan Peningkatan Visual C++ di MSDN.

Pustaka C++

  • Kami telah memulihkan performa mode debug saat menghancurkan rentang objek sepele yang mengalami kemunculan di Pembaruan 2, seperti dalam karakter> vektor<.

  • Kami telah menerapkan sifat yang dapat ditukar dari makalah kerja C++17, dari proposal P0185 Menambahkan sifat yang dapat ditukar [nothrow-]. Sebagai fitur C++17 spekulatif, sifat (is_swappable, , is_swappable_with, is_nothrow_swappabledan is_nothrow_swappable_with) hanya terlihat, dan batasan std::swap hanya aktif, saat mengkompilasi dengan /std:c++latest.

  • Kami telah menghapus panggilan peristiwa ETW dari pustaka vcruntime140.dll dan statis yang sebelumnya diaktifkan selama startup proses dan dllmain.

  • Kami telah menghapus panjang nama simbol dalam mesin umum yang digunakan oleh kontainer STL, seperti std::vector, mengurangi kemungkinan peringatan C4503. Misalnya, jenis berikut tidak lagi menghasilkan peringatan: konkurensi::concurrent_unordered_map<wstring, pasangan<vektor<uint64_t, vektor<uint8_t>>>>.

  • ATL/MFC/AMP/PPL: Banyak perbaikan kesesuaian yang terkait dengan pencarian dua fase, sebagai berikut:

    • _com_ptr_t sekarang memiliki konstruktor pemindahan dan memindahkan operator penugasan.

    • MFC: Penanganan tetap nilai HMENU yang kadang-kadang mencegah menu ditampilkan dengan benar dalam aplikasi 64-bit.

    • ATL/MFC: Tidak lagi memancarkan peringatan berikut:

    • Penimpaan/persembunyian fungsi: C4263, C4264, C4266

    • Spesifikasi pengecualian yang tidak cocok: C4986

    • /analyze: C6386

    • ATL: Semua variasi AtlThrow sekarang ditandai dengan benar dengan __declspec(noreturn). Ini mencegah peringatan SAL yang salah dipancarkan.

    • ATL: Memperbaiki/Meningkatkan beberapa anotasi SAL.

    • /std:c++latest mengaktifkan fitur baru berikut: P0025R1 "clamp()", P0185R1 "is_swappable, is_nothrow_swappable", dan P0272R1 "Non-const basic_string::d ata().".

    • /std:c++latest juga mengontrol penghapusan fitur lama berikut: N4190 "Menghapus auto_ptr, random_shuffle(), And Old <functional> Stuff", P0004R1 "Menghapus Alias Iostreams yang Tidak Digunakan Lagi", LWG 2385 "function::assign allocator argument tidak masuk akal", dan berbagai fitur non-Standar (namespace std::tr1, beberapa mesin khusus TR1, dan std::identity struct).

    • Codegen buruk senyap dalam int64_t> atom</uint64_t> atomik<pada x86 diperbaiki.

    • STL sekarang menghindari penggunaan "statis ajaib" aman utas kecuali jika benar-benar diperlukan, meningkatkan codegen.

    • Konstruktor penerusan sempurna Tuple sekarang menghindari konstruktor salinan yang tidak bersaing, memperbaiki kesalahan kompilator dalam skenario tertentu.

  • Coroutines:

    • Tidak digunakan lagi sebagai berikut: __yield_value & __await kata kunci. Gunakan co_await / co_yield sebagai gantinya.
    • Menambahkan pemberitahuan penghentian ke: to_address dan from_promise anggota coroutine_handle kelas. Alih-alih coroutine_handle::to_address(), gunakan coroutine_handle::address().
    • Alih-alih coroutine_handle::from_promise(Promise *P), gunakan coroutine_handle::from_promise(Promise &P).
  • Kami telah meningkatkan performa berikut: std::equal dan std::lexicographical_compare dengan mengirimkan ke memcmp dan memchr secara lebih agresif, menghasilkan peningkatan performa yang besar dalam beberapa skenario. Misalnya: equal(char,char,char, char) pada platform 64 bit.

    • debug dibangun secara signifikan dengan mengurangi jumlah panggilan fungsi pembukuan di mesin debugging iterator kami.
    • string::p ush_back telah meningkatkan 40% vs. Pembaruan 2 lain dalam build rilis, dengan peningkatan yang lebih substansial dalam build debug. (Ini selain peningkatan performa besar di sini yang dikirim dalam Pembaruan 2).
    • Debug dibangun di semua algoritma standar telah ditingkatkan dengan menghilangkan beberapa jenis panggilan dukungan metaprogram templat kosong (misalnya, _Iter_cat ), di semua algoritma yang mengambil predikat dengan mengurangi jumlah salinan predikat.
    • std::mismatch di bawah _ITERATOR_DEBUG_LEVEL 1 dan 2 dengan rentang memeriksa rentang kedua jika memungkinkan sebelum iterasi.
  • Kami telah menerapkan diagnostik yang ditingkatkan untuk _SCL_INSECURE_DEPRECATE pesan ke algoritma yang tersisa (di Pembaruan 2 hanya sejumlah kecil algoritma yang dikaitkan ke mekanisme penghentian baru). Ini juga meningkatkan pengalaman penelusuran kesalahan saat menelusuri kesalahan ke algoritma standar, karena tidak ada lagi _ITERATOR_DEBUG_LEVEL interaksi prapemroseduran yang mendeklarasikan beberapa salinan algoritma standar. Kami juga telah memperbaiki hal-hal berikut:

    • Kami telah memperbaiki ketidakmampuan untuk mengkompilasi beberapa fungsi seperti ketidakcocokan(iter, iter, T[]) karena interaksi antara algoritma nonstandar _ITERATOR_DEBUG_ARRAY_OVERLOADS dan rentang ganda kami.
  • Kami telah memperbaiki pelanggaran C4242 peringatan off-by-default di STL.

  • Kami telah memperbaiki kemungkinan bug luapan bilangan bulat di std::p op_heap.

  • Kami telah memperbaiki potensi hang di bawah /clr:pure karena panggilan LoadLibrary yang dimasukkan CLR sambil menahan kunci lokal.

Penelusuran Kesalahan C++/CLI

  • Evaluator ekspresi C++/CLI sekarang mendukung fitur debugger, seperti Natvis, yang sebelumnya hanya didukung untuk aplikasi asli murni. Sekarang dalam aplikasi terkelola/asli campuran ketika objek tercantum di jendela variabel (atau di dalam datatip), objek akan berkembang seperti yang mereka lakukan di aplikasi asli murni seperti yang didefinisikan oleh jenis visualizer.

cpp-cli-debug

Clang/C2 Platform Toolset

Kami telah mengintegrasikan rilis Clang 3.8 ke dalam Clang/C2 dan menyediakan toolset yang dihosting 64-bit.

C++ MDD

Kami telah mengaktifkan dukungan untuk Android NDK versi R11C terbaru dan kemampuan untuk meningkatkan proyek saat ini untuk menargetkan NDK terbaru.

TypeScript

Visual Studio 2015 Update 3 menyertakan TypeScript 1.8.34. Kami telah memperbaiki kesalahan kehabisan memori dengan beberapa proyek TypeScript besar yang menggunakan AngularJS.

C# dan Visual Basic

Kami telah berinvestasi dalam mengurangi jejak memori dan meningkatkan performa diagnostik kode. Ini akan mengurangi banyak crash di luar memori yang terlihat dalam rilis sebelumnya. Kami telah meningkatkan performa menjalankan diagnostik kode pada seluruh solusi. Untuk mempelajari selengkapnya tentang peningkatan performa diagnostik kode, baca halaman Cara: Mengaktifkan dan Menonaktifkan Analisis Solusi Lengkap untuk Kode Terkelola di MSDN.

Penyempurnaan tambahan meliputi hal-hal berikut:

  • Opsi untuk menambahkan referensi ke paket NuGet sebagai perbaikan cepat:

nuget-bulb

  • Anda dapat mengaktifkan opsi ini dari Alat > Opsi > Editor > Teks C# > Tingkat Lanjut, di bawah "Menggunakan Arahan":

plugin-byid

  • Kami telah meningkatkan dukungan untuk pustaka kelas Portabel yang menargetkan Standar Platform .NET.
  • Kami telah menambahkan peningkatan performa ke Implementasi C# GoTo dan Menemukan Semua Referensi. Anda dapat mencobanya dengan memilih objek, mengklik kanan objek tersebut lalu memilihnya dari menu.
  • Saat Anda menerapkan tindakan "perbaiki semua" ke dokumen/proyek/solusi, kami sekarang menampilkan bilah kemajuan.
  • Peningkatan performa saat memuat ulang proyek C# dan VB dalam solusi besar. Untuk informasi dan tips selengkapnya, baca: Pertimbangan performa untuk solusi besar.

Team Explorer

Beberapa bug telah diperbaiki di Team Explorer:

  • Tidak dapat melihat konten file yang dihapus dari repositori Git.
  • Saat melihat riwayat cabang, ikon Buka Turunan harus dinonaktifkan saat fokus adalah penerapan terbaru.
  • Saat mengubah cabang menggunakan Git.exe, Visual Studio mungkin mengalami crash atau masuk ke status yang tidak diketahui.
  • Saat melihat riwayat cabang di repositori Git, penyorotan dalam grafik riwayat mengalami gangguan.
  • Saat membuat cabang di Team Explorer, pintasan Alt+B untuk Membuat Cabang berkonflik dengan menu Build.
  • Dalam situasi penggunaan memori yang tinggi, ketika mencoba untuk membuka kemasan objek yang lebih besar dari memori yang tersedia, Git memberikan kesalahan "Objek tidak ditemukan - tidak ada objek longgar yang cocok (<sha1>)" alih-alih kesalahan kehabisan memori.
  • Kesalahan ketik dalam pesan kesalahan "... Untuk membuka solusi ini ...".
  • Saat melihat riwayat cabang dan mengklik kanan pada penerapan pertama dalam sejarah, Cherry Pick dinonaktifkan.
  • Saat membuat permintaan pull dari menu konteks halaman cabang Team Explorer menggunakan cabang saat ini alih-alih cabang yang dipilih.

Xamarin untuk Visual Studio

Visual Studio 2015 Update 3 sekarang menyertakan Xamarin 4.1. Selain sejumlah perbaikan bug, rilis ini menambahkan dukungan untuk tvOS, meningkatkan dukungan Katalog Aset iOS, meningkatkan pengalaman pengeditan XML, dan menambahkan pemilih untuk implementasi SSL/TLS dan HttpClient saat membuat aplikasi iOS. Untuk informasi selengkapnya, lihat catatan rilis Xamarin.