WebEnh

.net7 mvc jquery bootstrap json 学习中 第一次学PHP,正在研究中。自学进行时... ... 我的博客 https://enhweb.github.io/ 不错的皮肤:darkgreentrip,iMetro_HD
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2020-02-26 19:42  WebEnh  阅读(754)  评论(0编辑  收藏  举报
  1. 使用docker搭建私有Nuget服务器
    复制代码
    docker run -d  -p 8080:80 -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 ~/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
  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