Delen via


Problemen met .NET Framework-doelfouten oplossen

Van toepassing op: Visual Studio

In dit onderwerp worden MSBuild-fouten beschreven die kunnen optreden vanwege referentieproblemen en hoe u deze fouten kunt oplossen.

Verwijzen naar een project of assembly die is gericht op een andere versie van .NET

U kunt toepassingen maken die verwijzen naar projecten of assembly's die zijn gericht op verschillende versies van .NET. U kunt bijvoorbeeld een toepassing maken die is gericht op .NET 6, maar verwijst naar een assembly die is gericht op .NET Core 3.1. U kunt echter geen verwijzing instellen in een project dat is gericht op een eerdere versie van .NET op een project of assembly die is gericht op .NET 6. Hier volgt een voorbeeld van de fout die u in dit geval kunt zien:

error NU1201: Project ClassLibrary-NET6 is not compatible with netcoreapp3.1 (.NETCoreApp,Version=v3.1). Project ClassLibrary-NET6 supports: net6.0 (.NETCoreApp,Version=v6.0)
2>Done building project "ClassLibrary-NET31.csproj" -- FAILED.

Als u de fout wilt oplossen, moet u ervoor zorgen dat uw toepassing is gericht op een .NET-versie die compatibel is met de versie waarop de projecten of assembly's van uw toepassing betrekking hebben.

Een project opnieuw richten op een andere versie van .NET

Als u de doelversie van .NET voor uw toepassing wijzigt, worden enkele verwijzingen in Visual Studio gewijzigd, maar moet u mogelijk enkele verwijzingen handmatig bijwerken. Een van de eerder genoemde fouten kan bijvoorbeeld optreden als u een toepassing wijzigt in .NET Core 3.1 en die toepassing verwijzingen, resources of instellingen bevat die afhankelijk zijn van .NET 6.

Schermopname van het wijzigen van het doelframework in Visual Studio.

Verwijzingen in app.config bijwerken

Voer de volgende stappen uit om toepassingsinstellingen in .NET Framework-toepassingen te omzeilen:

  1. Open Solution Explorer.
  2. Selecteer Alle bestanden weergeven en bewerk vervolgens het bestand app.config in de XML-editor van Visual Studio.
  3. Wijzig de versie in de instellingen zodat deze overeenkomt met de juiste versie van .NET. U kunt bijvoorbeeld de versie-instelling wijzigen van 4.0.0.0 in 2.0.0.0.

Voer voor een toepassing die resources heeft toegevoegd, ook de volgende stappen uit:

  1. Open Solution Explorer.
  2. Selecteer Alle bestanden weergeven.
  3. Vouw Mijn project (Visual Basic) of Eigenschappen (C#) uit en bewerk vervolgens het bestand Resources.resx in de XML-editor van Visual Studio.
  4. Wijzig de versie-instelling van 4.0.0.0 in 2.0.0.0.

Resources bijwerken

Als uw toepassing resources heeft, zoals pictogrammen of bitmaps of instellingen zoals gegevens verbindingsreeks s, kunt u de fout ook oplossen door alle items op de pagina Instellingen van projectontwerper te verwijderen en vervolgens de vereiste instellingen te lezen.

U richt een project opnieuw op een andere versie van .NET en verwijzingen worden niet omgezet

Als u een project opnieuw richt op een andere versie van .NET, worden uw verwijzingen in sommige gevallen mogelijk niet correct opgelost. Expliciete volledig gekwalificeerde verwijzingen naar assembly's veroorzaken dit probleem vaak, maar u kunt dit oplossen door de verwijzingen te verwijderen die niet worden opgelost en deze vervolgens weer aan het project toe te voegen. Als alternatief kunt u het projectbestand bewerken om de verwijzingen te vervangen. Verwijder eerst verwijzingen van het volgende formulier:

<Reference Include="System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />

Vervang ze vervolgens door het eenvoudige formulier:

<Reference Include="System.ServiceModel" />

Notitie

Nadat u het project hebt gesloten en opnieuw hebt geopend, moet u het project ook opnieuw opbouwen om ervoor te zorgen dat alle verwijzingen correct worden omgezet.

Verwijzingen