SDK 不再调用 ResolvePackageDependencies
.NET SDK 以前调用“ResolvePackageDependencies
”目标以生成 PackageDependencies
和 PackageDefinitions
。 但是,其他目标已提供此数据。 相反,现在从“PreprocessPackageDependenciesDesignTime
”将这两项添加到设计时内部版本缓存中,并且不调用以前的目标。
引入的版本
.NET SDK 7.0.200
更改类型
此项更改可能会影响源兼容性。
旧行为
调用现有的 .NET SDK 目标获取以提供的包的信息。
新行为
从“PreprocessPackageDependenciesDesignTime
”将包信息添加到设计时内部版本缓存中。 如果内部版本中依赖于 PackageDependencies
和 PackageDefinitions
,则会看到 No dependencies found 等生成错误。
更改原因
某些情况下,之前目标的性能很慢。 具有 NuGet 依赖项关系图的解决方案在加载、切换分支或进行解决方案范围的更改时,IntelliSense 的速度会更快,同时使用“中心式包管理”功能。
建议的操作
如果构建依赖于之前的行为,则将“<EmitLegacyAssetsFileItems>true</EmitLegacyAssetsFileItems>
”属性添加到用于返回旧行为的项目。 我们预计这只会影响少量用户。
<PropertyGroup>
<EmitLegacyAssetsFileItems>true</EmitLegacyAssetsFileItems>
</PropertyGroup>