Bagikan melalui


RCLogoCatatan Rilis Visual Studio 2019 versi 16.7


Persyaratan | Sistem Komunitas | Pengembang Kompatibilitas | Persyaratan | Lisensi Riwayat | Rilis Kode | yang Dapat Didistribusikan Blog Whats | New di Visual Studio Docs


Catatan

Ini bukan versi terbaru Visual Studio. Untuk mengunduh rilis terbaru, kunjungi situs Visual Studio .



Jangka Waktu Dukungan

Visual Studio 2019 versi 16.7 sekarang tidak didukung.

Pengguna Perusahaan dan Profesional Visual Studio 2019 versi 16.7 didukung dan menerima perbaikan kerentanan keamanan hingga April 2022. Jangka waktu ini ditentukan oleh fakta bahwa pada Maret 2021, Visual Studio 2019 versi 16.9 ditetapkan sebagai garis besar layanan berikutnya untuk produk Visual Studio 2019. Untuk informasi selengkapnya tentang garis besar yang didukung Visual Studio, tinjau kebijakan dukungan untuk Visual Studio 2019

Lihat versi terbaru catatan rilis atau kunjungi situs Visual Studio untuk mengunduh versi terbaru Visual Studio 2019 yang didukung.

Rilis Visual Studio 2019 versi 16.7

Catatan Rilis Yang Diarsipkan Visual Studio 2019

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 di postingan berikut:


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.28

dirilis 19 April 2022

Dalam Rilis Visual Studio 2019 versi 16.7.28 ini

  • Memperbaiki regresi vctip.exe dari 16.7.27

Ikon Catatan Rilis Visual Studio 2019 versi 16.7.27

dirilis 12 April 2022

Dalam Rilis Visual Studio 2019 versi 16.7.27 ini

Pemberitahuan Penasihat Keamanan

CVE-2022-24765 Elevasi kerentanan hak istimewa Potensi elevasi kerentanan hak istimewa ada di Git untuk Windows, di mana operasi Git dapat berjalan di luar repositori sambil melakukan seraching untuk direktori Git. Git untuk Windows sekarang diperbarui ke versi 2.35.2.1.

CVE-2022-24767 DLL membajak kerentanan Potensi kerentanan pembajakan DLL ada di Git untuk penginstal Windows, saat menjalankan uninstaller di bawah akun pengguna SISTEM. Git untuk Windows sekarang diperbarui ke versi 2.35.2.1.

CVE-2022-24513 Elevasi kerentanan hak istimewa Potensi elevasi kerentanan hak istimewa ada ketika layanan pembaruan Microsoft Visual Studio secara tidak benar mengurai data konfigurasi lokal.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.26

dirilis 8 Maret 2022

Dalam Rilis Visual Studio 2019 versi 16.7.26 ini

Pemberitahuan Penasihat Keamanan

Kerentanan CVE-2020-8927 Kerentanan Eksekusi kode jarak jauh ada di .NET 5.0 dan .NET Core 3.1 di mana luapan buffer ada di versi pustaka Brotli sebelum 1.0.8.

Kerentanan CVE-2022-24464 Penolakan kerentanan layanan ada di .NET 6.0, .NET 5.0, dan .NET CORE 3.1 saat mengurai jenis permintaan formulir http tertentu.

Kerentanan CVE-2022-24512 Kerentanan Eksekusi Kode Jarak Jauh ada di .NET 6.0, .NET 5.0, dan .NET Core 3.1 di mana buffer tumpukan diserbu dalam rutinitas .NET Double Parse.

CVE-2021-3711 OpenSSL Buffer Overflow kerentanan Potensi kerentanan luapan buffer ada di OpenSSL, yang dikonsumsi oleh Git untuk Windows. Git untuk Windows sekarang diperbarui ke versi 2.35.1.2, yang mengatasi masalah ini.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.25

dirilis 8 Februari 2022

Dalam Rilis Visual Studio 2019 versi 16.7.25 ini

Pemberitahuan Penasihat Keamanan

CVE-2022-21871 Diagnostics Hub Standard Collector Runtime Elevation of Privilege Vulnerability Elevation of privilege vulnerability ada jika Diagnostics Hub Standard Collector salah menangani operasi data.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.24

dirilis 11 Januari 2022

Dalam Rilis Visual Studio 2019 versi 16.7.24 ini

  • Memperbaiki masalah karena tidak dapat men-debug aplikasi beberapa kali ketika Terminal Windows digunakan sebagai terminal default.
  • Perbaikan penyiapan untuk membuka blokir pelanggan pada konfigurasi terbatas
  • Memperbaiki masalah yang mencegah klien dapat memperbarui bootstrapper yang lebih baru. Setelah klien menggunakan bootstrapper dan alat penginstal yang dikirim Januari 2022 atau yang lebih baru, semua pembaruan menggunakan bootstrapper berikutnya harus berfungsi selama durasi siklus hidup produk.

Dari Komunitas Pengembang


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.23

dirilis 14 Desember 2021

Dalam Rilis Visual Studio 2019 versi 16.7.23 ini

  • Menambahkan Python 3.9.7 ke beban kerja Python. Menghapus Python 3.7.8 karena kerentanan keamanan.

Pemberitahuan Penasihat Keamanan

Kerentanan CVE-2021-43877 Elevasi kerentanan hak istimewa ada di ANCM yang dapat memungkinkan elevasi ketika aplikasi .NET core, .NET 5 dan .NET 6 dihosting dalam IIS.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.22

dirilis 16 November 2021

