nuspec和csproj包版本标签

时间:2018-02-08 02:43:15

标签: .net nuget versioning nuget-package

我有一个新的ASP / .NET Core项目,我发布到NuGet。我发布新软件包时,推荐的方法是保持x.csprojx.nuspec中的版本标记同步吗?

1 个答案:

答案 0 :(得分:3)

使用新的.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(而不是旧的NuGet.exe CLI)或Visual Studio 2017才能使用此功能。