Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Scenario
Projektet "MyProject" försöker återställa duplicerade ramverk, som endast stöds i standardberoendelösaren när .NET SDK är version 10.0.300 eller senare. Uppgradera din .NET SDK eller ta bort RestoreUseLegacyDependencyResolver för att använda den här funktionen.
Problematik
Projektfilen har flera TargetFrameworks poster som matchar samma NuGet-ramverk.
Det här scenariot kallas för ramverksalias, där olika TargetFramework-egenskaper mappas till samma underliggande ramverk.
Till exempel definierar en projektfil som följande två målramverk som båda matchar samma net9.0 NuGet-ramverk:
<PropertyGroup>
<TargetFrameworks>net9.0-custom1;net9.0-custom2</TargetFrameworks>
</PropertyGroup>
Ramverksalias stöds endast i standardberoendelösaren, som kräver .NET SDK 10.0.300 eller senare (SdkAnalysisLevel av 10.0.300 eller senare).
När den äldre beroendelösaren är aktiv (antingen för att SDK-versionen är äldre eller för att RestoreUseLegacyDependencyResolver den har angetts) stöder inte filformatet för tillgångar duplicerade ramverk, och NuGet genererar det här felet.
Lösning
Använd någon av följande metoder för att lösa det här felet:
- Upgrade till .NET SDK 10.0.300 eller senare, som använder standardberoendelösaren som stöder ramverksalias.
-
Ta bort egenskapen
RestoreUseLegacyDependencyResolverfrån projektfilen ellerDirectory.Build.props, om den har angetts. Detta gör att NuGet kan använda standardberoendelösaren. -
Ta bort duplicerade ramverksposter från din
TargetFrameworksegenskap så att varje målramverk matchar ett unikt NuGet-ramverk.