Dalam Rilis Visual Studio 2019 versi 16.7.22 ini

  • Bootstrappers sekarang menghormati parameter --useLatestInstaller, yang menyebabkan alat penginstal terbaru diintegrasikan ke dalam tata letak. Alat penginstal terbaru ini, yang dikirim dengan Visual Studio 2022, memungkinkan skenario di mana perusahaan ingin transisi klien mereka dari satu lokasi tata letak ke lokasi lainnya. Untuk informasi selengkapnya, lihat [Panduan Administrator Visual Studio](* Bootstrappers sekarang menghormati parameter --useLatestInstaller, yang menyebabkan penginstal terbaru diintegrasikan ke dalam tata letak. Alat penginstal terbaru ini, yang dikirim dengan Visual Studio 2022, memungkinkan skenario di mana perusahaan ingin transisi klien mereka dari satu lokasi tata letak ke lokasi lainnya. Untuk informasi selengkapnya, lihat Panduan Administrator Visual Studio.).

Ikon Catatan Rilis Visual Studio 2019 versi 16.7.21

dirilis 09 November 2021

Dalam Rilis Visual Studio 2019 versi 16.7.21 ini

  • Memperbaiki bug yang menyebabkan tautan pintasan menu mulai menghilang. Bug hanya terjadi saat memperbarui beberapa instans SKU produk yang berbeda pada komputer yang sama.

Pemberitahuan Penasihat Keamanan

CVE-2021-42319 Elevation of Privilege Vulnerability An Elevation of Privilege vulnerability ada di Penyedia WMI yang disertakan dalam alat penginstal Visual Studio.

CVE-2021-42277 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability Peningkatan kerentanan hak istimewa ada ketika Diagnostics Hub Standard Collector salah menangani operasi file.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.20

dirilis 12 Oktober 2021

Dalam Rilis Visual Studio 2019 versi 16.7.20 ini

Pemberitahuan Penasihat Keamanan

Kerentanan Pengungkapan CVE-2021-41355 di .NET 5.0 Kerentanan Pengungkapan Informasi ada di .NET di mana System.DirectoryServices.Protocols.LdapConnection mengirimkan kredensial dalam teks biasa di Linux.

CVE-2020-1971 OpenSSL Denial of Service Vulnerability Potensi penolakan kerentanan layanan ada di pustaka OpenSSL, yang digunakan oleh Git.

CVE-2021-3449 OpenSSL Denial of Service Vulnerability Potensi penolakan kerentanan layanan ada di pustaka OpenSSL, yang digunakan oleh Git.

CVE-2021-3450 OpenSSL Denial of Service Vulnerability Bypass bendera potensial ada di pustaka OpenSSL, yang digunakan oleh Git.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.19

dirilis 14 September 2021

Dalam Rilis Visual Studio 2019 versi 16.7.19 ini

Pemberitahuan Penasihat Keamanan

CVE-2021-26434 Visual Studio Salah Penetapan Izin Kerentanan Eskalasi Hak Istimewa Izin Kerentanan penetapan izin ada di Visual Studio setelah menginstal pengembangan Game dengan C++ dan memilih beban kerja Alat Penginstal Mesin Tidak Nyata. Sistem rentan terhadap LPE selama penginstalan, sistem ini membuat direktori dengan akses tulis ke semua pengguna.

CVE-2021-36952 Kerentanan Eksekusi Kode Jarak Jauh Visual Studio Kerentanan eksekusi kode jarak jauh ada di Visual Studio ketika secara tidak tepat menangani objek dalam memori. Penyerang yang berhasil mengeksploitasi kerentanan dapat menjalankan kode arbitrer dalam konteks pengguna saat ini.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.18

dirilis 10 Agustus 2021

Dalam Rilis Visual Studio 2019 versi 16.7.18 ini

  • Memperbaiki masalah yang memengaruhi eksekusi baris perintah dari perintah pembaruan. Jika pembaruan gagal untuk pertama kalinya, penerbitan berikutnya dari perintah pembaruan sekarang menyebabkan pembaruan melanjutkan operasi sebelumnya di tempat terakhirnya.

Pemberitahuan Penasihat Keamanan

CVE-2021-26423 .NET Core Denial of Service Vulnerability Penolakan kerentanan layanan ada di mana aplikasi server .NET (Core) yang menyediakan titik akhir WebSocket dapat ditipu menjadi perulangan tanpa akhir saat mencoba membaca satu bingkai WebSocket.

CVE-2021-34485 .NET Kerentanan Pengungkapan Informasi Inti Kerentanan pengungkapan informasi ada ketika cadangan yang dibuat oleh alat untuk mengumpulkan crash dump dan cadangan sesuai permintaan dibuat dengan izin baca global di Linux dan macOS.

CVE-2021-34532 ASP.NET Kerentanan Pengungkapan Informasi Inti Kerentanan pengungkapan informasi ada di mana token JWT dicatat jika tidak dapat diurai.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.17

dirilis 13 Juli 2021

Dalam Rilis Visual Studio 2019 versi 16.7.17 ini

  • .NET 3.1.411 SDK dimasukkan ke Visual Studio 2019.

Ikon Catatan Rilis Visual Studio 2019 versi 16.7.16

dirilis 08 Juni 2021

Dalam Rilis Visual Studio 2019 versi 16.7.16 ini

Pemberitahuan Penasihat Keamanan

CVE-2021-31957 ASP.NET Penolakan Kerentanan Layanan Penolakan kerentanan layanan ada ketika ASP.NET Core secara tidak benar menangani pemutusan sambungan klien.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.15

dirilis 11 Mei 2021

Dalam Rilis Visual Studio 2019 versi 16.7.15 ini

  • Memperbaiki masalah yang menyebabkan pembaruan gagal saat administrator membuat tata letak baru Visual Studio untuk menyebarkan pembaruan. Pembaruan komputer klien akan gagal karena tata letak telah memindahkan lokasi.

Pemberitahuan Penasihat Keamanan

CVE-2021-27068 RCE dimungkinkan saat menanam python.exe di folder berlapis Kerentanan eksekusi kode jarak jauh ada saat membuka ruang kerja dengan kode python dan ruang kerja tersebut berisi python.exe dalam subfolder skrip.

