自动 NugetPackage 上传到 Nuget 提要

Automatic NugetPackage upload to Nuget feed

使用 Visual Studio 2017 和 .net core 构建项目时,是否可以自动将 Nuget 包上传到提要?

我可以勾选自动生成包的选项,但我不知道如何自动化发布过程。

谢谢!

Is it possible to automatically upload a Nuget package to a feed when building a project using Visual Studio 2017 and .net core?

答案是肯定的。由于 NuGet 命令行界面 (CLI) 提供了完整的 NuGet 功能来安装、创建、发布 和管理包。

https://docs.microsoft.com/en-us/nuget/tools/nuget-exe-cli-reference#push

我们可以在 Visual Studio 生成包 之后添加一个 目标来执行发布命令行。此外,当您勾选自动生成包的选项时,您会注意到生成包的目标是“GenerateNuspec”(MSBuild 项目构建输出详细信息->详细信息)。所以我们可以在目标“GenerateNuspec

之后添加一个目标
<Target Name="PushNuGetPackage" AfterTargets="GenerateNuspec">

右键单击项目->Select编辑projectname.csproj->添加以下脚本:

  <Target Name="PushNuGetPackage" AfterTargets="GenerateNuspec">
    <Message Text="Push NuGet Package to NuGet Feed" Importance="high"></Message>
    <Exec Command="D:\nuget.exe push $(ProjectDir)bin\Debug\AutoPushNuGetPackageTest.1.0.0.nupkg -Source D:\LocalServer"></Exec>
  </Target>

注意:执行命令应该是:

<Exec Command="PathOfYourNuGet\nuget.exe push PathOfYourPackage\PackageName.nupkg -Source NuGetFeedPath"></Exec>

有了这个目标,Visual Studio 将在使用 Visual Studio 构建项目时自动将 Nuget 包上传到提要: