以下 PackageReference 项无法为 Version:PackageName 定义值。 使用中央包管理的项目必须在 PackageVersion 项上定义版本值。
問题
项目配置为使用 NuGet Central 包管理 ,并且定义了一个 <PackageReference />
项,该项指定 Version
属性的值:
<ItemGroup>
<PackageReference Include="PackageName" Version="5.1.0" />
</ItemGroup>
或者,使用 <PackageReference />
具有指定值的子 <Version />
元素定义项:
<ItemGroup>
<PackageReference Include="PackageName">
<Version>5.1.0</Version>
</PackageReference>
</ItemGroup>
配置为使用 中央包管理 的项目不应在项上 <PackageReference />
定义版本。
应改为在 Directory.Packages.props 文件中具有相同标识符的对应<PackageVersion />
项上定义版本。
解决方案
从
Version
<PackageReference />
项中删除属性或子<Version />
元素:<ItemGroup> <PackageReference Include="PackageName" /> </ItemGroup>
定义一个
<PackageVersion />
项,该项指定 Directory.Packages.props 文件中的版本,其标识符与<PackageReference />
项相同:<ItemGroup> <PackageVersion Include="PackageName" Version="5.0.1" /> </ItemGroup>
或者,中央包管理允许重写集中定义的包版本。 有关详细信息,请参阅 替代包版本 。
注释
请注意, IncludeAssets、PrivateAssets 等 元数据应保留在 PackageReference 项上。