.netcore 3.1高性能微服务架构:打造自己的.NET Core项目模板
2020/3/30 16:02:25
本文主要是介绍.netcore 3.1高性能微服务架构:打造自己的.NET Core项目模板,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、前提:
1、搭建好企业内部的nuget服务器,非常简单,netframework 4.6.1项目。
2、下载nuget.exe https://www.nuget.org/downloads,下载后一般会放在目录 C:\Program Files\nuget
3、下载:NuGet Package Explorer工具。 这2个工具下载地址:https://download.csdn.net/download/puzi0315/12238563
4、本地电脑,环境变量--Path添加nuget.exe所在目录(C:\Program Files\nuget)。
5、已经创建好的项目模板;
二、打包项目文件
1、创建目录,Nuget/Content, 把整个项目解决方案复制一份到该目录下。
2、把所有解决方案的所有项目下的bin和obj删除;
3、创建目录 .template.config,记得前面有点号;
4、.template.config目录下创建template.json文件,该文件的内容如下:
{ "$schema": "http://json.schemastore.org/template", "author": "zyiz.net", "classifications": \[ "WebApi" \], "name": "Zyiz WebApi31", "identity": "Zyiz WebApi31", "groupIdentity": "Zyiz WebApi31", "shortName": "ZyizWebApi31", "tags": { "language": "C#", "type": "project" }, "sourceName": "Template", "preferNameDirectory": true }
author为作者名称,classifications表明该项目适用的类型,可以设置WebApi,web等;name是nuget的名称,identity为唯一标识,shortName为短名称;下载模板的时候会用到。
sourceName【修改】在使用 -n 选项时,会替换模板中项目的名字。
5、在content目录的同级创建一个.nuspec文件,比如:Zyiz.WebApi.Template.NetCore31.nuspec,该文件里的内容如下:
<?xml version="1.0" encoding="utf-8"?> <package xmlns\="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd"\> <metadata\> <id\>Zyiz.WebApi.Template.NetCore31</id\> <version\>1.0.9</version\> <description\> Zyiz.Net.WebApi31 Template, including WebApi </description\> <authors\>muxue</authors\> <packageTypes\> <packageType name\="Template" /> </packageTypes\> </metadata\> </package\>
id是在nuget服务器上的唯一标识,version是版本号,以后更新升级啥的,就靠这个版本号来维护了。
如上,目录层次好像有点乱,我截个图:
6、.nuspec打包成.nupkg
cmd:进入该 .nuspec所在目录,在cmd里执行如下命令:
nuget pack Zyiz.WebApi.Template.NetCore31.nuspec -NoDefaultExcludes -OutputDirectory .
自动在当前目录下生成的.nupkg。
若执行的时候,报警告:
警告: NU5100: The assembly 'Content\\WebApiTemplate\\MuXue.Zyiz.Template.Common\\bin\\Debug\\netcoreapp3.1\\MuXue.Zyiz.Template.Common.dll' is not inside the 'lib' folder and hence it won't be added as a reference when the package is installed into a project. Move it into the 'lib' folder if it needs to be referenced.
说明项目里的bin和obj没有删除,需要先删除bin和obj,再删除刚刚生成的.nupkg包。重新执行打包命令,如下,说明打包成功了。
7、你可以使用NuGet Package Explorer工具查看你的刚刚打好的包。
三、打的包确认无误后,将包上传到nuget服务器:
你可以使用 NuGet Package Explorer工具上传,也可以使用命令上传。
我们先用命令上传,(把 NuGet Package Explorer工具里刚刚打开的包关掉)。
dotnet nuget push *.nupkg -k www_zyiz_net -s http://127.0.0.1:8866/nuget
其中 www_zyiz_net 为 nuget服务器的web.config里设置的appkey值。
http://127.0.0.1:8866/nuget 是 nuget服务器地址。
该命令的详细参数如下:
dotnet nuget push [<ROOT>] [-d|--disable-buffering] [--force-english-output] [--interactive] [-k|--api-key] [-n|--no-symbols]
\[\--no-service-endpoint\] \[-s|--source\] \[--skip-duplicate\] \[-sk|--symbol-api-key\] \[-ss|--symbol-source\] \[-t|--timeout\]
dotnet nuget push [-h|--help]
说明已经成功了。可以在nuget服务器上查看。
http://127.0.0.1:8866/nuget/Packages
四、使用模板
1、本地安装模板: cmd里敲命令
dotnet new -i Zyiz.WebApi.Template.NetCore31::*
这里的Zyiz.WebApi.Template.NetCore31即为我们上面的.nuspec文件里 metadata 的id值。
2、查看是否安装成功:
上一步若安装成功后,界面会返回一个已经安装好的项目模板:如图,说明已经安装好了。
(这里需要将内部的nuget服务器地址配置到nuget包源里,在vs2019里设置:nuget包管理器-程序包源,添加地址)
3、将入我们现在要创建一个学生接口项目,先创建一个文件夹StudentApi目录,cmd进入该目录。
dotnet new ZyizWebApi31 -n StudentApi -o .
这里的ZyizWebApi31是使用短名称。
StudentApi为新创建的项目名称。
执行完毕后,查看该目录,已经成功创建好项目了。并且名称都是我们自己定义的新的名称。 上面说的项目模板里Template全部替换成StudentApi了。
4、用vs2019打开,整个解决方案生成下。
完美结束。
netcore 3.1的微服务架构有很多细节需要完善,需要不断学习官网的教程,才能让微服务的性能达到最佳。
这篇关于.netcore 3.1高性能微服务架构:打造自己的.NET Core项目模板的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具
- 2024-01-24.NET集成IdGenerator生成分布式全局唯一ID
- 2024-01-23用CI/CD工具Vela部署Elasticsearch + C# 如何使用
- 2024-01-23.NET开源的简单、快速、强大的前后端分离后台权限管理系统