共用方式為


NuGet 錯誤 NU1008

下列 PackageReference 項目無法定義 Version:PackageName 的值。 使用中央套件管理的項目必須在 PackageVersion 項目上定義 Version 值。

問題

專案已設定為使用 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 /> 定義版本。 版本應該在目錄.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 專案上。