当前位置: 首页 > news >正文

英文外贸网站模板怎么做弹幕网站

英文外贸网站模板,怎么做弹幕网站,网站建设站,大连仟亿科技友情提示#xff1a;这篇有点长#xff0c;有点绕#xff0c;加油#xff01;上一篇文章#xff0c;简单的说明了一下.net项目模板的创建#xff0c;主要是通过在项目文件*.csproj同目录下添加.template.config文件夹和里面的template.json#xff0c;再用dotnet new -i… 友情提示这篇有点长有点绕加油上一篇文章简单的说明了一下.net项目模板的创建主要是通过在项目文件*.csproj同目录下添加.template.config文件夹和里面的template.json再用dotnet new -i来安装项目模板的本篇继续深入。首先定个小目标实现一个web api项目模板可以选择引入NLog库选择引入Dapper库同时希望可以选择用户权限认证方式这里假设是三种无固定角色自定义策略还可以在创建项目时输入文本信息比如作者信息上面这些输入项都是通过模板参数来实现的。其实仔细分析一下是三类参数1、判断类就是用不用这个三方库2、选择类三种授权方式中选一种3、输入文本类。同时在上一篇文章中我们是直接用源码生成模板的问题来了不可能让大家都用源码来生成本地模板这里如果能打成个包大家使用就简单多了确实微信把模板项目生成一个nupkg包可以上传到nuget.org上供其他人使用。那接来看实现步骤吧。为了大家有直观的感受我先把创建项目时需要用户录入的参数展示出来这次先看模板文件1、template.json在项目文件夹下的.template.config目录下{$schema: http://json.schemastore.org/template,author: 桂素伟,classifications: [ Common, 桂素伟模板, WebAPI, C#9 ],identity: GSW Nuget,name: GSW Nuget,shortName: GSWNuget,tags: {language: C#,type: project},sourceName: GSWNuget,symbols: {Author: {type: parameter,datatype: text,defaultValue: ,replaces: author,description: 作者},UseNLog: {type: parameter,datatype: bool,defaultValue: true,description: 是否使用NLog},UseDapper: {type: parameter,datatype: bool,defaultValue: true,description: 是否使用Dapper},AuthType: {type: parameter,datatype: choice,defaultValue: None,choices: [{choice: None,description: None},{choice: Role,description: Role},{choice: policy,description: Policy}]},None: {type: computed,value: (AuthType \None\)},Role: {type: computed,value: (AuthType \Role\)},Policy: {type: computed,value: (AuthType \Policy\)}},sources: [{modifiers: [{condition: (!UseNLog),exclude: [ NLog.config ]}]}] } sourceName: GSWNuget是项目名称。symbols下是配置模板参数UseDapperUseNLog是bool类型 让创建项目的人员来选择是否引入这些三方包。Author是输入文本类型其中的replate是要把项目文件中的所有author换成用户输入项目所以这个名称最好命名的不要那么通用。AuthType是选择权限的验证规划这里还在下面增加了三个选择项的运算结果项bool类型 NoneRolePolicy是通过用户的选择来决定具体的值。UseNLog虽然是个bool类型但是他的用途特殊在了json文件的后面有个sources这个的作用是决定NLog.config文件显示不显示在用户的项目中决定文件的存留与否。2、ide.host.json为了在IDE中显示这些值供用户输入还需要在template.json同目录下创建一个ide.host.json文件这个文件的作用就是在ide中把用户录入项友好的提示给用户同时准备了一个icon.png来给这个项目模板来充当图标它的存放位置与ide.host.json在同一级。{$schema: http://json.schemastore.org/vs-2017.3.host,icon: icon.png,symbolInfo: [{id: UseNLog,name: {text: Use NLog},isVisible: true},{id: Author,name: {text: Author},isVisible: true}, {id: UseDapper,name: {text: Use Dapper},isVisible: true}, {id: AuthType,isVisible: true}] } 3、创建web api项目GSWNuget围绕着上面三个需求展开先看program.cs文件/*********************************作者author********************************/ using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; #if (UseNLog) using NLog.Web; #endifnamespace GSWNuget {public class Program{#if (UseNLog)public static void Main(string[] args){var logger NLogBuilder.ConfigureNLog(nlog.config).GetCurrentClassLogger();try{logger.Debug(init main);CreateHostBuilder(args).Build().Run();}catch (Exception exception){logger.Error(exception, Stopped program because of exception);throw;}finally{NLog.LogManager.Shutdown();}}public static IHostBuilder CreateHostBuilder(string[] args) Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder {webBuilder.UseStartupStartup();}).ConfigureLogging(logging {// logging.ClearProviders();// logging.SetMinimumLevel(LogLevel.Trace);}).UseNLog(); #elsepublic static void Main(string[] args){CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args) Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder {webBuilder.UseStartupStartup();}); #endif} } #if  #endif 是判断用户的输入决定用户项目走的分支这里是NLog的引入与不引入的分类其实不有一个点NLog的库要不要restore这个在项目文件中再说。再有一个是author最终会被展示图的GuiSuWei那个文本替换。再看一下GSWNuget.csproj同样是#if但需要在!-- --中毕竟是xml。Project SdkMicrosoft.NET.Sdk.WebPropertyGroupTargetFrameworknet5.0/TargetFrameworkVersion2.0.0/Version/PropertyGroupItemGroup!--#if (UseDapper)PackageReference IncludeDapper Version2.0.78 /#endif--PackageReference IncludeSwashbuckle.AspNetCore Version5.6.3 /PackageReference IncludeNLog.Web.AspNetCore Version4.12.0 //ItemGroup /Project 再看一下starup.cs/*********************************作者author********************************/ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.HttpsPolicy; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Microsoft.OpenApi.Models; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks;namespace GSWNuget {public class Startup{public Startup(IConfiguration configuration){Configuration configuration;}public IConfiguration Configuration { get; }public void ConfigureServices(IServiceCollection services){ #if Nonevar authType None; #endif #if Rolevar authType Role; #endif #if Ployvar authType Ploy; #endifservices.AddControllers();services.AddSwaggerGen(c {c.SwaggerDoc(v1, new OpenApiInfo { Title GSWNuget, Version v1 });});}public void Configure(IApplicationBuilder app, IWebHostEnvironment env){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();app.UseSwagger();app.UseSwaggerUI(c c.SwaggerEndpoint(/swagger/v1/swagger.json, GSWNuget v1));}app.UseHttpsRedirection();app.UseRouting();app.UseAuthorization();app.UseEndpoints(endpoints {endpoints.MapControllers();});}} } 其中的 #if None  #if Role#if Policy是选择后结果的分支对应。再看一下appsettings.json在appsettings中是在//后用#if{#if(UseDapper)//Dapper: dapper config,#endif#if(UseNLog)//LogConfig: log config,#endifLogging: {LogLevel: {Default: Information,Microsoft: Warning,Microsoft.Hosting.Lifetime: Warning}},AllowedHosts: * } 到这里项目基本准备完毕接下来就要打包成nupkg这里要用到nuget.exe(这里下载 https://www.nuget.org/downloads)通过命令把模板项目GSWNuget生成nupkgnuget.exe生成nupkg时需要一个配置文件GSWNuget.nuspec这个文件与GSWNuget项目目录在同一级别。?xml version1.0 encodingutf-8? package xmlnshttp://schemas.microsoft.com/packaging/2012/06/nuspec.xsdmetadataidGSWNuget/idversion0.0.1/versiondescription这是我用来生成Nuget格式的Templage。/descriptionauthors桂素伟/authorslicense typeexpressionMIT/licensepackageTypespackageType nameTemplate //packageTypes/metadatafilesfile srcGSWNuget\**\*.* excludeGSWNuget\**\bin\**\*.*;GSWNuget\**\obj\**\*.* targetContent //files /package 接下来执行命令 .\nuget.exe pack .\GSWNuget.nuspec -OutputDirectory .\nupkg会在nupkg下生成GSWNuget.1.0.0.nupkg文件安装GSWNuget项目模板 dotnet new -i GSWNuget.1.0.0.nupkg这里在我们的项目模板中会增加一个GSWNuget类型的项目模板。接下来是享受成果的时候了打开vs新建项目搜索GSW就可以新建自己模板的项目了。这里可以测试一下不同的选择生成的是不是想要的结果找时间做一个自己真正项目模板再分享给大家。
http://www.zqtcl.cn/news/942427/

相关文章:

  • 网站建设行业细分专业动漫如何制作
  • 做地方网站数据哪里来模板网站建设教程视频
  • 株洲建设网站制作网络怎么推广自己的产品
  • dtu网站开发赣县网站制作
  • 东莞旅游网站建设微网站怎么做
  • 网站怎么没有排名做义工旅行有哪些网站
  • 阳江房地产信息网官方网站创业网站开发要多少钱
  • 工业设计招聘信息网站常用的seo网站优化排名
  • 温岭市建设规划局网站网站规划与建设ppt
  • 龙岩网站建设较好的公司做网站销售的换工作
  • 潞城建设局网站建设网站服务器自营方式的特点
  • 西安网站seo公司东莞市专注网站建设怎么样
  • dede游戏网站模板如何做盆栽蔬菜网站
  • 江都建设网站网站开发技术介绍
  • 网站介绍视频怎么做网站建设优化服务
  • 可以左右滑动的网站有口碑的盐城网站建设
  • 360报危险网站注册界面设计
  • 不用淘宝客api如何做网站北京移动官网网站建设
  • 手表哪个网站做的好河北网站备案流程
  • 凡科做的网站推效果网站做seo第一步
  • 建设在线观看视频网站免费企业网站建设免费
  • 网站开发需要后台吗哪家建站公司好
  • 个人建设网站论文网站视频怎么做的
  • 不同类型的购物网站汉川网站建设
  • 网站开发需求文档范文广州公司网站托管
  • 网站制作公司官网首页撸撸撸做最好的导航网站
  • 网站建设毕业设计综述centos 安装wordpress lnmp
  • 济宁专业做网站网站建设中 html
  • 中国排名高的购物网站最新发布的手机2022
  • 备案的网站名与公司名称出国用哪个地图app好