.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 in dit geval kan worden weergegeven:
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.
U kunt de fout oplossen door ervoor te zorgen dat uw toepassing is gericht op een .NET-versie die compatibel is met de versie waarop de projecten of assembly's waarnaar uw toepassing verwijst.
Een project opnieuw richten op een andere versie van .NET
Als u de doelversie van .NET voor uw toepassing wijzigt, wijzigt Visual Studio een aantal verwijzingen, maar mogelijk moet u sommige verwijzingen handmatig bijwerken. Een van de eerder genoemde fouten kan bijvoorbeeld optreden als u een toepassing wijzigt in doel .NET Core 3.1 en die toepassing verwijzingen, resources of instellingen bevat die afhankelijk zijn van .NET 6.
Verwijzingen in app.config bijwerken
Voer de volgende stappen uit om toepassingsinstellingen in .NET Framework toepassingen te omzeilen:
- Open Solution Explorer.
- Selecteer Alle bestanden weergeven en bewerk vervolgens het app.config-bestand in de XML-editor van Visual Studio.
- 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 met toegevoegde resources ook de volgende stappen uit:
- Open Solution Explorer.
- Selecteer Alle bestanden weergeven.
- Vouw Mijn project (Visual Basic) of Eigenschappen (C#) uit en bewerk vervolgens het bestand Resources.resx in de XML-editor van Visual Studio.
- Wijzig de versie-instelling van 4.0.0.0 in 2.0.0.0.
Resources bijwerken
Als uw toepassing resources bevat zoals pictogrammen of bitmaps of instellingen zoals gegevensverbindingsreeksen, kunt u de fout ook oplossen door alle items op de pagina Instellingen van de Project-Designer 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 omgezet. Expliciete volledig gekwalificeerde verwijzingen naar assembly's veroorzaken dit probleem vaak, maar u kunt dit oplossen door de verwijzingen die niet worden opgelost te verwijderen en vervolgens weer toe te voegen aan het project. 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" />
Opmerking
Nadat u uw project hebt gesloten en opnieuw hebt geopend, moet u het ook opnieuw opbouwen om ervoor te zorgen dat alle verwijzingen correct worden omgezet.