CVE-2021-31204 .NET Core Elevation of Privilege Vulnerability Peningkatan kerentanan hak istimewa ada di .NET 5.0 dan .NET Core 3.1 ketika pengguna menjalankan satu aplikasi file pada Sistem Operasi berdasarkan Linux atau macOS.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.14

dirilis 13 April 2021

Dalam Rilis Visual Studio 2019 versi 16.7.14 ini

  • Pengoptimal salah menghapus kode aktif
  • NuGet akan melaporkan sumber paket dan hash konten paket saat memulihkan paket pada verbositas output normal
  • NuGet akan menyimpan sumber paket dalam file .nupkg.metadata paket di folder paket global. Paket yang ada dalam folder paket global tidak akan mendapatkan informasi tambahan ini. Folder paket global Anda dapat dibersihkan untuk mengumpulkan informasi sumber paket untuk semua paket.

Pemberitahuan Penasihat Keamanan

CVE-2021-27064 Visual Studio Installer Elevation of Privilege Vulnerability Kerentanan eksekusi kode jarak jauh ada ketika alat penginstal Visual Studio menjalankan klien umpan balik dalam keadaan ditinggikan.

CVE-2021-28313 / CVE-2021-28321/ CVE-2021-28322 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability Peningkatan kerentanan hak istimewa ada ketika Diagnostics Hub Standard Collector salah menangani operasi data.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.13

dirilis 09 Maret 2021

Dalam Rilis Visual Studio 2019 versi 16.7.13 ini

Pemberitahuan Penasihat Keamanan

CVE-2021-21300 Git untuk Kerentanan Eksekusi Kode Jarak Jauh Visual Studio Kerentanan eksekusi kode jarak jauh ada ketika Visual Studio mengkloning repositori berbahaya.

CVE-2021-26701 .NET Core Remote Code Execution Vulnerability Kerentanan eksekusi kode jarak jauh ada di .NET 5 dan .NET Core karena bagaimana pengodean teks dilakukan.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.12

dirilis 09 Februari 2021

Dalam Rilis Visual Studio 2019 versi 16.7.12 ini


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.11

dirilis 09 Februari 2021

Dalam Rilis Visual Studio 2019 versi 16.7.11 ini

Bug dalam pengompilasi pengoptimalan Visual Studio 2019 versi 16.7.6

Pemberitahuan Penasihat Keamanan

CVE-2021-1639 TypeScript Language Service Remote Code Execution Vulnerability Kerentanan eksekusi kode jarak jauh ada saat Visual Studio memuat repositori berbahaya yang berisi file kode JavaScript atau TypeScript.

CVE-2021-1721 .NET Core Denial of Service Vulnerability Kerentanan penolakan layanan ada saat membuat permintaan web HTTPS selama pembangunan rantai sertifikat X509.

CVE-2021-24112 .NET 5 dan .NET Core Remote Code Execution Vulnerability Kerentanan eksekusi kode jarak jauh ada saat membuang metafiles ketika antarmuka grafis masih memiliki referensi untuk itu. Kerentanan ini hanya ada pada sistem yang berjalan di MacOS atau Linux.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.10

dirilis 12 Januari 2021

Dalam Rilis Visual Studio 2019 versi 16.7.10 ini

Pemberitahuan Penasihat Keamanan

CVE-2021-1651 / CVE-2021-1680 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability Peningkatan kerentanan hak istimewa ada ketika Kolektor Standar Hub Diagnostik salah menangani operasi data.

Kerentanan Eksekusi Kode Jarak Jauh Penginstal Visual Studio CVE-2020-26870 Kerentanan Eksekusi Kode Jarak Jauh Eksekusi kode jarak jauh ada ketika Alat Penginstal Visual Studio mencoba menunjukkan markdown berbahaya.

CVE-2021-1723 .NET Core dan Visual Studio Denial of Service Vulnerability Penolakan kerentanan layanan ada dalam implementasi Kestrel.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.9

dirilis 08 Desember 2020

Dalam Rilis Visual Studio 2019 versi 16.7.9 ini

Pemberitahuan Penasihat Keamanan

Kerentanan Eksekusi Kode Jarak Jauh CVE-2020-17156 Visual Studio Kerentanan Eksekusi kode jarak jauh Ada saat Visual Studio mengkloning repositori berbahaya.


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.8

dirilis 10 November 2020

Dalam Rilis Visual Studio 2019 versi 16.7.8 ini

Pemberitahuan Penasihat Keamanan

CVE-2020-17100 Visual Studio Merusak Kerentanan yang merusak ada ketika Alat Python untuk Visual Studio membuat folder python27. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menjalankan proses dalam konteks yang ditinggikan.



Ikon Catatan Rilis Visual Studio 2019 versi 16.7.7

dirilis 27 Oktober 2020

Dalam Rilis Visual Studio 2019 versi 16.7.7 ini


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.6

dirilis 13 Oktober 2020

Dalam Rilis Visual Studio 2019 versi 16.7.6 ini


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.5

dirilis 29 September 2020

Dalam Rilis Visual Studio 2019 versi 16.7.5 ini


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.4

dirilis 21 September 2020

Dalam Rilis Visual Studio 2019 versi 16.7.4 ini

  • Menambahkan dukungan Xcode 12.0 GM.
  • Menambahkan dukungan untuk mengatur set Warna sebagai Warna Aksen di editor Info.plist.

Ikon Catatan Rilis Visual Studio 2019 versi 16.7.3

dirilis 08 September 2020

Dalam Rilis Visual Studio 2019 versi 16.7.3 ini

Pemberitahuan Penasihat Keamanan

CVE-2020-1130 Diagnostics Hub Standard Collector Elevation of Privilege Vulnerability Peningkatan kerentanan hak istimewa ada ketika Diagnostics Hub Standard Collector secara tidak benar menangani operasi data. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menjalankan proses dalam konteks yang ditinggikan.

