nuget打包部署完整步骤

1. 类库项目文件增加打包信息

假设 package 名定义为 company.mydll

<PropertyGroup>
  <TargetFramework>net6.0</TargetFramework> <!-- 或其他目标框架 -->
  <PackageId>company.mydll</PackageId> <!-- 包的唯一标识 -->
  <Version>1.0.0</Version> <!-- 包的版本号 -->
  <Authors>Your Name</Authors> <!-- 作者名称 -->
  <Description>Your package description</Description> <!-- 包描述 -->
  <PackageLicenseExpression>MIT</PackageLicenseExpression> <!-- 许可证 -->
  <PackageTags>tag1;tag2</PackageTags> <!-- 标签 -->
  <RepositoryUrl>https://github.com/your/repo</RepositoryUrl> <!-- 源代码仓库链接 -->
  <GenerateDocumentationFile>true </GenerateDocumentationFile> <!-- 包文件中是否包含 XML 文档, 这个xml文档将包含 class/method/parameter的xml注释, 包含这个XML文档对于类库的使用方非常重要, IDE可以为为使用方提供增加更多的帮助信息 -->
</PropertyGroup>

2. 类库项目进行打包

下面命令会生成 nupkg 文件

# cd 到项目根目录

# pack 命令的 include-symbols 参数, 可以包含 pdb 文件, 便于调试
dotnet pack --Configuration Release --include-symbols

3. 准备一个本地nuget 私服地址

我们可以使用 BaGet 或 NuGet.Server 或 Nexus 等软件搭建本地的nuget 私服, 甚至可以使用本机或共享目录作为私服, 比如 c:\local_nuget

4. 将 nuget pkg 文件推送到私服

dotnet nuget push company.mydll.1.0.0.nupkg --source http://localhost:5000/nuget

# 如果是本地目录, 可以使用类似上面的命令, 或直接将nupkg文件复制过去即可. 

5. 为本机准备一个最简的 nuget.config 文件.

本机配置文件全路径是: C:\Users{username}\AppData\Roaming\NuGet\NuGet.Config
当然, 我们也可以在项目根目录下加一个 NuGet.Config 文件, 这样该项目将优先使用项目下的 NuGet.Config.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>  

<config> 
    <!-- 通过 globalPackagesFolder 设定, 下载的 nupkg 文件存放路径 -->
    <add key="globalPackagesFolder" value="D:\nuget\packages" />
</config>
</configuration>

6. 将本地nuget私服加到 nuget.config 文件.

可以直接编辑该文件, 或者使用下面命令为 nuget.config 中新增 nuget源.

nuget sources add -Name local_nuget -Source c:\local_nuget

最终 nuget.config 文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="local_nuget" value="c:\local_nuget" />
  </packageSources>
  

<config> 
    <add key="globalPackagesFolder" value="D:\nuget\packages" />
</config>
</configuration>

7. 新项目引用 company.mydll 类库

 # cd 到项目根目录
 
 # 先搜索一下目标类库的具体名称
 dotnet package search company.mydll

 # 引用目标类库 
 dotnet add package ompany.mydll 

posted @ 2025-05-11 16:55  harrychinese  阅读(154)  评论(0)    收藏  举报