Delen via


Overzicht van de gerichtheid van het framework

In Visual Studio kunt u de versie van .NET opgeven waarop uw project moet worden gericht. Framework-targeting zorgt ervoor dat de toepassing alleen functionaliteit gebruikt die beschikbaar is in de opgegeven frameworkversie. Voor .NET Framework-apps die op een andere computer kunnen worden uitgevoerd, moet de frameworkversie waarop de toepassing is gericht compatibel zijn met de frameworkversie die op de computer is geïnstalleerd.

Een Visual Studio-oplossing kan projecten bevatten die zijn gericht op verschillende versies van .NET. Houd er echter rekening mee dat u alleen tegen één versie van .NET kunt bouwen, hetzij met behulp van voorwaardelijke referenties voor één enkele build, hetzij door verschillende binaire bestanden te maken voor elk doelframework. Zie Target Frameworksvoor meer informatie over doelframeworks.

Tip

U kunt ook toepassingen voor verschillende platforms instellen. Zie Multitargetingvoor meer informatie.

Framework-doelfuncties

Framework-targeting bevat de volgende functies:

  • Wanneer u een project opent dat is gericht op een eerdere frameworkversie, kan Visual Studio het project automatisch upgraden of het doel as-isverlaten.

  • Wanneer u een .NET Framework-project maakt, kunt u de versie opgeven van het .NET Framework waarop u zich wilt richten.

  • U kunt meerdere frameworks targeten in één project.

  • U kunt zich richten op een andere versie van .NET in elk van de verschillende projecten in dezelfde oplossing.

  • U kunt de versie van .NET wijzigen waarop een bestaand project is gericht.

    Wanneer u de versie van .NET wijzigt waarop een project is gericht, brengt Visual Studio de vereiste wijzigingen aan in verwijzingen en configuratiebestanden.

Wanneer u aan een project werkt dat gericht is op een eerdere frameworkversie, wijzigt Visual Studio de ontwikkelomgeving als volgt:

  • Het filtert items in het dialoogvenster Nieuw item toevoegen, het dialoogvenster Nieuwe verwijzing toevoegen en het dialoogvenster Servicereferentie toevoegen om keuzes weg te laten die niet beschikbaar zijn in de doelversie.

  • Het filtert aangepaste besturingselementen in de Toolbox om de besturingselementen te verwijderen die niet beschikbaar zijn in de doelversie en om alleen de meest up-to-datumbesturingselementen weer te geven wanneer er meerdere besturingselementen beschikbaar zijn.

  • Het filtert IntelliSense- om taalfuncties weg te laten die niet beschikbaar zijn in de doelversie.

  • Het filtert eigenschappen in het venster Eigenschappen om de eigenschappen weg te laten die niet beschikbaar zijn in de doelversie.

  • Het filtert menuopties om opties weg te laten die niet beschikbaar zijn in de doelversie.

  • Voor builds wordt de versie van de compiler en de compileropties gebruikt die geschikt zijn voor de doelversie.

Notitie

  • Framework-targeting garandeert niet dat uw toepassing correct wordt uitgevoerd. U moet uw toepassing testen om ervoor te zorgen dat deze wordt uitgevoerd op basis van de doelversie.
  • U kunt geen frameworkversies onder .NET Framework 2.0 instellen.

Het doelframework wijzigen

In een bestaand Visual Basic-, C#- of F#-project wijzigt u de doelversie van .NET in het dialoogvenster Projecteigenschappen. Raadpleeg voor meer informatie over het wijzigen van de doelversie voor C++-projecten, Hoe u het doelframework en de platformtoolset wijzigt,.

  1. Open in Solution Explorerhet snelmenu voor het project dat u wilt wijzigen en kies vervolgens Eigenschappen.

  2. Kies in de linkerkolom van het venster Eigenschappen het tabblad Toepassing.

    tabblad Toepassingseigenschappen van project

    Notitie

    Nadat u een UWP-app hebt gemaakt, kunt u de doelversie van Windows of .NET niet meer wijzigen.

  3. Kies in de lijst Target Framework de gewenste versie.

  4. Kies in het dialoogvenster dat wordt weergegeven de knop Ja.

    Het project wordt uitgeladen. Wanneer deze opnieuw wordt geladen, is deze gericht op de .NET-versie die u zojuist hebt gekozen.

  1. Open in Solution Explorerhet snelmenu voor het project dat u wilt wijzigen en kies vervolgens Eigenschappen.

  2. Kies in de linkerkolom van het venster Eigenschappen het tabblad Toepassing.

    Notitie

    Nadat u een UWP-app hebt gemaakt, kunt u de doelversie van Windows of .NET niet meer wijzigen.

  3. Kies in de lijst Target Framework de gewenste versie.

    Voor een .NET Framework-projectziet het dialoogvenster er ongeveer als volgt uit:

    Schermopname van het dialoogvenster Projecteigenschappen waarin .NET Framework-opties zijn gemarkeerd.

    Voor een .NET-projectziet het dialoogvenster er ongeveer als volgt uit:

    Schermopname van het tabblad Algemeen in het dialoogvenster Projecteigenschappen, met de selecties Doelframework weergegeven.

  4. Als er een verificatiedialoogvenster wordt weergegeven, kiest u de knop Ja.

    Het project wordt beëindigd. Wanneer deze opnieuw wordt geladen, is deze gericht op de .NET-versie die u zojuist hebt gekozen.

Meerdere frameworks targeten

Met .NET 5 en hoger kunt u een project bouwen voor meerdere frameworks in één build door het projectbestand handmatig te bewerken. Open het projectbestand en vervang de eigenschap TargetFramework door TargetFrameworksen geef de lijst met Target Framework Monikers (TFM's) op, gescheiden door puntkomma's, zoals in de volgende code:

   <TargetFrameworks>net7.0;net8.0</TargetFrameworks>

Zie de lijst met TFM's onder Target-frameworks in SDK-stijlprojecten.

U moet het project opnieuw laden nadat u deze wijziging hebt aangebracht. Als u daarna het venster Eigenschappen opent, kunt u de lijst met doelframeworks bewerken op het tabblad Toepassing.

Schermopname van het tabblad Algemeen in het dialoogvenster Projecteigenschappen, met de lijst 'Doelframeworks' weergegeven.

Notitie

Als uw code verwijzingen bevat naar een andere versie van .NET dan de versie waarop u hebt gericht, worden er mogelijk foutberichten weergegeven wanneer u de code compileert of uitvoert. Wijzig de verwijzingen om deze fouten op te lossen. Zie Problemen met .NET-doelfouten oplossen.

(No change proposed due to lack of context)

Afhankelijk van het doelframework kan het op de volgende manieren in het projectbestand worden weergegeven:

  • Voor een .NET Core-app: <TargetFramework>netcoreapp2.1</TargetFramework>
  • Voor een .NET Standard-app: <TargetFramework>netstandard2.0</TargetFramework>
  • Voor een .NET Framework-app: <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>

Een doelframeworkversie selecteren

Wanneer u een .NET Framework-project maakt, kunt u de doelversie van .NET Framework selecteren nadat u een projectsjabloon hebt geselecteerd. De lijst met beschikbare frameworks bevat de geïnstalleerde frameworkversies die van toepassing zijn op het geselecteerde sjabloontype. Voor non-.NET Framework-projectsjablonen, bijvoorbeeld .NET Core-sjablonen, wordt de vervolgkeuzelijst Framework niet weergegeven.

schermopname van de vervolgkeuzelijst Framework in Visual Studio 2019.

Als u ervoor kiest om een .NET Framework-project te maken, ziet u een interface die vergelijkbaar is met de volgende schermopname:

Schermopname van de vervolgkeuzelijst Framework in Visual Studio 2022.

Als u ervoor kiest om een .NET-project te maken, ziet u de gebruikersinterface (UI) die vergelijkbaar is met de volgende twee schermopnamen.

Het eerste scherm dat u ziet, is het dialoogvenster Configureren van uw nieuwe project.

schermopname van het dialoogvenster Uw nieuwe project configureren in Visual Studio 2022.

Het tweede scherm dat u ziet, is het dialoogvenster Aanvullende opties.

Schermafbeelding van het dialoogvenster Extra opties in Visual Studio 2022.

Systeem- en gebruikersassemblyverwijzingen oplossen

Als u een .NET-versie wilt gebruiken, moet u eerst de juiste assemblyverwijzingen installeren. U kunt ontwikkelaarspakketten voor verschillende versies van .NET downloaden op de .NET-downloads pagina.

Voor .NET Framework-projecten schakelt het dialoogvenster Verwijzing toevoegen systeemassembly's uit die niet betrekking hebben op de doelversie van .NET Framework, zodat ze niet per ongeluk aan een project kunnen worden toegevoegd. (Systeemassembly's zijn .dll bestanden die zijn opgenomen in een .NET Framework-versie.) Verwijzingen die deel uitmaken van een frameworkversie die hoger is dan de doelversie, worden niet omgezet en besturingselementen die afhankelijk zijn van een dergelijke verwijzing, kunnen niet worden toegevoegd. Als u een dergelijke verwijzing wilt inschakelen, stelt u het .NET Framework-doel van het project opnieuw in op een doel dat de verwijzing bevat.

Zie Assemblies oplossen tijdens het ontwerpenvoor meer informatie over assembly-referenties.

LINQ inschakelen

Wanneer u zich richt op .NET Framework 3.5 of hoger, wordt automatisch een verwijzing naar System.Core- en een import op projectniveau voor System.Linq (alleen in Visual Basic) toegevoegd. Als u LINQ-functies wilt gebruiken, moet u ook Option Infer inschakelen (alleen in Visual Basic). De verwijzing en de import worden automatisch verwijderd als u de doelversie wijzigt naar een oudere versie van het .NET Framework. Zie Werken met LINQvoor meer informatie.

Zie ook