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

浙公网安备 33010602011771号