NET Core 模板项目 - NuGet

环境

服务器 介绍
192.168.200.101 nuget server , 111111(appkey)

前提

1. nuget server

nuget server 搭建参照其他博客,博主已有,可自行选择。

2. 添加 nuget server

已经部署好的 nuget server 需要通过 vs 添加到本地
NET Core 模板项目 - NuGet_第1张图片

3. nuget.exe

这一个 nuget cli 工具,如果在 powershell 有 nuget 命令,可以略过次步骤。

  • 下载
    下载完成后,放在目录 C:\Program Files\nuget。
  • 配置环境变量
    NET Core 模板项目 - NuGet_第2张图片

部署

1. 打包项目文件

创建目录 XXX/Nuget/Content 将项目移动到该目录下,并删除解决方案下所有项目的 bin 和 obj 文件夹。Content 文件夹下通常放置多个项目模板 api 、console、service 等。这里我们已 API、Console 为例。
NET Core 模板项目 - NuGet_第3张图片

2. template 配置

2.1 ConsoleTemplate

ConsoleTemplate 目录信息
在这里插入图片描述
ConsoleTemplate 项目信息
在这里插入图片描述
ConsoleTemplate 添加 Template 配置(具体介绍请看博主,Local 方式,有详细解释)
NET Core 模板项目 - NuGet_第4张图片

{
  "$schema": "http://json.schemastore.org/template",
  "author": "Ron", 
  "classifications": [ "Template.Console.NetCore" ],
  "name":"Template.Console.NetCore",
  "identity": "Template.Console.NetCore",
  "groupIdentity":"Template.Console.NetCore", 
  "shortName": "Template.Console.NetCore", 
  "tags": {
    "language": "C#",
    "type": "project"
  },
  "sourceName": "Template", 
  "preferNameDirectory": true
}

2.2 WebAPITemplate

WebAPITemplate 项目信息
NET Core 模板项目 - NuGet_第5张图片
WebAPITemplate 添加 Template 配置(具体介绍请看博主,Local 方式,有详细解释)
NET Core 模板项目 - NuGet_第6张图片

{
  "$schema": "http://json.schemastore.org/template",
  "author": "Ron", 
  "classifications": [ "ABP/WebAPI/NET5" ],
  "name": "ABP Web API 5",
  "identity": "ABP Web API 5",
  "groupIdentity":"ABP Web API 5", 
  "shortName": "ABPNET5", 
  "tags": {
    "language": "C#",
    "type": "project"
  },
  "sourceName": "CompanyName.BusinessName", 
  "preferNameDirectory": true
}

3. nuspec 文件

在 Content 目录的同级创建一个*.nuspec 文件,如:FXSky.Application.Template.NetCore31.nuspec,内容如下
NET Core 模板项目 - NuGet_第7张图片


<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <metadata>
    <id>FXSky.Application.Template.NetCore31id>
    <version>1.0.4version>
    <description>
      FXSky.Application.Template.NetCore31 Template, including WebApi Console Service     
    description>
    <authors>Ronauthors>
    <packageTypes>
      <packageType name="Template" />
    packageTypes>
  metadata>
package>

id 是在 nuget 服务器上的唯一标识,version 是版本号,日后更新升级,需要这个版本号来维护

4. 打包 .nupkg

在 *.nuspec 文件所在目录,执行如下命令,会生成 *. [version].nupkg 的文件

nuget pack FXSky.Application.Template.NetCore31.nuspec -NoDefaultExcludes -OutputDirectory .

在这里插入图片描述

5. 推送 .nupkg

dotnet nuget push FXSky.Application.Template.NetCore31.1.0.4.nupkg -k 111111 -s http://192.168.200.101:10021/nuget

NET Core 模板项目 - NuGet_第8张图片

FXSky.Application.Template.NetCore31.1.0.4.nupkg : 生成的文件
111111 : nuget 服务器 web.config 里设置的 appkey 值
http://192.168.200.101:10021/nuget : nuget 服务器地址


可以到服务 nuget server 查看,到服务器已经存在
NET Core 模板项目 - NuGet_第9张图片

6. 本地安装模板

使用下面命令将模板安装到本地,安装成功后界面会返回已经安装好的项目模板。如下

dotnet new -i FXSky.Application.Template.NetCore31::*

或者也可以指定版本安装

dotnet new -i FXSky.Application.Template.NetCore31::1.0.4

NET Core 模板项目 - NuGet_第10张图片

FXSky.Application.Template.NetCore31 : .nuspec 文件里 metadata 的 id

7. 创建项目

这里我们在 D 盘 XX/AD 文件夹存放项目代码,执行下面命令,进行创建

dotnet new ABPNET5 -n AD -o .

NET Core 模板项目 - NuGet_第11张图片

AD :我们的项目名称,创建的项目都以此为命名,项目模板里 Template 全部替换成 AD

接着,我们启动创建好的项目,可以看到启动成功
NET Core 模板项目 - NuGet_第12张图片
NET Core 模板项目 - NuGet_第13张图片

你可能感兴趣的:(.Net,架构,.net)