SDK 不再呼叫 ResolvePackageDependencies
先前,.NET SDK 會呼叫 ResolvePackageDependencies
目標,以產生 PackageDependencies
和 PackageDefinitions
。 不過,該資料已可從不同的目標取得。 相反地,這兩個項目現在會從 PreprocessPackageDependenciesDesignTime
新增至設計階段建置快取,而且不會呼叫先前的目標。
導入的版本
.NET SDK 7.0.200
變更類型
此變更可能會影響來源相容性。
先前的行為
已呼叫現有的 .NET SDK 目標,以取得可用套件的相關資訊。
新的行為
套件資訊會從 PreprocessPackageDependenciesDesignTime
新增至設計階段建置快取。 如果您相依於建置中的 PackageDependencies
和 PackageDefinitions
,您會看到建置錯誤,例如找不到相依性。
變更原因
在某些情況下,先前目標的效能特別慢。 具有大型 NuGet 相依性關係圖的解決方案會在解決方案載入、分支交換器之後,或在使用中央套件管理功能進行全解決方案變更時,看到更快的 IntelliSense。
建議的動作
如果您的建置相依於先前的行為,請將 <EmitLegacyAssetsFileItems>true</EmitLegacyAssetsFileItems>
屬性新增至專案以返回舊版行為。 我們預期這只會影響少數使用者。
<PropertyGroup>
<EmitLegacyAssetsFileItems>true</EmitLegacyAssetsFileItems>
</PropertyGroup>