下列 PackageReference 專案會隱含定義,且無法定義 PackageVersion 專案:PackageName。 使用中央套件管理的專案需要 PackageReference 專案指定隱含套件版本。
問題
項目已設定為使用 NuGet Central 套件管理 ,且 <PackageVersion /> 項目定義於 Directory.Packages.props 檔案中,以 隱含定義封裝。
隱含定義的套件通常會由 SDK 宣告,以代表您包含套件。
對於這些套件,SDK 的擁有者會控制所使用的版本,而且使用者不應該使用 中央套件管理來定義版本。
<ItemGroup>
<PackageReference Include="Microsoft.NETCore.App" Version="9.0.0" IsImplicitlyDefined="true" />
</ItemGroup>
解決方法
PackageVersion從對應至隱含定義封裝的 Directory.Packages.props 檔案中移除專案:<ItemGroup> <PackageVersion Include="Microsoft.NETCore.App" Version="1.0.0" /> </ItemGroup>
備註
某些 SDK 可讓您藉由設定該套件的特定 MSBuild 屬性來覆寫隱含定義的套件版本,而 SDK 可能會有有關如何執行此動作的檔。