CVE-2020-1133 Diagnostics Hub Standard Collector Elevation of Privilege Vulnerability Peningkatan kerentanan hak istimewa ada ketika Diagnostics Hub Standard Collector secara tidak benar menangani operasi file. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menjalankan proses dalam konteks yang ditinggikan.

Kerentanan Eksekusi Kode Jarak Jauh CVE-2020-16856 Visual Studio Kerentanan Eksekusi kode jarak jauh ada di Visual Studio ketika secara tidak tepat menangani objek dalam memori. Penyerang yang berhasil mengeksploitasi kerentanan dapat menjalankan kode arbitrer dalam konteks pengguna saat ini.

CVE-2020-16874 Kerentanan Eksekusi Kode Jarak Jauh Visual Studio Kerentanan eksekusi kode jarak jauh ada di Visual Studio ketika secara tidak benar menangani objek dalam memori. Penyerang yang berhasil mengeksploitasi kerentanan dapat menjalankan kode arbitrer dalam konteks pengguna saat ini.

CVE-2020-1045 Microsoft ASP.NET Core Security Feature Bypass Vulnerability Fitur keamanan melewati kerentanan ada dalam cara Microsoft ASP.NET Core mengurai nama cookie yang dikodekan. Pengurai cookie ASP.NET Core mendekode seluruh string cookie yang dapat memungkinkan penyerang jahat untuk mengatur cookie kedua dengan nama yang dikodekan persen.

Masalah Tambahan Diperbaiki dalam Rilis ini

  • Memperbaiki crash pengkompilasi untuk pernyataan pengalihan atau ekspresi pengalihan yang menggunakan pencocokan pola.
  • Memulihkan alur kerja "Hentikan Debugging(Shift +F5)" untuk Pengujian Unit dengan mengakhiri eksekusi pengujian.
  • Cegah vs crash saat mengalihkan konfigurasi proyek ketika winForms .NET Core designer memiliki perubahan yang belum disimpan.
  • Versi di luar dukungan .NET Core tidak akan lagi diinstal ulang selama perbaikan atau peningkatan jika dihapus di luar penyiapan VS.
  • Memperbaiki masalah di mana Dependensi Eksternal tidak dicari secara akurat di Temukan di File.
  • Memperkenalkan kembali "Penerapan..." di submenu Git di menu konteks Penjelajah Solusi.
  • Memperbaiki bug yang menyebabkan label Catatan Check-in TFVC tidak terlihat.
  • Perbaiki crash saat menggunakan perancang WinForm di csproj bergaya SDK dengan beberapa kerangka kerja target.
  • Memperbaiki masalah di mana <d:Style.DataContext> melaporkan kesalahan markup yang tidak valid.

Masalah Teratas Diperbaiki dari Komunitas Pengembang di Visual Studio 2019 versi 16.7.3


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.2

dirilis 18 Agustus 2020

Dalam Rilis Visual Studio 2019 versi 16.7.2 ini

Masalah Teratas Diperbaiki dari Komunitas Pengembang di Visual Studio 2019 versi 16.7.2


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.1

dirilis 11 Agustus 2020

Dalam Rilis Visual Studio 2019 versi 16.7.1 ini

Masalah Teratas Diperbaiki dari Komunitas Pengembang di Visual Studio 2019 versi 16.7.1


Ikon Catatan Rilis Visual Studio 2019 versi 16.7.0

dirilis 5 Agustus 2020

Dalam Rilis Visual Studio 2019 versi 16.7.0 ini

C++

  • Dukungan C++ jarak jauh kami sekarang mendukung rentang distro dan shell Linux yang lebih luas, termasuk sh, csh, bash, tsch, ksh, zsh, dan dash. Anda dapat mengganti pilihan shell untuk koneksi jarak jauh dengan memodifikasi properti "shell" baru melalui ConnectionManager.exe. Dukungan ini telah diuji dengan proyek Linux berbasis MSBuild dan proyek CMake yang menargetkan sistem Linux jarak jauh atau WSL.
  • Anda sekarang dapat menggunakan Ninja (sistem build yang mengevaluasi build inkremental dengan sangat cepat) untuk meningkatkan waktu build bertambah bertahap untuk proyek Linux berbasis MSBuild. Anda dapat memilih fitur ini dengan mengatur "Aktifkan Build Bertambah Bertahap" ke "Dengan Ninja" di Halaman Properti Umum. Ninja (ninja-build) harus diinstal pada sistem Linux jarak jauh atau WSL Anda.
  • Fitur Pustaka Standar C++20 baru telah diterapkan. Silakan merujuk ke STL Changelog di GitHub untuk daftar terperinci.
  • Sekarang Anda dapat mengedit dan mengatur koneksi SSH jarak jauh default di Pengelola Koneksi. Ini berarti Anda dapat mengedit koneksi jarak jauh yang ada (misalnya jika alamat IP-nya berubah) dan mengatur koneksi default yang akan digunakan dalam CMakeSettings.json dan launch.vs.json. Koneksi SSH jarak jauh memungkinkan Anda untuk membangun dan melakukan penelusuran kesalahan proyek C++ pada sistem Linux jarak jauh secara langsung dari Visual Studio.
Mengedit koneksi jarak jauh di Pengelola Sambungan
Mengedit koneksi jarak jauh di Pengelola Sambungan
  • Peningkatan dukungan IntelliSense untuk Clang pada Windows (clang-cl) di Visual Studio. Clang yang mencakup jalur sekarang mencakup pustaka clang, kami telah meningkatkan tampilan berlekuk dalam editor saat menggunakan pustaka std, dan kami telah menambahkan dukungan untuk C++2a dalam mode clang.
  • Sekarang Anda dapat mencoba menggarisbawahi kesalahan kode dan melihat perbaikan cepat yang lebih disarankan dalam proyek C++. Aktifkan fitur ini di bawah Opsi Alat > Editor > Teks C/C++ > Set Eksperimental > 'Nonaktifkan Linter Kode Eksperimental>' ke false. Pelajari selengkapnya di Blog Tim C++.
