Cílová architektura a cílová platforma nástroje MSBuild

Projekt lze sestavit tak, aby běžel v cílové architektuře, což je konkrétní verze rozhraní .NET Framework a cílová platforma, což je konkrétní softwarová architektura. Můžete například cílit na aplikaci, která se bude spouštět na rozhraní .NET Framework 2.0 na 32bitové platformě, která je kompatibilní s řady procesorů 80x86 (x86). Kombinace cílové architektury a cílové platformy se označuje jako cílový kontext.

Důležité

Tento článek ukazuje starý způsob určení cílové architektury. Projekty ve stylu sady SDK umožňují různé objekty TargetFrameworks, jako je netstandard. Další informace najdete v tématu Cílové architektury.

Cílová architektura a profil

Cílová architektura je konkrétní verze rozhraní .NET Framework, na které je projekt sestavený tak, aby běžel. Specifikace cílové architektury je vyžadována, protože umožňuje funkce kompilátoru a odkazy na sestavení, které jsou výhradní na danou verzi rozhraní.

V současné době jsou k dispozici následující verze rozhraní .NET Framework:

  • .NET Framework 2.0 (součástí sady Visual Studio 2005)

  • .NET Framework 3.0 (zahrnutý v systému Windows Vista)

  • .NET Framework 3.5 (součástí sady Visual Studio 2008)

  • .NET Framework 4.0

  • .NET Framework 4.5.2

  • .NET Framework 4.6 (součástí sady 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

Verze rozhraní .NET Framework se liší od sebe v seznamu sestavení, která každá z nich zpřístupňuje odkaz. Například nelze sestavit aplikace Windows Presentation Foundation (WPF), pokud váš projekt nebude cílit na rozhraní .NET Framework verze 3.0 nebo vyšší.

Cílová architektura je určena ve TargetFrameworkVersion vlastnosti v souboru projektu. Cílovou architekturu projektu můžete změnit pomocí stránek vlastností projektu v integrovaném vývojovém prostředí (IDE) sady Visual Studio. Další informace naleznete v tématu Postupy: Cílení na verzi rozhraní .NET Framework. Dostupné hodnoty jsou TargetFrameworkVersion , , v3.0, v4.0, v4.6.1v4.6.2v4.6v4.5.2v3.5, v4.7, , v4.7.1, , v4.7.2, a .v4.8v2.0

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

Cílový profil je podmnožinou cílové architektury. Například profil klienta rozhraní .NET Framework 4 neobsahuje odkazy na sestavení MSBuild.

Poznámka:

Cílové profily se vztahují pouze na přenosné knihovny tříd.

Cílový profil je určen ve TargetFrameworkProfile vlastnosti v souboru projektu. Cílový profil můžete změnit pomocí ovládacího prvku cílové architektury na stránkách vlastností projektu v integrovaném vývojovém prostředí ( IDE).

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

Cílová platforma

Platforma je kombinací hardwaru a softwaru, která definuje konkrétní běhové prostředí. Příklad:

  • x86 označuje 32bitový operační systém Windows, který běží na procesoru Intel 80x86 nebo jeho ekvivalentu.
  • x64 označuje 64bitový operační systém Windows, který běží na procesoru Intel x64 nebo jeho ekvivalentu.
  • anycpu určuje výstup, který je nakonfigurovaný tak, aby mohl běžet na libovolné platformě. Aplikace běží jako 64bitový proces, kdykoli je to možné, a vrátí se zpět na 32bitovou verzi, pokud je k dispozici pouze tento režim.
  • anycpu32bitpreferred určuje výstup, který běží na libovolné platformě. Vaše aplikace běží v 32bitovém režimu v systémech, které podporují 64bitové i 32bitové aplikace.
  • Xbox určuje platformu Microsoft Xbox 360.
  • ARM zkompiluje sestavení tak, aby bylo spuštěno v počítači, který má procesor ARM (Advanced RISC Machine).
  • ARM64 zkompiluje sestavení tak, aby běželo v 64bitovém modulu CLR na počítači s procesorem ARM (Advanced RISC Machine), který podporuje instrukční sadu A64.

Cílová platforma je konkrétní platforma, na které je váš projekt sestavený. Cílová platforma se zadává ve PlatformTarget vlastnosti sestavení v souboru projektu. Cílovou platformu můžete změnit pomocí stránek vlastností projektu nebo Configuration Manageru v integrovaném vývojovém prostředí ( IDE).

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

Tato PlatformTarget hodnota se předá kompilátoru, aby bylo možné určit, jaký výstup se má vygenerovat. V případě projektů jazyka C# se mapuje na možnost -platformkompilátoru jazyka C#. Možnosti platformy jsou podrobněji vysvětleny v možnostech kompilátoru: PlatformTarget.

Cílová konfigurace je podmnožinou cílové platformy. Konfigurace například x86Debug nezahrnuje většinu optimalizací kódu. Cílová konfigurace je zadána Configuration ve vlastnosti sestavení v souboru projektu. Cílovou konfiguraci můžete změnit pomocí stránek vlastností projektu nebo Configuration Manageru.

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