Visual Studio Icon Port Visual Studio 2022, migrasi, dan tingkatkan proyek


Tip

Tonton rekaman acara peluncuran Visual Studio 2022 untuk mempelajari tentang apa yang baru, mendengar tips & trik, dan mengunduh swag digital gratis.

Persyaratan | Sistem Peta Strategi | Komunitas | Pengembang Visual Studio 2022 Kompatibilitas | Persyaratan | Lisensi Riwayat | Rilis Kode | yang Dapat Didistribusikan Blog Rilis | Terbaru Masalah | Umum Apa yang Baru di Dokumen Visual Studio


Setiap versi baru Visual Studio mendukung sebagian besar jenis proyek, file, dan aset lainnya. Anda dapat bekerja dengan mereka seperti biasa, asalkan Anda tidak bergantung pada fitur yang lebih baru.

Kami mencoba mempertahankan kompatibilitas mundur dengan versi sebelumnya, seperti Visual Studio 2019, Visual Studio 2017, Visual Studio 2015, Visual Studio 2013, dan Visual Studio 2012. Namun, dukungan untuk beberapa jenis proyek berubah dari waktu ke waktu. Versi Visual Studio yang lebih baru mungkin tidak mendukung proyek tertentu sama sekali, atau mungkin mengharuskan Anda memperbarui proyek sehingga tidak lagi kompatibel mundur.

Catatan

Untuk status saat ini tentang masalah migrasi, lihat Komunitas Pengembang Visual Studio. Dan untuk mempelajari selengkapnya tentang fitur mana yang khusus untuk versi Visual Studio mana, lihat Catatan Rilis.

Penting

Beberapa jenis proyek memerlukan beban kerja tertentu. Jika Anda tidak memiliki beban kerja yang terinstal, Visual Studio melaporkan jenis proyek yang tidak diketahui atau tidak kompatibel. Dalam hal ini, periksa opsi penginstalan Anda di alat penginstal Visual Studio dan coba lagi. Untuk informasi selengkapnya tentang dukungan proyek di Visual Studio 2022, lihat halaman Penargetan dan Kompatibilitas Platform.

Jenis proyek

Daftar berikut ini menjelaskan dukungan di Visual Studio 2022 untuk proyek yang dibuat di versi sebelumnya.

Jika Anda tidak melihat proyek atau jenis file yang tercantum di sini, lihat versi Visual Studio 2019 dari artikel ini. Anda juga dapat menggunakan tombol Kirim dan lihat umpan balik untuk>Halaman ini di bagian bawah halaman ini untuk memberikan detail proyek Anda. (Jika Anda menggunakan kontrol "Apakah halaman ini bermanfaat?" anonim, kami tidak dapat menanggapi umpan balik Anda.)

Jenis Proyek Dukungan
Proyek .NET Core (xproj) Proyek yang dibuat dengan Visual Studio 2015 menggunakan alat pratinjau yang menyertakan file proyek xproj.

Visual Studio 2017: Format xproj tidak didukung selain untuk migrasi ke format csproj. Saat Anda membuka file xproj, Anda diminta untuk memigrasikan file ke format csproj gaya SDK. (Cadangan file xproj dibuat.) Proyek csproj bergaya SDK tidak didukung di Visual Studio 2015 dan yang lebih lama.

Visual Studio 2019: Di versi 16.3 dan yang lebih baru, Anda tidak dapat memuat atau memigrasikan proyek xproj. Untuk informasi selengkapnya, lihat Memigrasikan proyek .NET Core ke format csproj.
ASP.NET Core Web App dan ASP.NET Core Web App dengan Application Insights diaktifkan Untuk setiap pengguna Visual Studio, informasi sumber daya disimpan dalam registri per instans pengguna. Informasi ini digunakan saat pengguna tidak memiliki proyek yang dibuka dan ingin mencari data Azure Application Insights. Visual Studio 2015 menggunakan lokasi registri yang berbeda dari Visual Studio 2017, Visual Studio 2019, dan Visual Studio 2022 dan tidak bertentangan.

