nuspec 和 csproj 包版本标签

nuspec and csproj package version tags

我有一个发布到 NuGet 的新 ASP/.NET Core 项目。当我发布新包时,要使 x.csprojx.nuspec 中的版本标签保持同步,推荐的方法是什么?

使用新的 .csproj 格式,您可以在 .csproj 文件中 add all of the information to generate NuGet packages。不再有理由使用 .nuspec 文件。

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <AssemblyTitle>My NuGet Project</AssemblyTitle>
    <Description>Something I decided to release on NuGet.</Description>
    <PackageTags>my;project;whatever;</PackageTags>
    <Authors>Me (who else)</Authors>
    <RepositoryUrl>https://github.com/theprojectname</RepositoryUrl>
    <PackageLicenseUrl>https://github.com/theprojectname/blob/master/LICENSE.txt</PackageLicenseUrl>
    <PackageProjectUrl>http://myproject.org/</PackageProjectUrl>
    <PackageIconUrl>https://github.com/theprojectname/blob/master/branding/logo/icon-128x128.png?raw=true</PackageIconUrl>
    <Copyright>Copyright © 2006 - 2018 Me</Copyright>
  </PropertyGroup>

  ...

</Project>

某些元素(例如 <PackageId>)默认使用项目文件其余部分的设置,因此您无需添加它们,除非您需要它们不同于默认值。

请注意,您必须使用 dotnet pack (rather than the old NuGet.exe CLI) 或 Visual Studio 2017 才能使用此功能。