Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Scénář
Projekt MyProject se pokouší obnovit duplicitní architektury, které jsou podporovány pouze ve výchozím překladač závislostí, pokud je .NET SDK verze 10.0.300 nebo novější. Upgradujte sadu .NET SDK nebo odeberte RestoreUseLegacyDependencyResolver, aby tuto funkci používala.
Problém
Soubor projektu obsahuje více TargetFrameworks položek, které se přeloží na stejnou architekturu NuGet.
Tento scénář se označuje jako aliasy architektury, kde se různé vlastnosti TargetFramework mapují na stejnou podkladovou architekturu.
Například soubor projektu podobný následujícímu definuje dvě cílové architektury, které se přeloží na stejnou net9.0 architekturu NuGet:
<PropertyGroup>
<TargetFrameworks>net9.0-custom1;net9.0-custom2</TargetFrameworks>
</PropertyGroup>
Aliasing architektury se podporuje jenom ve výchozím překladači závislostí, který vyžaduje .NET SDK 10.0.300 nebo novější (SdkAnalysisLevel10.0.300 nebo novější).
Pokud je starší verze překladače závislostí aktivní (protože verze sady SDK je starší nebo je RestoreUseLegacyDependencyResolver nastavená), formát souboru assetů nepodporuje duplicitní architektury a NuGet vyvolá tuto chybu.
Řešení
Při řešení této chyby použijte jeden z následujících přístupů:
- Upgrade na .NET SDK 10.0.300 nebo novější, který používá výchozí překladač závislostí podporující aliasing architektury.
-
RestoreUseLegacyDependencyResolverOdeberte vlastnost ze souboru projektu neboDirectory.Build.props, pokud je nastavená. To umožňuje NuGetu používat výchozí překladač závislostí. -
Odeberte z vlastnosti
TargetFrameworksduplicitní položky architektury, aby se každá cílová architektura přeložil na jedinečnou architekturu NuGet.