Delen via


MSBuild-doelframework en doelplatform

Een project kan worden gebouwd om te worden uitgevoerd op een doelframework, een bepaalde versie van .NET Framework, en een doelplatform, een bepaalde softwarearchitectuur. U kunt bijvoorbeeld een toepassing uitvoeren op .NET Framework 2.0 op een 32-bits platform dat compatibel is met de 80x86-processorfamilie ('x86'). De combinatie van het doelframework en het doelplatform wordt de doelcontextgenoemd.

Belangrijk

In dit artikel ziet u de oude manier om een doelframework op te geven. Met SDK-projecten kunnen verschillende TargetFrameworks, zoals netstandard, worden ingeschakeld. Zie Target-frameworks voor meer informatie.

Doelframework en profiel

Een doelframework is de specifieke versie van .NET Framework waarop uw project is gebouwd om op te worden uitgevoerd. Specificatie van een doelframework is vereist omdat hiermee compilerfuncties en assemblyverwijzingen worden ingeschakeld die exclusief zijn voor die versie van het framework.

Op dit moment zijn de volgende versies van .NET Framework beschikbaar voor gebruik, hoewel sommige niet meer worden ondersteund door Microsoft en sommige hebben geplande toekomstige datums waarvoor ze niet meer worden ondersteund. Zie .NET Framework voor de meest recente ondersteuningsinformatie:

  • .NET Framework 2.0 (opgenomen in Visual Studio 2005)

  • .NET Framework 3.0 (opgenomen in Windows Vista)

  • .NET Framework 3.5 (opgenomen in Visual Studio 2008)

  • .NET Framework 4.0

  • .NET Framework 4.5.2

  • .NET Framework 4.6 (opgenomen in 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

De versies van .NET Framework verschillen van elkaar in de lijst met assembly's waarnaar wordt verwezen. U kunt bijvoorbeeld geen WPF-toepassingen (Windows Presentation Foundation) bouwen, tenzij uw project is gericht op .NET Framework versie 3.0 of hoger.

Het doelframework wordt opgegeven in de TargetFrameworkVersion eigenschap in het projectbestand. U kunt het doelframework voor een project wijzigen met behulp van de projecteigenschapspagina's in de IDE (Integrated Development Environment) van Visual Studio. Zie How to: Target a version of the .NET Framework voor meer informatie. De beschikbare waarden TargetFrameworkVersion zijn , , v2.0, v3.0, v4.0, v3.5, v4.5.2, , v4.6, v4.6.1, v4.6.2, v4.7en v4.7.1v4.7.2.v4.8

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

Een doelprofiel is een subset van een doelframework. Het .NET Framework 4-clientprofiel bevat bijvoorbeeld geen verwijzingen naar de MSBuild-assembly's.

Opmerking

Doelprofielen zijn alleen van toepassing op draagbare klassebibliotheken.

Het doelprofiel wordt opgegeven in de TargetFrameworkProfile eigenschap in een projectbestand. U kunt het doelprofiel wijzigen met behulp van het besturingselement target-framework op de projecteigenschapspagina's in de IDE.

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

Doelplatform

Een platform is een combinatie van hardware en software die een bepaalde runtime-omgeving definieert. Bijvoorbeeld

  • x86 wijst een 32-bits Windows-besturingssysteem aan dat wordt uitgevoerd op een Intel 80x86-processor of het equivalent daarvan.
  • x64 wijst een 64-bits Windows-besturingssysteem aan dat wordt uitgevoerd op een Intel x64-processor of het equivalent daarvan.
  • anycpu geeft uitvoer aan die is geconfigureerd om te kunnen worden uitgevoerd op elk platform. Uw toepassing wordt indien mogelijk uitgevoerd als een 64-bits proces en valt terug naar 32-bits wanneer alleen die modus beschikbaar is.
  • anycpu32bitpreferred geeft uitvoer aan die wordt uitgevoerd op elk platform. Uw toepassing wordt uitgevoerd in de 32-bits modus op systemen die zowel 64-bits als 32-bits toepassingen ondersteunen.
  • Xbox wijst het Microsoft Xbox 360-platform aan.
  • ARM compileert uw assembly om uit te voeren op een computer met een ADVANCED RISC Machine (ARM)-processor.
  • ARM64 compileert uw assembly om uit te voeren op de 64-bits CLR op een computer met een Advanced RISC Machine (ARM)-processor die ondersteuning biedt voor de A64-instructieset.

Een doelplatform is het specifieke platform waarop uw project is gebouwd om te worden uitgevoerd. Het doelplatform wordt opgegeven in de PlatformTarget build-eigenschap in een projectbestand. U kunt het doelplatform wijzigen met behulp van de projecteigenschapspagina's of Configuration Manager in de IDE.

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

De PlatformTarget waarde wordt doorgegeven aan de compiler om te bepalen welke uitvoer moet worden gegenereerd. Voor C#-projecten wordt deze toegewezen aan de C#-compileroptie -platform. De platformopties worden uitgebreid beschreven bij compileropties: PlatformTarget.

Een doelconfiguratie is een subset van een doelplatform. De configuratie bevat bijvoorbeeld niet de x86Debug meeste codeoptimalisaties. De doelconfiguratie wordt opgegeven in de Configuration build-eigenschap in een projectbestand. U kunt de doelconfiguratie wijzigen met behulp van de projecteigenschapspagina's of Configuration Manager.

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