Mengonfigurasi proyek ke platform target
Visual Studio memungkinkan Anda menyiapkan build aplikasi untuk menargetkan platform yang berbeda (arsitektur prosesor), termasuk Arm64 dan platform lainnya. Anda tidak perlu menjalankan Visual Studio pada platform untuk membangun platform target tersebut. Untuk informasi selengkapnya tentang dukungan Arm64 di Visual Studio, lihat Visual Studio di perangkat yang didukung ARM. Untuk dukungan platform 64-bit untuk pengembangan .NET, lihat aplikasi 64-bit.
Catatan
Visual Studio 2022 berjalan sebagai aplikasi 64-bit. Ini benar-benar terpisah dari platform yang dapat Anda targetkan untuk proyek Anda di Visual Studio. Anda dapat menggunakan versi Visual Studio apa pun untuk menargetkan platform 32-bit dan 64-bit.
Visual Studio memungkinkan Anda menyiapkan build aplikasi untuk menargetkan platform yang berbeda (arsitektur prosesor), seperti x86 dan x64. Untuk dukungan platform 64-bit untuk pengembangan .NET, lihat aplikasi 64-bit.
Catatan
Visual Studio berjalan sebagai aplikasi 32-bit. Ini benar-benar terpisah dari platform yang dapat Anda targetkan untuk proyek Anda di Visual Studio. Anda dapat menggunakan versi Visual Studio apa pun untuk menargetkan platform 32-bit dan 64-bit.
Platform target dengan Configuration Manager
Configuration Manager menyediakan cara bagi Anda untuk dengan cepat menambahkan platform baru ke target dengan proyek Anda. Jika Anda memilih salah satu platform yang disertakan dengan Visual Studio, konfigurasi disiapkan untuk membangun proyek Anda untuk platform yang dipilih.
Untuk menargetkan beberapa platform dalam proyek C++ asli, Anda perlu menginstal alat build untuk platform. Alat build C++ untuk platform x86, dan x64 diinstal dengan beban kerja C++ default. Jika Anda menargetkan arsitektur prosesor lain, seperti Arm64, Anda perlu menggunakan Alat Penginstal Visual Studio untuk menginstal alat build untuk platform sebelum melanjutkan. Lihat Ubah Visual Studio. Anda tidak perlu menjalankan Visual Studio pada perangkat Arm64 untuk menargetkan Arm64. Untuk Arm64, Anda dapat menginstal alat build Arm64 atau alat build ARM64EC ; lihat Arm64 Visual Studio.
Untuk pengembangan .NET, .NET 6 atau yang lebih baru diperlukan untuk menargetkan platform Arm64. Lihat Dukungan .NET untuk macOS 11 dan Windows 11 untuk Arm64 dan x64.
Untuk mengonfigurasi proyek untuk menargetkan Arm64 dan platform lainnya
Pada bilah menu, pilih Build>Configuration Manager.
Dalam daftar Platform solusi aktif, pilih platform untuk ditargetkan solusi, lalu pilih tombol Tutup.
Jika platform yang Anda inginkan tidak muncul di daftar Platform solusi aktif, pilih Baru. Setelah menginstal alat untuk platform tertentu, Anda akan dapat menambahkan solusi baru dan konfigurasi proyek yang menargetkan platform tersebut.
Kotak dialog Platform Solusi Baru akan muncul.
Di jenis atau pilih daftar platform baru, pilih platform yang diinginkan (arsitektur prosesor); misalnya,
ARM64
.Catatan
Jika Anda memberi konfigurasi Anda nama baru, Anda mungkin harus mengubah pengaturan di Perancang Proyek untuk menargetkan platform yang benar.
Jika Anda ingin menyalin pengaturan dari konfigurasi platform saat ini, pilih pengaturan tersebut, lalu pilih tombol OK .
Untuk mengonfigurasi proyek untuk menargetkan platform yang berbeda
Pada bilah menu, pilih Build>Configuration Manager.
Dalam daftar Platform solusi aktif, pilih platform untuk ditargetkan solusi, lalu pilih tombol Tutup.
Jika platform yang Anda inginkan tidak muncul di daftar Platform solusi aktif, pilih Baru. Setelah menginstal alat untuk platform tertentu, Anda akan dapat menambahkan solusi baru dan konfigurasi proyek yang menargetkan platform tersebut.
Kotak dialog Platform Solusi Baru akan muncul.
Di jenis atau pilih daftar platform baru, pilih platform yang diinginkan (arsitektur prosesor); misalnya,
x64
.Catatan
Jika Anda memberi konfigurasi Anda nama baru, Anda mungkin harus mengubah pengaturan di Perancang Proyek untuk menargetkan platform yang benar.
Jika Anda ingin menyalin pengaturan dari konfigurasi platform saat ini, pilih pengaturan tersebut, lalu pilih tombol OK .
Catatan
Nama platform Win32 digunakan untuk proyek C++, dan itu berarti x86. Visual Studio mempertimbangkan platform tingkat proyek dan platform tingkat solusi, dan platform proyek berasal dari sistem proyek khusus bahasa. Proyek C++ menggunakan Win32 dan x64, tetapi platform solusi menggunakan x86 dan x64. Saat Anda memilih x86 sebagai konfigurasi solusi, Visual Studio memilih platform Win32 untuk proyek C++. Untuk melihat pengaturan platform tingkat proyek dan platform tingkat solusi, buka Configuration Manager dan perhatikan dua pengaturan platform. Platform tingkat solusi ditampilkan di menu dropdown platform solusi Aktif, dan tabel menunjukkan platform tingkat proyek untuk setiap proyek.
Platform target di UI Project Designer atau Project Properties
Perancang Proyek atau UI Properti Proyek juga menyediakan cara untuk menargetkan platform yang berbeda dengan proyek Anda. Jika memilih salah satu platform yang disertakan dalam daftar dalam kotak dialog Platform Solusi Baru tidak berfungsi untuk solusi Anda, Anda dapat membuat nama konfigurasi kustom dan memodifikasi pengaturan di Properti Proyek untuk menargetkan platform yang benar.
Melakukan tugas ini bervariasi berdasarkan bahasa pemrograman yang Anda gunakan. Lihat tautan berikut untuk informasi selengkapnya:
Untuk proyek Visual Basic, lihat /platform (Visual Basic).
Untuk proyek C#, lihat Halaman build, Project Designer (C#).
Mengedit file proyek secara manual
Terkadang, Anda perlu mengedit file proyek secara manual untuk beberapa konfigurasi kustom. Contohnya adalah ketika Anda memiliki kondisi yang tidak dapat ditentukan dalam IDE, seperti referensi yang berbeda untuk dua platform berbeda, atau rakitan yang harus didaftarkan untuk platform tertentu untuk mengeksposnya ke COM. Alat yang memproses file proyek adalah MSBuild.
Perhatian
Mengedit file proyek C++ yang Anda gunakan secara manual di Visual Studio tidak disarankan.
Pendaftaran COM
Jika Anda membangun rakitan .NET dan mengeksposnya ke COM, Visual Studio mendaftarkan assembly dengan arsitektur platform tertentu, karena ada lokasi registri yang berbeda untuk setiap arsitektur platform (misalnya, x86
dan x64
). Jika rakitan Anda sudah menargetkan platform tertentu, maka itu digunakan, tetapi jika Anda mendaftarkan rakitan .NET yang dibuat untuk Any CPU
, MSBuild default untuk mendaftarkannya untuk runtime MSBuild saat ini. Jika Anda membangun di Visual Studio, itu di x64
Visual Studio 2022 dan yang lebih baru, dan x86
di Visual Studio 2019 dan yang lebih lama. Jika Anda mengatur arsitektur platform menggunakan metode yang dijelaskan sebelumnya dalam artikel ini, atau menentukan yang berbeda PlatformTarget
dalam file proyek, MSBuild akan menghormatinya saat mendaftar. Ada properti yang dapat Anda atur untuk mengambil alih perilaku ini, RegisterAssemblyMSBuildArchitecture
. Anda dapat mengatur RegisterAssemblyMSBuildArchitecture
ke arsitektur platform yang diinginkan (seperti x86
atau x64
) dengan menambahkannya ke elemen tingkat PropertyGroup
atas dalam file proyek.
Mereferensikan rakitan dan DLL x86 dan x64
Anda mungkin memiliki rakitan .NET atau DLL yang memiliki versi x86 dan x64. Untuk menyiapkan proyek Anda untuk menggunakan referensi ini, pertama-tama tambahkan referensi, lalu buka file proyek dan edit untuk menambahkan ItemGroup
dengan kondisi yang mereferensikan konfigurasi, dan platform target. Misalnya, biner yang Anda rujuk adalah ClassLibrary1 dan ada jalur yang berbeda untuk konfigurasi Debug dan Rilis, serta versi x86 dan x64. Kemudian, gunakan empat ItemGroup
elemen dengan semua kombinasi pengaturan, sebagai berikut:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<Platforms>AnyCPU;x64;x86</Platforms>
</PropertyGroup>
<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64'">
<Reference Include="ClassLibrary1">
<HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x64\Debug\netstandard2.0\ClassLibrary1.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64'">
<Reference Include="ClassLibrary1">
<HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x64\Release\netstandard2.0\ClassLibrary1.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86'">
<Reference Include="ClassLibrary1">
<HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x86\Debug\netstandard2.0\ClassLibrary1.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86'">
<Reference Include="ClassLibrary1">
<HintPath>..\..\ClassLibrary1\ClassLibrary1\bin\x86\Release\netstandard2.0\ClassLibrary1.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
Untuk informasi selengkapnya tentang file proyek, lihat Referensi skema file proyek MSBuild.
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk