Bagikan melalui


Kerangka kerja target MSBuild dan platform target

Proyek dapat dibangun untuk dijalankan pada bingkai target, yang merupakan versi tertentu dari .NET Framework, dan platform target, yang merupakan arsitektur perangkat lunak tertentu. Misalnya, Anda dapat menargetkan aplikasi untuk dijalankan pada .NET Framework 2.0 pada platform 32-bit yang kompatibel dengan keluarga prosesor 80x86 ("x86"). Kombinasi bingkai target dan platform target dikenal sebagai konteks target.

Penting

Artikel ini memperlihatkan cara lama untuk menentukan bingkai target. Proyek bergaya SDK memungkinkan TargetFrameworks yang berbeda seperti netstandard. Untuk informasi selengkapnya, lihat Bingkai Target.

Bingkai dan profil target

Bingkai target adalah versi tertentu dari .NET Framework yang dibangun untuk menjalankan proyek Anda. Spesifikasi bingkai target diperlukan karena memungkinkan fitur pengkompilasi dan referensi perakitan yang eksklusif untuk versi bingkai tersebut.

Saat ini, versi .NET Framework berikut tersedia untuk digunakan:

  • .NET Framework 2.0 (termasuk dalam Visual Studio 2005)

  • .NET Framework 3.0 (termasuk dalam Windows Vista)

  • .NET Framework 3.5 (termasuk dalam Visual Studio 2008)

  • .NET Framework 4.0

  • .NET Framework 4.5.2

  • .NET Framework 4.6 (termasuk dalam Visual Studio 2015)

  • .NET Framework 4.6.1

  • .NET Framework 4.6.2

  • .NET Framework 4.7

  • .NET Framework 4.7.1

  • .NET Framework 4.7.2

  • .NET Framework 4.8

Versi .NET Framework berbeda satu sama lain dalam daftar rakitan yang masing-masing tersedia untuk referensi. Misalnya, Anda tidak dapat membuat aplikasi Windows Presentation Foundation (WPF) kecuali proyek Anda menargetkan .NET Framework versi 3.0 atau lebih tinggi.

Bingkai target ditentukan dalam properti TargetFrameworkVersion dalam file proyek. Anda dapat mengubah bingkai target untuk proyek dengan menggunakan halaman properti proyek di lingkungan pengembangan terpadu (IDE) Visual Studio. Untuk informasi selengkapnya, lihat Cara: Menargetkan versi .NET Framework. Nilai yang tersedia untuk TargetFrameworkVersion adalah v2.0, , v3.0, v3.5v4.0, v4.5.2, v4.6, v4.6.1, v4.6.2, v4.7, v4.7.1, v4.7.2, , dan v4.8.

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

Profil target adalah subset dari bingkai target. Misalnya, profil klien .NET Framework 4 tidak menyertakan referensi ke rakitan MSBuild.

Catatan

Profil target hanya berlaku untuk pustaka kelas portabel.

Profil target ditentukan dalam properti TargetFrameworkProfile dalam file proyek. Anda dapat mengubah profil target dengan menggunakan kontrol bingkai target di halaman properti proyek di IDE.

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>

Platform target

Platform adalah kombinasi perangkat keras dan perangkat lunak yang mendefinisikan lingkungan runtime tertentu. Contohnya,

  • x86menunjuk sistem operasi Windows 32-bit yang berjalan pada prosesor Intel 80x86 atau yang setara.
  • x64menunjuk sistem operasi Windows 64-bit yang berjalan pada prosesor Intel x64 atau yang setara.
  • anycpu menunjuk output yang dikonfigurasi untuk dapat berjalan pada platform apa pun. Aplikasi Anda berjalan sebagai proses 64-bit jika memungkinkan dan kembali ke 32-bit jika hanya mode tersebut yang tersedia.
  • anycpu32bitpreferred menunjuk output yang berjalan pada platform apa pun. Aplikasi Anda berjalan dalam mode 32-bit pada sistem yang mendukung aplikasi 64-bit dan 32-bit.
  • Xbox menunjuk platform Microsoft Xbox 360.
  • ARM kompilasi assembly Anda untuk berjalan di komputer yang memiliki prosesor Advanced RISC Machine (ARM).
  • ARM64 kompilasi assembly Anda untuk berjalan pada CLR 64-bit pada komputer yang memiliki prosesor Advanced RISC Machine (ARM) yang mendukung set instruksi A64.

Platform target adalah platform tertentu yang dibangun untuk dijalankan oleh proyek Anda. Platform target ditentukan dalam properti PlatformTarget build dalam file proyek. Anda dapat mengubah platform target dengan menggunakan halaman properti proyek atau Configuration Manager di IDE.

<PropertyGroup>
   <PlatformTarget>x86</PlatformTarget>
</PropertyGroup>

Nilai PlatformTarget diteruskan ke pengkompilasi untuk menentukan output apa yang akan dihasilkan. Untuk proyek C#, ia memetakan ke opsi -platformpengkompilasi C# . Opsi platform dijelaskan secara lebih rinci di opsi Compiler: PlatformTarget.

Konfigurasi target adalah subset dari platform target. Misalnya, x86 Debug konfigurasi tidak menyertakan sebagian besar pengoptimalan kode. Konfigurasi target ditentukan dalam properti Configuration build dalam file proyek. Anda dapat mengubah konfigurasi target dengan menggunakan halaman properti proyek atau Manajer Konfigurasi.

<PropertyGroup>
   <PlatformTarget>x86</PlatformTarget>
   <Configuration>Debug</Configuration>
</PropertyGroup>