自动将NugetPackage上传到Nuget Feed

时间:2017-09-19 22:45:49

标签: visual-studio asp.net-core nuget nuget-server

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

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

谢谢!

1 个答案:

答案 0 :(得分:3)

  

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

答案是肯定的。由于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">

右键单击项目 - &gt;选择编辑projectname.csproj - &gt;添加以下脚本:

  <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命令应为:

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

使用此目标,Visual Studio将在使用Visual Studio构建项目时自动将Nuget包上载到源:

enter image description here