PackageReference Update 和 PackageReference Include 有什么区别?
What is the difference between PackageReference Update and PackageReference Include?
<PackageReference Update="Microsoft.NETCore.App" Version="2.1.22" />
<PackageReference Include="Platform.Core" Version="1.8.0" />
以上两行中的“更新”和“包含”有什么区别?
参见 these docs。
当您只想修改具有相同名称的 pre-existing 项目的某些属性时,似乎使用了 Update
所以你可以这样做:
<PackageReference Include="Some.Package" Version="1.2.3"/>
<PackageReference Update="Some.Package" PrivateAssets="all"/>
Update
行会将 PrivateAssets="all"
属性 添加到 pre-existing Some.Package
项,最终结果与:
<PackageReference Include="Some.Package" Version="1.2.3" PrivateAssets="all"/>
如果您使用 Include
而不是 Update
,您将完全覆盖第一行,并丢失 Version="1.2.3"
属性.
请注意,在没有要更新的 pre-existing 项时仅使用 Update
似乎无害,但毫无意义。
<PackageReference Update="Microsoft.NETCore.App" Version="2.1.22" />
<PackageReference Include="Platform.Core" Version="1.8.0" />
以上两行中的“更新”和“包含”有什么区别?
参见 these docs。
当您只想修改具有相同名称的 pre-existing 项目的某些属性时,似乎使用了 Update
所以你可以这样做:
<PackageReference Include="Some.Package" Version="1.2.3"/>
<PackageReference Update="Some.Package" PrivateAssets="all"/>
Update
行会将 PrivateAssets="all"
属性 添加到 pre-existing Some.Package
项,最终结果与:
<PackageReference Include="Some.Package" Version="1.2.3" PrivateAssets="all"/>
如果您使用 Include
而不是 Update
,您将完全覆盖第一行,并丢失 Version="1.2.3"
属性.
请注意,在没有要更新的 pre-existing 项时仅使用 Update
似乎无害,但毫无意义。