Setelah pengguna membuat ASP.NET Web Application, ASP.NET Core Web App, atau ASP.NET Core Web Application, sumber daya disimpan dalam file .suo. Pengguna dapat membuka proyek pada Visual Studio 2015, Visual Studio 2017, Visual Studio 2019, atau Visual Studio 2022, dan informasi sumber daya digunakan untuk masing-masing selama Visual Studio mendukung proyek dan solusi yang digunakan di kedua versi. Pengguna perlu mengautentikasi sekali pada setiap produk. Misalnya, jika proyek dibuat dengan Visual Studio 2017 dan dibuka pada Visual Studio 2022, pengguna perlu mengautentikasi pada Visual Studio 2022.
Formulir Web atau Windows C#/Visual Basic Anda dapat membuka proyek pada Visual Studio 2022, Visual Studio 2019, Visual Studio 2017, dan Visual Studio 2015.
Pengujian UI Berkode Pengujian UI berkode untuk pengujian fungsi berbasis UI otomatis tidak digunakan lagi pada Visual Studio 2019.

Visual Studio 2019 akan menjadi rilis terakhir untuk pengujian UI Kode. Sebaiknya gunakan Selenium untuk menguji aplikasi web dan Appium dengan WinAppDriver untuk menguji desktop dan aplikasi UWP.
Proyek Pengujian Unit Database (csproj, .vbproj) Proyek pengujian Unit Data yang lebih lama dimuat di Visual Studio 2019 tetapi menggunakan versi dependensi GAC'd. Untuk meningkatkan proyek pengujian unit untuk menggunakan dependensi terbaru, klik kanan proyek di Penjelajah Solusi dan pilih Konversi ke SQL Server Pengujian Unit Proyek....
F# Visual Studio 2019 dapat membuka proyek yang dibuat pada Visual Studio 2013, Visual Studio 2015, dan Visual Studio 2017. Perbedaan utama dari templat Visual Studio yang lebih lama untuk proyek baru adalah bahwa versi FSharp.Core sekarang selalu merupakan paket NuGet. F# diinstal secara default dengan Beban Kerja .NET apa pun.
InstallShield
Penyiapan MSI
Proyek alat penginstal yang dibuat pada Visual Studio 2010 dapat dibuka di versi yang lebih baru dengan bantuan Ekstensi Proyek Penginstal Visual Studio. Lihat juga Ekstensi WiX Toolset Visual Studio 2017. InstallShield Limited Edition tidak lagi disertakan dengan Visual Studio. Tanyakan kepada Revenera tentang ketersediaan untuk Visual Studio 2022.
LightSwitch LightSwitch tidak lagi didukung pada Visual Studio 2022, Visual Studio 2019, atau Visual Studio 2017. Proyek yang dibuat dengan Visual Studio 2012 dan sebelumnya dibuka pada Visual Studio 2013 atau Visual Studio 2015 ditingkatkan dan hanya dapat dibuka pada Visual Studio 2013 atau Visual Studio 2015 setelahnya.
Muat Pengujian Performa web dan kemampuan pengujian beban tidak digunakan lagi pada Visual Studio 2019.

Visual Studio 2019 akan menjadi rilis terakhir untuk pengujian beban. Gunakan alat pengujian beban alternatif seperti Apache JMeter, Akamai CloudTest, Blazemeter.
Alat Microsoft Azure untuk Visual Studio Untuk membuka jenis proyek ini, pertama-tama instal Azure SDK untuk .NET, lalu buka proyek. Jika perlu, proyek Anda diperbarui.
Manajer Pengujian Microsoft Manajer Pengujian Microsoft dan Feedback Client tidak lagi dikirim dalam Visual Studio, dimulai dengan Visual Studio 2019.

Manfaatkan Azure Test Plans (bagian dari Azure DevOps) untuk kebutuhan pengujian manual dan eksplorasi Anda.
Kerangka Model-View-Controller (ASP.NET MVC) Dukungan untuk versi MVC dan Visual Studio:
  • Visual Studio 2010 SP1 mendukung MVC 2 dan MVC 3; Dukungan MVC 4 ditambahkan melalui ASP.NET 4 MVC 4 untuk unduhan Visual Studio 2010 SP1
  • Visual Studio 2012 hanya mendukung MVC 3 dan MVC 4
  • Visual Studio 2013 hanya mendukung MVC 4 dan MVC 5
  • Visual Studio 2019, Visual Studio 2017, dan Visual Studio 2015 mendukung MVC 4 (Anda dapat membuka proyek yang ada tetapi tidak membuat proyek baru) dan MVC 5

