Net Nuget包管理

  • Post author:
  • Post category:其他



官网Nuget



什么是 Nuget ?

可以把一些日常开发积累的工具类放于类库中。编译成dll ,放在Nuget 服务端中,用于方便复用。

概念性质的就不做过多讲解了,官网讲解的很细致。下面讲解在nuget.org 推送类库时,出现的错误。

什么是 package ID ?

就是 我们为这个包 命名的包名即为 package ID

注意: 尽量nuget 发布时 package ID要和类库的命名控件一致,防止出现冲突错误

错误1

The package ID 'xxxxxxx' is not available

错误2

403 The specified API key is invalid, has expired, or does not have permission to access the specified package 

结论:

还可以更换自己的包存放服务端 依赖源, 默认是放于nuget.org 官网服务端,企业级多数放在内部管理的服务器中。包源也是如此

使用步骤:



必备条件

  1. 安装包括 dotnet CLI 的 .NET Core SDK。 从 Visual Studio 2017 开始,dotnet CLI 将自动随任何与 .NET Core 相关的工作负载一起安装。

  2. 如果你还没有帐户,请在 nuget.org 上注册一个免费帐户。 创建新帐户会发送确认电子邮件。 必须先确认该帐户,才能上传包。



1. 创建类库项目

你可以使用现有的 .NET 类库项目用于要打包的代码,或者创建一个简单的项目,如下所示:

  1. 创建名为 AppLogger 的文件夹。

  2. 打开命令提示符并切换到 AppLogger 文件夹。

  3. 类型 dotnet new classlib,它使用项目当前文件夹的名称。 这会创建新项目。



2. 将包元数据添加到项目文件

每个 NuGet 包都需要一个清单,用以描述包的内容和依赖项。 在最终包中,清单是基于项目文件中包含的 NuGet 元数据属性生成的 .nuspec 文件。

  1. 打开项目文件 (.csproj),并在现有 标记内至少添加以下属性,同时根据需要更改值:
<PackageId>AppLogger</PackageId> # PackageId 必须和项目命名空间一致
<Version>1.0.0</Version> # nuget 包版本号
<Authors>your_name</Authors> # 作者名
<Company>your_company</Company> # 公司



3. 运行 pack 命令 (打包)

若要从项目中生成 NuGet 包(.nupkg 文件),运行 dotnet pack 命令,它也会自动生成项目:

dotnet pack



4. push发布包

有了 .nupkg 文件后,可以使用 dotnet nuget push 命令以及从 nuget.org 获取的 API 密钥将其发布到 nuget.org。



用 dotnet nuget push 发布

  1. 更改到包含 .nupkg 文件的文件夹。
  2. 运行以下命令,指定包名称(唯一包 ID: 就是配置文件中的)并使用你的 API 密钥替换密钥值:
dotnet nuget push AppLogger.1.0.0.nupkg --api-key qz2jga8pl3dvn2akksyquwcs9ygggg4exypy3bhxy6w6x6 --source https://api.nuget.org



结论

总的来说 就是 把开发者 常使用的类库生成dll 发布到 nuget.org 服务端上面, 方便客户端复用开发。



版权声明:本文为weixin_44763552原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。