Linter kode IntelliSense
Linter kode IntelliSense
  • Kami telah menambahkan empat aturan analisis kode baru untuk menggabungkan fitur keamanan tambahan ke dalam C++: C26817, C26818, C26819, dan C26820.
  • Kami telah menambahkan dukungan kelas satu untuk melakukan penelusuran kesalahan proyek CMake pada sistem jarak jauh dengan gdbserver.
  • Temukan kesalahan kerusakan memori dengan mudah menggunakan implementasi eksperimental AddressSanitizer untuk C++ di Visual Studio, sekarang tersedia untuk proyek asli x64. Kami juga sekarang mendukung penggunaan runtime debug (/MTd, /MDd, /LDd).
  • IntelliSense sekarang memiliki dukungan dasar untuk Konsep, inisialisasi yang ditunjuk, dan beberapa fitur C++20 lainnya.
  • File .ixx dan .cppm sekarang dikenali sebagai C++ dan akan diperlakukan seperti itu oleh penyorot sintaks dan IntelliSense.

Menentukan daftar putar secara dinamis

Anda sekarang dapat menentukan daftar putar secara dinamis berdasarkan Project, Class, atau Namespace. Ini berarti Anda dapat mengonfigurasi daftar putar untuk menyertakan semuanya dalam proyek/kelas/namespace tertentu; setiap pengujian baru yang ditambahkan ke grup tersebut akan secara otomatis disertakan dalam daftar putar Anda!

  • Buat daftar putar dengan mengklik kanan proyek, namespace, atau pengelompokan kelas di Test Explorer.
Test Explorer: Membuat daftar putar
Test Explorer: Membuat daftar putar
  • Edit grup apa yang disertakan dalam daftar putar dengan mengklik tombol edit di bilah alat. Kotak centang akan muncul. Edit grup sesuai keinginan.
Test Explorer: Mengedit daftar putar
Test Explorer: Mengedit daftar putar
  • Alih-alih menjadi daftar statis pengujian daftar putar ini secara dinamis diperbarui berdasarkan aturan. Jika Anda ingin lebih memahami aturan apa yang menghasilkan daftar putar dinamis Anda, simpan file daftar putar ke disk dengan tombol simpan dan lihat aturan yang dihasilkan di xml.
Seperangkat aturan dinamis file PlayList
Seperangkat aturan dinamis file PlayList
  • Anda dapat terus menyertakan/mengecualikan pengujian individual dan daftar putar akan dapat memperbarui aturan dinamisnya atau beralih kembali untuk melacak pengujian sebagai daftar statis. Anda juga dapat menggunakan sifat untuk menentukan grup dinamis dengan mengedit file xml daftar putar secara langsung.

Produktivitas Git

Beralih pada Fitur Pratinjau 'Pengalaman pengguna Git Baru' di Alat | Opsi | Lingkungan untuk menggunakan pengalaman ini.

  • Buat repositori Git baru, mulai dari folder apa pun atau folder baru
  • Simpan dan tutup folder atau solusi yang terbuka sebelum memulai operasi kloning baru
  • Menampilkan kesalahan penerapan atau simpan pesan dengan jelas di kotak teks penerapan
  • Melihat dan mengelola cabang Git dalam tampilan pohon dalam jendela Repositori Git baru
  • Beralih antara dan berinteraksi dengan grafik riwayat setiap cabang di jendela Repositori Git
  • Menampilkan penerapan masuk dan keluar di jendela Repositori Git
  • Blog tim Produktivitas Git dengan detail lebih lanjut tentang fitur terbaru
Mengelola cabang dan melihat riwayat di jendela Repositori Git yang berfokus
Mengelola cabang dan melihat riwayat di jendela Repositori Git yang berfokus

Atasi konflik penggabungan dengan editor penggabungan yang berfokus pada Git menggunakan:

  • Bilah info dalam file yang berisi konflik penggabungan yang meminta Anda untuk membuka editor penggabungan
  • Judul dan keterangan yang lebih informatif, dan lebih sedikit kekacauan di editor penggabungan
  • Berbeda dalam konflik yang menyelaraskan baris yang cocok, memperlihatkan perbedaan tingkat kata, dan menampilkan spasi kosong yang terlihat saat itu adalah satu-satunya perbedaan.
  • Penggabungan dua arah untuk konflik add/add tingkat file
  • Kemampuan untuk mengatasi semua konflik ke satu sisi atau yang lain dengan satu klik
  • Tombol untuk fokus hanya pada konflik, mengabaikan perbedaan yang tidak bertentangan
Pengalaman Editor Penggabungan Baru
Mengatasi Konflik Penggabungan dengan Editor Penggabungan

JavaScript/TypeScript

  • Implementasi Penyelesaian dan Info Cepat telah diperbarui untuk mendukung skenario LiveShare dengan lebih baik.

Proses Lokal dengan Kubernetes

Proses Lokal dengan Kubernetes
Proses Lokal dengan Kubernetes

Proses Lokal dengan Kubernetes memungkinkan Anda menulis, menguji, dan men-debug kode .NET pada stasiun kerja pengembangan saat terhubung ke kluster Kubernetes dengan aplikasi atau layanan lainnya. Dengan menghubungkan stasiun kerja pengembangan ke kluster, Anda menghilangkan kebutuhan untuk menjalankan dan mengonfigurasi layanan dependen secara manual pada komputer pengembangan Anda. Variabel lingkungan, string koneksi, dan volume dari kluster tersedia untuk kode layanan mikro Anda yang berjalan secara lokal. Tidak perlu aset tambahan, seperti manifes Dockerfile atau Kubernetes. Jalankan, debug, dan uji kode .NET Anda seperti biasa.

Untuk mengaktifkan Proses Lokal dengan Kubernetes, buka Fitur Pratinjau Envrionment > Opsi > Alat > dan pilih "Aktifkan penelusuran kesalahan lokal untuk layanan Kubernetes".