Meningkatkan versi MVC:
Pemodelan Jika Anda mengizinkan Visual Studio memperbarui proyek secara otomatis, Anda dapat membukanya di Visual Studio 2015, Visual Studio 2013, atau Visual Studio 2012.

Format proyek pemodelan belum berubah sejak Visual Studio 2015 dan proyek dapat dibuka dan dimodifikasi dalam versi ini. Namun, ada perbedaan perilaku pada Visual Studio 2017 dan Visual Studio 2019:
  • Proyek pemodelan sekarang disebut sebagai proyek "Validasi Dependensi" di menu dan templat.
  • Diagram UML tidak lagi didukung pada Visual Studio 2017 dan Visual Studio 2019. File UML tercantum dalam Penjelajah Solusi seperti sebelumnya tetapi dibuka sebagai file XML. Gunakan Visual Studio 2015 untuk melihat, membuat, atau mengedit diagram UML.
  • Pada Visual Studio 2019, validasi dependensi arsitektur tidak lagi dilakukan ketika proyek pemodelan dibangun. Sebaliknya, validasi dilakukan saat setiap proyek kode dibangun. Perubahan ini tidak memengaruhi proyek pemodelan, tetapi memerlukan perubahan pada proyek kode yang divalidasi. Visual Studio 2019 dapat secara otomatis membuat perubahan yang diperlukan pada proyek kode.
Pengaturan MSI (vdproj) Lihat bagian InstallShield di halaman ini.
Office 2007 VSTO Memerlukan peningkatan satu arah untuk Visual Studio 2022.
Office 2010 VSTO Jika proyek menargetkan .NET Framework 4, Anda dapat membukanya di Visual Studio 2010 SP1 dan yang lebih baru. Semua proyek lain memerlukan peningkatan satu arah.
Pustaka Kelas Portabel (PCL) Pustaka Kelas Portabel (atau PCL) sekarang tidak didukung. Visual Studio 2019 masih akan membuka dan membangunnya, tetapi tidak dimungkinkan untuk membuat proyek PCL baru. Sebaiknya migrasikan kode dalam proyek PCL ke proyek .NET Standard.

Dukungan PCL tidak akan lagi disertakan secara default, tetapi akan tersedia pada tab Visual Studio "Komponen Individual".
Beban Kerja Python Dukungan untuk aplikasi Python Windows IoT Core dihapus pada Visual Studio 2019. Karena tidak ada yang setara di Visual Studio 2022, tidak ada jalur migrasi otomatis untuk proyek tersebut.

Anda dapat terus menggunakan Visual Studio 2017.
R Tools for Visual Studio R Tools for Visual Studio dihapus dari Beban Kerja Ilmu Data pada Visual Studio 2019.

Anda dapat terus menggunakan Visual Studio 2017 atau alternatif seperti RStudio.
Service Fabric (sfproj) Service Fabric Proyek Aplikasi yang dibuat pada Visual Studio 2017 atau Visual Studio 2019 dapat dibuka pada Visual Studio 2022 tanpa perubahan.
Service Fabric Proyek Aplikasi yang dibuat pada Visual Studio 2022 tanpa menggunakan opsi Optimalkan tata letak proyek untuk penyebaran ARM, dapat dibuka di Visual Studio 2019 16.5 atau yang lebih baru.
Service Fabric Proyek Aplikasi yang dibuat pada Visual Studio 2022 menggunakan opsi Optimalkan tata letak proyek untuk penyebaran ARM, dapat dibuka di Visual Studio 2019 16.10 atau yang lebih baru.
SharePoint 2010 Ketika proyek solusi SharePoint dibuka dengan Visual Studio 2022, proyek tersebut ditingkatkan ke SharePoint 2016 atau SharePoint 2019. Beban kerja ".NET Desktop Development" harus diinstal di Visual Studio untuk peningkatan.

