Meerdere frameworkversies en -platforms targeten
Met behulp van MSBuild kunt u een toepassing compileren om te worden uitgevoerd op een van de verschillende versies van .NET Framework en op een van de verschillende systeemplatforms. U kunt bijvoorbeeld een toepassing compileren die moet worden uitgevoerd op .NET Framework 2.0 op een 32-bits platform en dezelfde toepassing compileren die moet worden uitgevoerd op .NET Framework 4.5 op een 64-bits platform.
Notitie
In dit artikel wordt een ouder type multitargeting beschreven dat van toepassing is op .NET Framework-builds waarin een project slechts één framework en slechts één platform tegelijk kan richten. In .NET Core en .NET 5 en hoger kunt u een nieuwer type multitargeting gebruiken met behulp van de eigenschap TargetFrameworks
(meervoud) in een projectbestand. Wanneer u bouwt met dotnet build
of vergelijkbare .NET CLI-opdrachten, of met Visual Studio na het opnieuw laden van het project, gebruikt uw build het nieuwere type multitargeting, waarin meerdere builds plaatsvinden, één keer voor elk vermeld doelframework. Zie Doelraamwerken.
Dit zijn enkele van de functies van MSBuild targeting:
U kunt een toepassing ontwikkelen die is gericht op een eerdere versie van .NET Framework, bijvoorbeeld versie 2.0, 3.5 of 4.
U kunt zich richten op een ander framework dan .NET Framework, bijvoorbeeld het Silverlight Framework.
U kunt zich richten op een frameworkprofiel, wat een vooraf gedefinieerde subset van een doelframework is.
Als er een servicepack voor de huidige versie van .NET Framework wordt uitgebracht, kunt u deze als doel instellen.
MSBuild-targeting garandeert dat een toepassing alleen gebruikmaakt van de functionaliteit die beschikbaar is in het beoogde framework en platform.
Doelframework en doelplatform
Een doelframework is de versie van .NET Framework waarop een project is gebouwd om op te worden uitgevoerd en een doelplatform het systeemplatform is waarop het project is gebouwd om op te worden uitgevoerd. U kunt bijvoorbeeld een .NET Framework 2.0-toepassing gebruiken om te worden uitgevoerd op een 32-bits platform dat compatibel is met de 80x86-processorfamilie (x86). De combinatie van het doelframework en het doelplatform wordt de doelcontextgenoemd. Zie Target Framework en het doelplatformvoor meer informatie.
Hulpset (ToolsVersion)
Een toolset verzamelt de hulpprogramma's, taken en doelen die worden gebruikt om de toepassing te maken. Een toolset bevat compilers zoals csc.exe en vbc.exe, het bestand met algemene doelen (microsoft.common.targets) en het algemene takenbestand (microsoft.common.tasks). De 4.5 Toolset kan worden gebruikt voor .NET Framework-versies 2.0, 3.0, 3.5, 4 en 4.5. De 2.0 Toolset kan echter alleen worden gebruikt om te doelen op .NET Framework versie 2.0. Zie Toolset (ToolsVersion)voor meer informatie.
Referentieassemblies
De referentieassembly's die zijn opgegeven in de toolset helpen u bij het ontwerpen en bouwen van een toepassing. Deze referentieassembly's maken niet alleen een bepaalde doelbuild mogelijk, maar beperken ook onderdelen en functies in de Visual Studio IDE tot onderdelen die compatibel zijn met het doel. Zie Assemblies oplossen op het ontwerptijdspuntvoor meer informatie.
Configureer doelen en taken
U kunt MSBuild-doelen en -taken zo configureren dat ze niet meer worden verwerkt met MSBuild, zodat u contexten kunt richten die aanzienlijk afwijken van de context waarop u werkt. U kunt bijvoorbeeld een 32-bits .NET Framework 2.0-toepassing richten op een 64-bits platform met .NET Framework 4.5, terwijl de ontwikkelcomputer draait. Zie Doelen en taken configurerenvoor meer informatie.
Probleemoplossing
Er kunnen fouten optreden als u probeert te verwijzen naar een assembly die geen deel uitmaakt van de doelcontext. Zie Problemen met .NET Framework-doelfouten oplossenvoor meer informatie over deze fouten en wat u ermee kunt doen.