Aktifkan Fitur Pratinjau
Aktifkan Fitur Pratinjau

Untuk aplikasi konsol .NET, diperlukan langkah tambahan. Instal Paket Nuget "Microsoft.VisualStudio.Azure.Kubernetes.Tools.Targets".

Produktivitas .NET

Sekarang ada peringatan dan perbaikan kode ketika operator supresi ada tetapi tidak berpengaruh. Perbaikan kode kedua yang menunjukkan ekspresi negasi yang benar juga tersedia. Tempatkan kursor Anda pada operator supresi. Tekan (Ctrl + .) untuk memicu menu Tindakan Cepat dan Pemfaktoran Ulang. Selanjutnya, pilih dari salah satu hal berikut ini:

  • Untuk menghapus operator sepenuhnya, pilih Hapus operator (pertahankan semantik):
Perbaikan kode untuk menghapus operator supresi
Perbaikan kode untuk menghapus operator supresi
  • Untuk meniadakan ekspresi, pilih Ekspresi negasi (ubah semantik):
Perbaikan kode untuk meniadakan ekspresi
Perbaikan kode untuk meniadakan ekspresi
  • Anda juga dapat meniadakan ekspresi dengan pola C# 9 not baru jika tersedia di proyek Anda:
Perbaikan kode untuk meniadakan ekspresi menggunakan tidak
Perbaikan kode untuk meniadakan ekspresi menggunakan tidak

Anda sekarang dapat menghasilkan properti saat menghasilkan konstruktor dalam jenis. Tempatkan kursor Anda pada instans. Tekan (Ctrl + .) untuk memicu menu Tindakan Cepat dan Pemfaktoran Ulang. Pilih Hasilkan konstruktor di <QualifiedName> (dengan properti).

Hasilkan properti saat menghasilkan konstruktor
Hasilkan properti saat menghasilkan konstruktor
  • Info Cepat sekarang menampilkan ID diagnostik bersama dengan tautan bantuan di mana Anda dapat dengan mudah menavigasi ke dokumentasi kami untuk mempelajari lebih lanjut tentang peringatan dan kesalahan dalam kode Anda.
ID Diagnostik Info Cepat dan Tautan Bantuan
ID Diagnostik Info Cepat dan Tautan Bantuan
  • Sekarang ada tindakan cepat untuk menambahkan atribut tampilan debugger ke kelas. Ini memungkinkan Anda menyematkan properti dalam debugger secara terprogram dalam kode Anda. Tempatkan kursor Anda pada nama kelas. Tekan (Ctrl+.) untuk memicu menu Tindakan Cepat dan Pemfaktoran Ulang. Pilih Tambahkan atribut 'DebuggerDisplay'. Ini akan menambahkan atribut tampilan debugger ke bagian atas kelas Anda dan menghasilkan metode otomatis yang mengembalikan ToString() yang dapat Anda edit untuk mengembalikan nilai properti yang ingin Anda sematkan dalam debugger.
Tambahkan Atribut Tampilan Debugger
Tambahkan Atribut Tampilan Debugger
  • Sekarang ada perbaikan kode untuk penetapan atau perbandingan yang tidak disengaja dengan variabel yang sama. Tempatkan kursor Anda pada peringatan. Tekan (Ctrl+.) untuk memicu menu Tindakan Cepat dan Pemfaktoran Ulang. Untuk penetapan yang tidak disengaja, pilih Tetapkan ke <QualifiedName.value>. Untuk perbandingan yang tidak disengaja, pilih Bandingkan dengan <QualifiedName.value>.
Perbaikan Kode Penugasan Yang Tidak Disengaja
Perbaikan Kode Penugasan Yang Tidak Disengaja
Perbaikan Kode Perbandingan Yang Tidak Disengaja
Perbaikan Kode Perbandingan Yang Tidak Disengaja
  • Anda sekarang dapat menghasilkan operator perbandingan untuk jenis yang mengimplementasikan IComparable. Letakkan kursor Anda baik di dalam kelas atau di IComparable. Tekan (Ctrl+.) untuk memicu menu Tindakan Cepat dan Pemfaktoran Ulang. Pilih Hasilkan operator perbandingan. Pelat boiler akan dihasilkan untuk Anda dengan operator perbandingan.
Menghasilkan Operator Perbandingan
Menghasilkan Operator Perbandingan
  • Anda sekarang dapat menghasilkan operator IEquatable saat membuat . Sama dengan struktur. Kami sudah memiliki refaktor untuk Menghasilkan Sama dengan dan GetHashCode untuk jenis nilai. Sekarang dengan struktur, kami akan secara otomatis menambahkan IEquatable serta operator yang sama dan tidak sama dengan untuk Anda. Tempatkan kursor Anda di dalam struct. Tekan (Ctrl+.) untuk memicu menu Tindakan Cepat dan Pemfaktoran Ulang. Pilih Hasilkan Sama Dengan(objek).
Hasilkan Operator IEquatable
Hasilkan Operator IEquatable
  • Anda sekarang dapat membuat dan menetapkan properti atau bidang untuk semua parameter konstruktor yang tidak digunakan. Kami sudah memiliki tindakan cepat yang memungkinkan Anda melakukan ini pada parameter individual, tetapi sekarang Anda dapat melakukannya untuk semua parameter yang tidak digunakan sekaligus. Tempatkan kursor Anda pada salah satu parameter yang tersisa. Tekan (Ctrl+.) untuk memicu menu Tindakan Cepat dan Pemfaktoran Ulang. Untuk membuat dan menginisialisasi properti, pilih Buat dan tetapkan yang tersisa sebagai properti. Untuk membuat dan menginisialisasi bidang, pilih Buat dan tetapkan bidang yang tersisa.