Untuk informasi selengkapnya tentang cara meningkatkan proyek SharePoint, lihat Meningkatkan dan Memperbarui SharePoint.
SharePoint 2016 Proyek Add-In SharePoint yang dibuat di Pratinjau Alat Pengembang Office 2 tidak dapat dibuka di Visual Studio 2022. Untuk mengatasi batasan ini, perbarui MinimumVisualStudioVersion ke 12.0 dan MinimumOfficeToolsVersion ke 12.2 dalam file csproj vbproj.
Silverlight Proyek Silverlight tidak didukung pada Visual Studio 2022. Untuk mempertahankan aplikasi Silverlight, terus gunakan Visual Studio 2015.
SQL - Redgate SQL Change Automation Core Redgate (sebelumnya disebut ReadyRoll Core), SQL Prompt Core, dan SQL Search tidak lagi dikirim di alat penginstal Visual Studio.

Anda dapat terus menggunakan Visual Studio 2017 untuk fitur-fitur ini. Pada Visual Studio 2019, Anda dapat meningkatkan ke produk SQL Change Automation dan SQL Prompt berbayar yang tersedia di SQL Toolbelt Redgate.
Layanan Pelaporan SQL Server dan SQL Server Analysis Services (SSRS, SSDT, SSAS, MSAS) Dukungan untuk jenis proyek ini disediakan melalui dua ekstensi di Visual Studio Gallery: Microsoft Analysis Services Projects dan Microsoft Reporting Services Projects. Dukungan SSDT juga disertakan dengan beban kerja Data Storage dan Pemrosesan pada Visual Studio 2019. Untuk informasi selengkapnya, lihat halaman Unduh dan instal SQL Server Data Tools (SSDT) untuk Visual Studio.
SQL Server Integration Services (SSIS) Dukungan untuk Visual Studio 2019 tersedia. Untuk informasi selengkapnya, lihat halaman Unduh dan instal SQL Server Data Tools (SSDT) untuk Visual Studio, blog tim SQL Server Integration Services (SSIS), dan halaman Proyek layanan integrasi SQL Server di Marketplace.
Uji Ekstensi Jendela Pada Visual Studio 2019, beberapa API jendela pengujian yang sebelumnya ditandai publik tetapi tidak pernah didokumenkan secara resmi telah dihapus. API yang terlihat secara luas ditandai tidak digunakan lagi pada Visual Studio 2017 untuk memberi pemeliharaan ekstensi peringatan dini. Sepengetahuan kami, beberapa ekstensi telah mengambil dependensi pada API ini. Untuk informasi dan pembaruan selengkapnya, lihat daftar lengkap API terkait pengujian yang tidak digunakan lagi. Jika ini memengaruhi skenario Anda, beri tahu kami melalui Komunitas Pengembang Visual Studio.
TypeScript TypeScript SDK tidak digunakan lagi pada Visual Studio 2022 dan tidak lagi diinstal secara default dalam beban kerja apa pun. Proyek yang mengkompilasi TypeScript harus menginstal paket NuGet Microsoft.TypeScript.MSBuild. Untuk mendukung proyek yang tidak dapat segera ditingkatkan, TypeScript SDK masih tersedia sebagai komponen opsional di alat penginstal Visual Studio, serta di Visual Studio Marketplace.
Visual C++ Anda dapat menggunakan Visual Studio 2022 untuk bekerja dalam proyek yang dibuat di versi Visual Studio sebelumnya kembali ke Visual Studio 2010. Saat pertama kali membuka proyek, Anda memiliki opsi untuk meningkatkan ke pengkompilasi dan toolset terbaru atau untuk terus menggunakan yang asli. Jika Anda memilih untuk tetap menggunakan yang asli, Visual Studio 2022 tidak mengubah file proyek, dan menggunakan toolset dari penginstalan Visual Studio sebelumnya untuk membangun proyek Anda. Menyimpan opsi asli berarti Anda masih dapat membuka proyek dalam versi asli Visual Studio jika perlu. Untuk informasi selengkapnya, lihat Menggunakan multi-penargetan asli di Visual Studio untuk membangun proyek lama.
Visual Studio Ekstensibilitas/VSIX Proyek dengan MinimumVersion 14.0 atau kurang diperbarui untuk mendeklarasikan MinimumVersion 15.0, yang mencegah proyek dibuka di versi Visual Studio sebelumnya. Untuk mengizinkan proyek terbuka di versi yang lebih lama, atur MinimumVersion ke $(VisualStudioVersion). Lihat juga Cara: Memigrasikan Proyek Ekstensibilitas ke Visual Studio 2017.
Visual Studio Lab Management Anda dapat menggunakan Manajer Pengujian Microsoft atau Visual Studio 2010 SP1 dan yang lebih baru untuk membuka lingkungan yang dibuat di salah satu versi ini. Namun, untuk Visual Studio 2010 SP1 versi Manajer Pengujian Microsoft harus cocok dengan versi Team Foundation Server sebelum Anda dapat membuat lingkungan. (Penting: Team Foundation Server, atau TFS, sekarang dikenal sebagai Azure DevOps Server.)
Alat Visual Studio untuk Apache Cordova Dukungan untuk Apache Cordova dihapus pada Visual Studio 2019. Karena tidak ada yang setara di Visual Studio 2022, tidak ada jalur migrasi otomatis untuk proyek tersebut.

