前言

近段时间 .net core 大火,公司也打算趁此机会把后续项目迁移到 .net core 平台上,我们下面的一帮人也就跟着大部队,开始狂补 dotnetcore 相关的技术了。此贴主要记录我在搭建dotnet core项目过程中采坑点和特别需要注意的点,持续更新。。。

Let's Coding

一、项目环境准备

开发工具:vs2017 ;首先,我在搭建demo的时候,api和web项目都是部署在IIS上的,dotnet core和dotnet framework不太一样,若要部署在iis上,需要额外安装一个运行时-AspnetCoreModule , 下载链接: https://dotnet.microsoft.com/download

到此,在windows上的基本环境就好了,接下来就去愉快的撸码去吧;

二:项目搭建

1.在新建的解决方案上右键,选择.net core ,选择 “Asp.Net Core Web 应用程序” ,填写项目名称,在二级界面选择你要新建的 web 项目类型,我先以 API 作为示例:确定即可。

2.配置 Swagger

为了给接口调用方一个完整的接口文档,页为了不爱写文档的 coder,直接使用“丝袜哥” 插件自动生成接口文档,配置如下:

首先安装在“管理Nuget程序包”中搜索“Swashbuckle.AspNetCore”,安装他。

接着在Startup 类中添加如下配置:

   public void ConfigureServices(IServiceCollection services)
{
services.Configure<IISServerOptions>(options =>
{
options.AutomaticAuthentication = false;
}); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
//注册Swagger生成器,定义一个和多个Swagger 文档
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info
{
Title = "DemoNetCore接口文档",
Version = "v1",
Description = "这里是框架说明文档",
TermsOfService = "None",
Contact = new Swashbuckle.AspNetCore.Swagger.Contact { Name = "DemoNetCore", Email = "xxxx@qq.com", Url = "http://www.xxx.com" } });
}); services.AddSingleton<IQuestionsService, QuestionsService>(); }
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
} app.UseHttpsRedirection();
app.UseMvc(); //注入Swagger 服务
//启用中间件服务生成Swagger作为JSON终结点
app.UseSwagger();
//启用中间件服务对swagger-ui,指定Swagger JSON终结点
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
}

到此,Swagger 配置完成;

3.部署到IIS

Api 项目右键发布,点击配置,进入二级界面,

我们可以设置发布输出的文件夹,不用他默认文件夹,并且配置为Debug模式(方便我们进行开发附加进程调试,但是后期正式上线的时候,要记得改为Release 模式),保存即可;

接下来,我们就在 IIS 中正常的添加网站就行了,但是记得,跟 dotnet Framework 不一样,我们要把网站的物理路径指向我们刚刚发布的路径。 然后打开我们之前的Swagger 文档验证发布是否成功,localhost:8022/swagger/index.html

最新文章

  1. visual studio错误解决 [error LNK1104: 无法打开文件“gdi32.lib”]
  2. C++基础知识之vector
  3. 教你看懂网上流传的60行JavaScript代码俄罗斯方块游戏
  4. FM000
  5. Java编程思想学习笔记_4(异常机制,容器)
  6. tomcat 内存溢出
  7. Sqoop增量从MySQL中向hive导入数据
  8. 如何混合使用ARC和非ARC
  9. 华为OJ:素数对个数
  10. 使用JavaScript实现简单的输入校验
  11. Microsoft Word 的键盘快捷方式
  12. 温习PYTHON语法
  13. RunLoop学习总结
  14. Javascript设计模式系列一
  15. PHP扩展之多线程
  16. jquery 实现滚动条下拉时无限加载的简单实例
  17. Spring3 MVC DispatcherServlet 配置问题
  18. python 迭代器 生成器
  19. Laravel 添加路由文件
  20. [shell]输出内容到剪切板

热门文章

  1. linux下如何使rtc设备注册为指定的设备文件/dev/rtc1?
  2. AJAX的个人见解
  3. 关于java8中的String
  4. 设计模式七大原则(C++描述)
  5. CG标准函数
  6. ubuntu下删除带锁文件夹
  7. 【VS开发】winsock 错误多 windows.h和winsock2.h的顺序
  8. ActiveMQ单机部署及简单应用
  9. 洛谷 题解 P4158 【[SCOI2009]粉刷匠】
  10. 一个基于Unix套接字的注册登录系统