Membuat dan Menetapkan Bidang yang Tersisa
Membuat dan Menetapkan Bidang yang Tersisa
Membuat dan Menetapkan Properti Yang Tersisa
Membuat dan Menetapkan Properti Yang Tersisa
  • Sekarang ada penyelesaian IntelliSense dalam literal string DateTime dan TimeSpan. Letakkan kursor Anda di dalam string DateTime atau TimeSpan secara harfiah dan tekan (Ctrl+Space). Anda kemudian akan melihat opsi penyelesaian dan penjelasan tentang arti setiap karakter. Format waktu tanggal dan contoh akan disediakan.
Penyelesaian IntelliSense dalam DateTime dan TimeSpan
Penyelesaian IntelliSense dalam literal string DateTime dan TimeSpan
  • Sekarang Anda dapat menambahkan parameter dalam dialog Ubah Tanda Tangan . Tempatkan kursor Anda dalam tanda tangan metode. Tekan (Ctrl+.) untuk memicu menu Tindakan Cepat dan Pemfaktoran Ulang. Pilih Ubah tanda tangan. Dialog berikut akan terbuka di mana Anda sekarang dapat memilih Tambahkan untuk menambahkan parameter. Setelah Anda memilih Tambahkan, dialog Tambahkan Parameter baru akan terbuka. Dialog Tambahkan Parameter memungkinkan Anda menambahkan nama jenis dan nama parameter. Anda dapat memilih untuk membuat parameter diperlukan atau opsional dengan nilai default. Anda kemudian dapat menambahkan nilai di situs panggilan dan memilih argumen bernama untuk nilai tersebut atau Anda dapat memperkenalkan variabel TODO. Variabel TODO menempatkan TODO dalam kode Anda sehingga Anda dapat mengunjungi setiap kesalahan dan melalui setiap situs panggilan secara independen dan memutuskan apa yang harus diteruskan. Untuk parameter opsional, Anda memiliki opsi untuk menghilangkan situs panggilan sepenuhnya.
Ubah Dialog Tanda Tangan
Ubah Dialog Tanda Tangan
Tambahkan Dialog Parameter
Tambahkan Dialog Parameter
  • Penulis penganalisis sekarang dapat menggunakan CompletionProviders untuk penyelesaian IntelliSense saat mengirim penganalisis mereka dengan NuGet. Sebelumnya, penulis pustaka harus membuat VSIX terpisah karena CompletionProviders hanya tersedia di VSIX. Sekarang penulis pustaka dapat menerapkan penyelesaian IntelliSense dalam paket NuGet tempat penganalisis mereka berada, dan mereka tidak perlu melakukannya secara terpisah. Penyedia penyelesaian yang diterapkan dalam paket NuGet juga akan memberikan saran khusus untuk proyek individual dan akan secara otomatis bekerja di setiap IDE yang mendukung fitur tersebut.

Razor

Cobalah editor Razor dengan dukungan Protokol Server Bahasa eksperimental (LSP) baru dengan semua file Razor (.cshtml/.razor) dengan memilih fitur Aktifkan pratinjau editor Razor eksperimental.

Penjelajah Uji

Jalankan/Debug Semua Pengujian Dalam Tampilan telah ditambahkan ke Test Explorer. Perintah ini menggantikan tempat perintah Jalankan Semua Pengujian dan Debug Semua Pengujian muncul di Test Explorer. Perubahan ini mengklarifikasi bahwa perintah ini mematuhi filter Test Explorer sehingga hanya pengujian yang terlihat di jendela yang dijalankan. Ini termasuk filter kolom dan filter kotak pencarian.

Uji Penjelajah Jalankan/Debug Semua Pengujian dalam perintah Tampilan
Uji Penjelajah Jalankan/Debug Semua Pengujian dalam perintah Tampilan

Perintah Jalankan/Debug Global Semua sekarang hanya akan muncul di menu Uji tingkat atas. Mereka tidak lagi disertakan dalam toolbar Test Explorer atau menu konteks tampilan jendela pengujian apa pun. Ketika dipicu dari Test Explorer, Cakupan Analisis Kode untuk Semua Pengujian sekarang berlaku untuk tampilan jendela pengujian juga.

Kunci Potong Pendek:

  • Ctrl R, A - Jalankan Semua Pengujian - Perintah global selalu menjalankan semua pengujian
  • Ctrl R, V - Jalankan Semua Pengujian Dalam Tampilan - Hanya perintah yang valid saat jendela pengujian (Test Explorer, Playlist, Live Unit Testing Window) adalah jendela aktif
  • Ctrl R, Ctrl A - Debug Semua Pengujian - Perintah global selalu men-debug semua pengujian
  • Ctrl R, Ctrl V - Debug Semua Pengujian Dalam Tampilan - Hanya perintah yang valid saat jendela pengujian (Test Explorer, Playlist, Live Unit Testing Window) adalah jendela aktif

Debugger

Melihat Objek COM Terkelola Melalui Penunjuk Asli

Fitur ini secara otomatis mendekode objek COM terkelola yang dirujuk oleh penunjuk asli yang memungkinkan Anda untuk sepenuhnya memeriksa nilai di jendela Lokal. Anda dapat menemukan detail selengkapnya di sini di blog Visual Studio.

Profiler

Alat Penghitung Kinerja .NET Baru

Alat Penghitung Kinerja .NET
Alat Penghitung Kinerja .NET

Visualisasikan penghitung dotnet langsung dari dalam Visual Studio Profiler menggunakan Alat Penghitung Kinerja .NET. Untuk mencoba alat, buka Debug -> Profiler Performa -> Alat Penghitung Kinerja .NET Tanda Centang.

Xamarin

  • Perbaikan kode telah diperkenalkan untuk jenis masalah paling umum yang dialami oleh pengguna dengan file tata letak Android.
  • Pengalaman pemilihan templat Xamarin.Forms sekarang memiliki tampilan yang segar dan lebih ilustratif, dan templat Flyout dan Tabbed sekarang menggunakan Shell. Baca selengkapnya tentang Shell di sini. Jika karena alasan tertentu Anda tidak ingin menggunakan Shell, gunakan templat Kosong.