Anda dapat menggunakan ekstensi Cordova Tools for Visual Studio Code (yang menyediakan dukungan untuk versi terbaru Cordova) atau terus menggunakan Visual Studio 2017.
Penyebaran Web (wdproj) Dukungan untuk proyek Penyebaran Web dihapus di Visual Studio 2012 dengan penambahan dukungan profil penerbitan. Karena tidak ada yang setara di Visual Studio 2022, tidak ada jalur migrasi otomatis untuk proyek tersebut. Sebagai gantinya, buka file wdproj di editor teks dan salin-tempel kustomisasi apa pun ke dalam file pubxml (profil penerbitan), seperti yang dijelaskan di StackOverflow.
Windows Communication Foundation, Windows Workflow Foundation Anda dapat membuka proyek ini pada Visual Studio 2022, Visual Studio 2019, Visual Studio 2017, Visual Studio 2015, Visual Studio 2013, dan Visual Studio 2012.
Windows Presentation Foundation Anda dapat membuka proyek ini pada Visual Studio 2022, Visual Studio 2019, Visual Studio 2017, Visual Studio 2013, Visual Studio 2012, dan Visual Studio 2010 SP1.
Aplikasi Windows Phone Proyek untuk Windows Telepon tidak didukung di Visual Studio 2022.

Untuk mempertahankan aplikasi Windows Phone 8.x, gunakan Visual Studio 2015. Untuk mempertahankan proyek Windows Phone 7.x, gunakan Visual Studio 2012.
Aplikasi Windows Store JavaScript Universal Windows Projects tidak didukung di Visual Studio 2022. Untuk mempertahankan proyek-proyek ini, gunakan Visual Studio 2017.

Windows 10 SDK sebelum Windows 10 Fall Creators Update (build 16299) telah dihapus dari alat penginstal Visual Studio 2019. Anda dapat mengunduh SDK yang lebih lama secara manual atau menargetkan ulang proyek Anda untuk menggunakan SDK yang lebih baru.

Proyek Windows Universal yang menggunakan project.json tidak didukung. Sebaiknya tingkatkan proyek ini untuk menggunakan referensi paket. Secara bergantian, tambahkan referensi ke Microsoft.NET.Test.Sdk versi 16.0.0.0 di file project.json.

Proyek untuk Windows Store 8.1 dan 8.0 tidak didukung di Visual Studio 2022. Untuk mempertahankan aplikasi ini, terus gunakan Visual Studio 2015.
Xamarin Ekstensi Xamarin Live Player untuk Visual Studio dan Visual Studio untuk Mac telah dihapus. Ini menghapus layar pemasangan dan integrasi apa pun. Sebagai gantinya, gunakan Pemratinjau Xamarin.Forms bawaan.

Emulator Visual Studio untuk Android telah dihapus dari Penginstal Visual Studio. Sebagai gantinya, gunakan dukungan Hyper-V baru di emulator Google Android.

