Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Scenario
Projekt "MyProject" próbuje przywrócić zduplikowane struktury, które są obsługiwane tylko w domyślnym rozpoznawaniu zależności, gdy zestaw SDK .NET jest w wersji 10.0.300 lub nowszej. Uaktualnij zestaw SDK .NET lub usuń polecenie RestoreUseLegacyDependencyResolver, aby użyć tej funkcji.
Problematyka
Plik projektu zawiera wiele TargetFrameworks wpisów, które rozpoznają tę samą strukturę NuGet.
Ten scenariusz jest znany jako aliasowanie struktury, gdzie różne właściwości TargetFramework są mapowanie na tę samą podstawową strukturę.
Na przykład plik projektu podobny do poniższego definiuje dwie struktury docelowe, które obie są rozpoznawane w tej samej net9.0 strukturze NuGet:
<PropertyGroup>
<TargetFrameworks>net9.0-custom1;net9.0-custom2</TargetFrameworks>
</PropertyGroup>
Aliasowanie struktury jest obsługiwane tylko w domyślnym narzędziu rozpoznawania zależności, który wymaga .NET zestawu SDK 10.0.300 lub nowszego (SdkAnalysisLevel10.0.300 lub nowszym).
Gdy starszy program rozpoznawania zależności jest aktywny (ponieważ wersja zestawu SDK jest starsza lub RestoreUseLegacyDependencyResolver jest ustawiona), format pliku zasobów nie obsługuje zduplikowanych struktur, a pakiet NuGet zgłasza ten błąd.
Rozwiązanie
Aby rozwiązać ten błąd, użyj jednej z następujących metod:
- Upgrade do .NET zestawu SDK 10.0.300 lub nowszego który używa domyślnego narzędzia rozpoznawania zależności obsługującego aliasy platformy.
-
RestoreUseLegacyDependencyResolverUsuń właściwość z pliku projektu lubDirectory.Build.props, jeśli jest ustawiona. Dzięki temu program NuGet może używać domyślnego narzędzia rozpoznawania zależności. -
Usuń zduplikowane wpisy struktury z właściwości
TargetFrameworks, aby każda platforma docelowa rozpoznawała unikatową strukturę NuGet.