El SDK ya no llama a ResolvePackageDependencies

Anteriormente, el SDK de .NET llamó al destino ResolvePackageDependencies para generar PackageDependencies y PackageDefinitions. Sin embargo, esos datos ya estaban disponibles desde un destino diferente. En su lugar, esos dos elementos ahora se agregan desde PreprocessPackageDependenciesDesignTime a la caché de compilación en tiempo de diseño y no se llama al destino anterior.

Versión introducida

SDK DE .NET 7.0.200

Tipo de cambio

Este cambio puede afectar a la compatibilidad de orígenes.

Comportamiento anterior

Se llamó a un destino del SDK de .NET existente para obtener información sobre los paquetes que ya estaban disponibles.

Comportamiento nuevo

La información del paquete se agrega desde PreprocessPackageDependenciesDesignTime en la memoria caché de compilación en tiempo de diseño. Si dependía de PackageDependencies y PackageDefinitions en la compilación, verá errores de compilación como No se encontraron dependencias.

Motivo del cambio

En algunas situaciones, el rendimiento era especialmente lento para el objetivo anterior. Las soluciones que tienen gráficos de dependencias de NuGet grandes verán IntelliSense más rápido después de cargar la solución, cambiar de rama o al realizar cambios en toda la solución mientras se usa la característica Administración central de paquetes.

Si la compilación depende del comportamiento anterior, agregue la propiedad <EmitLegacyAssetsFileItems>true</EmitLegacyAssetsFileItems> al proyecto para volver al comportamiento heredado. Esperamos que esto solo afecte a un pequeño número de usuarios.

<PropertyGroup>
  <EmitLegacyAssetsFileItems>true</EmitLegacyAssetsFileItems>
</PropertyGroup>