Memigrasikan proyek

Meskipun kami mencoba mempertahankan kompatibilitas dengan versi sebelumnya, mungkin ada perubahan yang tidak kompatibel dengan versi sebelumnya. Saat ini terjadi, versi Visual Studio yang lebih baru tidak akan memuat proyek atau menawarkan jalur migrasi. Anda mungkin harus mempertahankan proyek tersebut di versi Visual Studio sebelumnya. Untuk informasi selengkapnya tentang jenis proyek yang didukung di Visual Studio 2022, lihat halaman Penargetan dan Kompatibilitas Platform.

Terkadang, versi Visual Studio yang lebih baru dapat membuka proyek, tetapi harus memperbarui atau memigrasikan proyek dengan cara yang mungkin membuatnya tidak kompatibel dengan versi sebelumnya. Visual Studio menggunakan kriteria berikut untuk menentukan apakah migrasi tersebut diperlukan:

  • Kompatibilitas dengan versi platform target, kembali ke RTM Visual Studio 2013.

  • Kompatibilitas aset waktu desain dengan versi Visual Studio sebelumnya. (Yaitu saluran yang berbeda dari Visual Studio 2022, Visual Studio 2019, Visual Studio 2017, Visual Studio 2015 RTM & Update 3, Visual Studio 2013 RTM & Update 5, Visual Studio 2012 Update 4, dan Visual Studio 2010 SP1.) Visual Studio 2022 bertujuan untuk gagal dengan aset waktu desain yang tidak digunakan lagi tanpa merusaknya, sehingga versi sebelumnya masih dapat membuka proyek.

  • Apakah aset waktu desain baru akan memecah kompatibilitas dengan versi sebelumnya ke Visual Studio 2013 RTM & Update 5.

Tim teknik yang memiliki jenis proyek melihat kriteria ini dan melakukan panggilan di mana dukungan, kompatibilitas, dan migrasi menjadi perhatian. Sekali lagi, kami mencoba mempertahankan kompatibilitas antara versi Visual Studio sehingga ketika Anda membuat dan memodifikasi proyek dalam satu versi Visual Studio, itu hanya berfungsi di versi lain.

Terkadang, kompatibilitas tidak dimungkinkan. Kemudian, Visual Studio membuka wizard peningkatan untuk membuat perubahan satu arah yang diperlukan. Perubahan satu arah ini mungkin melibatkan perubahan ToolsVersion properti dalam file proyek, yang menunjukkan dengan tepat versi MSBuild mana yang dapat mengubah kode sumber proyek menjadi artefak yang dapat dijalankan dan dapat disebarkan yang Anda inginkan.

Apa yang merender proyek yang tidak kompatibel dengan versi Visual Studio sebelumnya bukan versi Visual Studio , tetapi versi MSBuild , seperti yang ditentukan oleh ToolsVersion. Jika versi Visual Studio Anda berisi toolchain MSBuild yang cocok dengan ToolsVersion dalam proyek, Visual Studio dapat memanggil toolchain tersebut untuk membangun proyek.

Untuk mempertahankan kompatibilitas dengan proyek yang Anda buat di versi sebelumnya, Visual Studio 2022 menyertakan toolchain MSBuild yang diperlukan untuk mendukung ToolsVersion 15, 14, 12, dan 4. Proyek yang menggunakan salah satu nilai ini ToolsVersion harus menghasilkan build yang berhasil. (Subjek, sekali lagi, untuk apakah Visual Studio 2022 mendukung jenis proyek, seperti yang dijelaskan pada Penargetan dan Kompatibilitas Platform.)

Anda mungkin tergoda untuk memperbarui atau memigrasikan proyek secara manual ke nilai yang lebih ToolsVersion baru. Tidak perlu membuat perubahan seperti itu, dan kemungkinan akan menghasilkan banyak kesalahan dan peringatan yang harus Anda perbaiki untuk membuat proyek dibangun lagi. Selain itu, jika Visual Studio tidak mendukung secara spesifik ToolsVersion di masa mendatang, proyek akan memicu proses migrasi proyek saat Anda membukanya karena nilainya ToolsVersion harus diubah.