Pengalaman pemilihan templat Xamarin.Forms baru
Memilih templat Xamarin.Forms

Alat XAML (WPF, UWP & Xamarin.Forms)

XAML Hot Reload:

  • Peningkatan Toolbar Dalam Aplikasi: Kami telah lebih menyempurnakan pengalaman toolbar dalam aplikasi yang merupakan bagian dari alur kerja alat XAML Hot Reload untuk WPF &UWP. Perubahan termasuk toolbar yang lebih pendek sehingga tidak lagi mencakup aplikasi yang sedang berjalan, dan perubahan dalam mekanisme ciutkan yang ketika diklik sekarang akan menciutkan teks XAML Hot Reload terlebih dahulu, lalu ciutkan bilah sepenuhnya pada klik kedua.

Perancang XAML:

  • Dukungan Data Waktu Desain yang Diperluas untuk WPF & UWP: Dalam rilis ini kami memperkenalkan fitur data waktu desain baru untuk pengembang WPF .NET Core dan UWP. Kemampuan baru ini akan memperluas daftar properti waktu desain yang dapat diakses saat ini melalui penggunaan awalan d: . Fitur ini akan akrab bagi pengembang Xamarin.Forms, karena tersedia pendekatan yang sama dengan menggunakan awalan "d:" untuk menunjukkan properti yang hanya boleh dirender pada waktu desain dan tidak pernah dikompilasi ke dalam aplikasi yang sedang berjalan sehingga sangat aman digunakan untuk validasi UI waktu desain. Dalam rilis ini kami mendukung semua kontrol out-of-the-box untuk WPF dan UWP dan berencana untuk mendukung kontrol pihak ke-3 dan kustom dalam rilis mendatang.
  • Tombol Refresh Desainer XAML: Kami telah menambahkan tombol refresh ke perancang XAML, ikon baru ini dapat ditemukan di area ikon kiri bawah di dekat indikator tingkat zoom. Tindakan refresh ini melakukan reset yang setara dengan menutup tampilan perancang dan membukanya kembali untuk situasi langka di mana ini diperlukan untuk menyelesaikan masalah penyajian. Fitur ini tersedia untuk pengembang WPF .NET Core dan UWP.

Editor Kode XAML:

  • Visualizer Warna: Kami telah menyempurnakan lebih lanjut visualizer warna baru kami di editor kode XAML untuk proyek WPF .NET Core, WPF .NET Framework dan Xamarin.Froms. Dalam rilis ini kami telah menambahkan dukungan untuk memvisualisasikan warna yang berasal dari sumber daya, yang sebelumnya tidak didukung di pratinjau terakhir.
Pratinjau Warna Sebaris di Editor Kode XAML
Pratinjau Warna Sebaris di Editor Kode XAML

Perlihatkan item Kotak Alat dari paket NuGet tanpa memiliki referensi paket

Banyak penulis pustaka kontrol ingin kontrol mereka terlihat di Kotak Alat bahkan ketika proyek saat ini belum mereferensikan pustaka, karena ini membantu penemuan. WPF .NET Framework SDK secara historis telah menyelesaikan ini menggunakan entri registri, tetapi ini tidak didukung oleh .NET Core. Untuk WPF .NET Core, Toolbox sekarang dapat diisi dengan kontrol dari file VisualStudioToolsManifest.xml yang ditemukan dalam paket WPF .NET Core NuGet di folder fallback NuGet. Untuk detail selengkapnya, lihat dokumentasi di repositori XAML Designer Extensibility GitHub.

Formulir Windows

Formulir Windows Designer untuk .NET Core

Perancang Formulir Windows untuk proyek .NET Core sekarang tersedia. Untuk mengaktifkan perancang di Visual Studio, buka Fitur Pratinjau Lingkungan > Opsi > Alat > dan pilih opsi Gunakan pratinjau Formulir Windows perancang untuk aplikasi .NET Core.

Dalam rilis ini, kontrol berikut sekarang didukung bersama dengan peningkatan lainnya:

  • Infrastruktur UserControl dan kontrol kustom
  • TableLayoutPanel
  • Dasar-dasar untuk dukungan kontrol pihak ketiga
  • Dasar-dasar untuk dukungan pengikatan data
  • Peningkatan interaksi perancang dengan TableLayoutPanel

Perbaikan Bug

Masalah Teratas Diperbaiki di Visual Studio 2019 versi 16.7.0

  • Memperbaiki kegagalan penginstalan komponen Penyedia WMI.
  • Memperbaiki masalah di mana pengguna tidak dapat melihat kemajuan uji coba dengan mengklik tombol kiri di bagian bawah bilah.
  • Peningkatan performa menemukan paket penagihan Visual Studio Codespace yang tersedia.
  • Saat membuat Visual Studio Codespace, kami mengubah waktu penangguhan default dari 30 menit menjadi 3 jam.
  • Perbaiki bug di mana jendela Perubahan Git memberi tahu pengguna bahwa mereka memiliki penerapan masuk/keluar, padahal sebenarnya mereka tidak memilikinya.
  • Peningkatan stabilitas Alat Diagnostik dan Profiler Performa.
  • Mengatasi masalah di mana ekstensi Azure Sphere Visual Studio tidak akan diperbarui secara otomatis karena ketidakcocokan versi minor. Dengan perbaikan, Azure Sphere akan dapat diperbarui secara otomatis saat pembaruan otomatis VSIX berjalan.

Dari Komunitas Pengembang


Masalah yang Diketahui

Lihat semua masalah terbuka dan solusi yang tersedia di Visual Studio 2019 dengan mengikuti tautan di bawah ini.

Umpan balik dan 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 Ikon Umpan Balik 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 2019

Untuk informasi selengkapnya yang berkaitan dengan versi Visual Studio 2019 sebelumnya, lihat halaman Riwayat Catatan Rilis Visual Studio 2019.


Bagian Atas Halaman