Zestaw SDK nie wywołuje już funkcji ResolvePackageDependencies
Wcześniej zestaw SDK platformy .NET nazwał element docelowy ResolvePackageDependencies
w celu wygenerowania PackageDependencies
i PackageDefinitions
. Jednak te dane były już dostępne z innego miejsca docelowego. Zamiast tego te dwa elementy są teraz dodawane z PreprocessPackageDependenciesDesignTime
do pamięci podręcznej kompilacji w czasie projektowania, a poprzedni element docelowy nie jest wywoływany.
Wprowadzona wersja
Zestaw .NET SDK 7.0.200
Typ zmiany
Ta zmiana może mieć wpływ na zgodność źródła.
Poprzednie zachowanie
Istniejący element docelowy zestawu .NET SDK został wywołany, aby uzyskać informacje o pakietach, które były już dostępne.
Nowe zachowanie
Informacje o pakiecie są dodawane z PreprocessPackageDependenciesDesignTime
do pamięci podręcznej kompilacji w czasie projektowania. Jeśli zależysz od PackageDependencies
kompilacji i PackageDefinitions
w jej kompilacji, zobaczysz błędy kompilacji, takie jak Nie znaleziono zależności.
Przyczyna wprowadzenia zmiany
W niektórych sytuacjach wydajność była szczególnie niska dla poprzedniego celu. Rozwiązania z dużymi grafami zależności NuGet będą widzieć szybszą funkcję IntelliSense po załadowaniu rozwiązania, przełączeniu gałęzi lub wprowadzeniu zmian w całym rozwiązaniu podczas korzystania z funkcji zarządzania pakietami centralnymi.
Zalecana akcja
Jeśli kompilacja zależy od poprzedniego zachowania, dodaj <EmitLegacyAssetsFileItems>true</EmitLegacyAssetsFileItems>
właściwość do projektu, aby powrócić do starszego zachowania. Oczekujemy, że będzie to miało wpływ tylko na niewielką liczbę użytkowników.
<PropertyGroup>
<EmitLegacyAssetsFileItems>true</EmitLegacyAssetsFileItems>
</PropertyGroup>