.NET Core:搭建私有Nuget服務器以及打包發布Nuget包


  1. 使用docker搭建私有Nuget服務器
    docker run -d  -p 8080:80 --name mynuget -v $PWD/nuget/db:/var/www/db -v $PWD/nuget/packages:/var/www/packagefiles -e NUGET_API_KEY=ee28314c-f7fe-2550-bd77-e09eda3d0119  sunside/simple-nuget-server
    
    這里環境變量NUGET_API_KEY要記住后面的命令需要使用
    成功后如下圖所示:

     

  2. 打包Nuget包
    語法:dotnet pack [--help] [--output] [--no-build] [--build-base-path] [--configuration] [--version-suffix] [project]
    需要注意的是如果已經存在的Nuget包,再發布是會提示錯誤的,如果不是正式版本的升級,則需要其他標識區分,如beta1,則執行的命令為dotnet pack --version-suffix beta1
    1.首先將目錄轉到對應項目目錄
    2.執行(cmd powershell) dotnet pack 

    關於pack命令示例:

      dotnet pack

       dotnet pack -p:PackageVersion=2.1.0     //為包設置版本

    打包當前項目。

      dotnet pack ~/projects/app1/project.json

    打包 app1 項目。

      dotnet pack --output nupkgs

    打包當前的應用程序,並將生成的包放置到指定的文件夾中。

      dotnet pack --no-build --output nupkgs

    打包當前的項目到指定的文件夾中,並跳過生成步驟

  3. 將Nuget包發布到私有服務器
    項目目錄下執行:
    cd .\bin\Debug\
    (默認生成nuget文件的地址)
    nuget push -Source http://192.168.211.129:8080/ -ApiKey ee28314c-f7fe-2550-bd77-e09eda3d0119 ClassLibrary.1.0.0.nupkg
    (這里的ApiKey則是第一步的環境變量詳細參數查看https://docs.microsoft.com/zh-cn/nuget/tools/cli-ref-push

      查看本地nuget包源

    nuget sources list 
     
               

    查看特定nuget庫中包含的包

     
               
    nuget list -Source "MyPackage"
     
               

    刪除特定nuget庫的包

     
               
    nuget delete TestPack 1.0.0 -Source "TestPack" -ApiKey ee28314c-f7fe-2550-bd77-e09eda3d0119
     
               

    清理本地nuget緩存

     
               
    dotnet nuget  locals all --clear
     
  4. Nuget.exe環境變量設置(使得cmd /powershell 可以識別nuget命令)
    下載Nuget.exe (下載地址https://dist.nuget.org/win-x86-commandline/v4.7.0/nuget.exe
    將Nuget.exe 放置 C:\Program Files\dotnet目錄下(一般安裝了netcoreSDK 一定有這個目錄)
  5. 引用私有服務器的Nuget包(配置程序包源引用時選擇對應的程序包源)

     

     最后一點需要注意的地方新建類庫的時候類庫框架一定要選擇你對應應用項目的框架(一般netcore項目創建的是netcore框架的類庫,push命令是沒有辦法修改nuget包的框架的這點需要注意)

  6.  更多詳細的nuget命令參考https://docs.microsoft.com/zh-cn/nuget/tools/nuget-exe-cli-reference 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM