MSBuild hedef çerçevesi ve hedef platformu

Bir proje, .NET Framework'ün belirli bir sürümü olan bir hedef çerçevede ve belirli bir yazılım mimarisi olan hedef platformda çalışacak şekilde oluşturulabilir. Örneğin, bir uygulamayı 80x86 işlemci ailesi ("x86") ile uyumlu bir 32 bit platformda .NET Framework 2.0 üzerinde çalışacak şekilde hedefleyebilirsiniz. Hedef çerçeve ile hedef platformun birleşimi, hedef bağlam olarak bilinir.

Önemli

Bu makalede, hedef çerçeve belirtmenin eski yolu gösterilmektedir. SDK stilindeki projeler, netstandard gibi farklı TargetFrameworks'leri etkinleştirir. Daha fazla bilgi için bkz . Hedef çerçeveler.

Hedef çerçeve ve profil

Hedef çerçeve, projenizin üzerinde çalışmak üzere derlenmiş olduğu .NET Framework'ün belirli bir sürümüdür. Bir hedef çerçevenin belirtimi gereklidir çünkü çerçevenin bu sürümüne özel derleyici özelliklerini ve derleme başvurularını etkinleştirir.

Şu anda aşağıdaki .NET Framework sürümleri kullanılabilir:

  • .NET Framework 2.0 (Visual Studio 2005'te bulunur)

  • .NET Framework 3.0 (Windows Vista'da bulunur)

  • .NET Framework 3.5 (Visual Studio 2008'de bulunur)

  • .NET Framework 4.0

  • .NET Framework 4.5.2

  • .NET Framework 4.6 (Visual Studio 2015'te bulunur)

  • .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

.NET Framework sürümleri, her birinin başvuru için kullanılabilir hale getirdiği derlemeler listesinde birbirinden farklıdır. Örneğin, projeniz .NET Framework sürüm 3.0 veya üzerini hedeflemediği sürece Windows Presentation Foundation (WPF) uygulamaları oluşturamazsınız.

Hedef çerçeve, proje dosyasındaki TargetFrameworkVersion özelliğinde belirtilir. Visual Studio tümleşik geliştirme ortamındaki (IDE) proje özellik sayfalarını kullanarak projenin hedef çerçevesini değiştirebilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: .NET Framework sürümünü hedefleme. için TargetFrameworkVersion kullanılabilir değerler , , v3.0, v4.0, v3.5, , v4.5.2, v4.6, , v4.6.1v4.7.1v4.7v4.6.2v4.7.2ve v4.8değerleridir.v2.0

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

Hedef profil, bir hedef çerçevenin alt kümesidir. Örneğin, .NET Framework 4 İstemci profili MSBuild derlemelerine başvuru içermez.

Dekont

Hedef profiller yalnızca taşınabilir sınıf kitaplıklarına uygulanır.

Hedef profil, proje dosyasındaki TargetFrameworkProfile özelliğinde belirtilir. IDE'deki proje özellik sayfalarında target-framework denetimini kullanarak hedef profili değiştirebilirsiniz.

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

Hedef platform

Platform, belirli bir çalışma zamanı ortamını tanımlayan donanım ve yazılımların birleşimidir. Örneğin:

  • x86 Intel 80x86 işlemci veya eşdeğeri üzerinde çalışan bir 32 bit Windows işletim sistemi belirler.
  • x64 Intel x64 işlemci veya eşdeğeri üzerinde çalışan 64 bit windows işletim sistemini belirler.
  • anycpu herhangi bir platformda çalışabilecek şekilde yapılandırılmış çıktıyı gösterir. Uygulamanız mümkün olduğunda 64 bit işlem olarak çalışır ve yalnızca bu mod kullanılabilir olduğunda 32 bit'e geri döner.
  • anycpu32bitpreferred herhangi bir platformda çalışan çıkışı belirler. Uygulamanız hem 64 bit hem de 32 bit uygulamaları destekleyen sistemlerde 32 bit modunda çalışır.
  • Xbox Microsoft Xbox 360 platformunu gösterir.
  • ARM derlemenizi, Gelişmiş RISC Makinesi (ARM) işlemcisi olan bir bilgisayarda çalışacak şekilde derler.
  • ARM64 derlemenizi, A64 yönerge kümesini destekleyen Gelişmiş RISC Makinesi (ARM) işlemcisine sahip bir bilgisayarda 64 bit CLR üzerinde çalışacak şekilde derler.

Hedef platform, projenizin üzerinde çalıştırılacak şekilde oluşturulduğu platformdur. Hedef platform, bir proje dosyasındaki PlatformTarget derleme özelliğinde belirtilir. Proje özellik sayfalarını veya IDE'deki Configuration Manager'ı kullanarak hedef platformu değiştirebilirsiniz.

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

Değer PlatformTarget , hangi çıkışın oluşturulacak olduğunu belirlemek için derleyiciye geçirilir. C# projeleri için C# derleyici seçeneğine -platformeşler. Platform seçenekleri Derleyici seçenekleri: PlatformTarget bölümünde daha ayrıntılı olarak açıklanmıştır.

Hedef yapılandırma, bir hedef platformun alt kümesidir. Örneğin, yapılandırma çoğu x86Debug kod iyileştirmesini içermez. Hedef yapılandırma, proje dosyasındaki Configuration derleme özelliğinde belirtilir. Proje özellik sayfalarını veya Configuration Manager'ı kullanarak hedef yapılandırmayı değiştirebilirsiniz.

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