ASP.NET Core 应用开发资源汇总

2016年6月27日,微软正式发布 .NET Core 1.0.0 RTM版本,标志着.NET Core 可以正式开始用于生产环境,并同时支持 Windows, MacOS, Linux 三大主流平台,以下总结使用.NET Core进行跨平台开发的注意事项和开发资源。

官方资源

  • .NET官方文档
  • ASP.NET官方文档
  • dotnet@github
  • aspnet@github
  • Getting started with .NET Core
  • 什么是RyuJIT?
  • LLILC

博客资源

  • ASP.NET Core 应用在 Windows 上如何运行?
  • ASP.NET Core 应用在 Linux 上如何运行?

开发环境配置

  • 按照 官方指南 搭建Windows开发环境。
  • 安装 Docker for Windows 到开发机上,用于测试开发的项目程序在linux环境中的可用性,docker目前在windows上只支持较新版本的 Windows 10 系统。
  • Windows 开发环境配置
  • Ubuntu 开发环境配置
  • MacOS 开发环境配置
  • 微软官方 dotnet core 容器

开源组件(持续更新)

以下是截止提交时间前对.NET Core 和 ASP.NET Core 提供支持的开源框架和库,随着.NET Core 开发的普及,相信很多高质量的库都会提供对.NET Core的支持。

  • RestSharp.CoreNet Web 客户端
  • HttpClient Web客户端,设计反人类,谨慎使用
  • Microsoft ASP.NET Core API Versioning API接口版本化
  • Entity Framework Core (EF Core) ASP.NET Core 官方 ORM 框架
  • MySql.Data.EntityFrameworkCore EF Core MySql官方驱动
  • Pomelo.EntityFrameworkCore.MySql EF Core MySql Pomelo第三方驱动
  • AutoMapper 对象映射库
  • Dapper 轻量级 ORM 框架
  • Nancy 轻量级web框架
  • NLog 日志框架
  • Orleans 微软开源的一个分布式计算程序开发框架
  • XUnit 单元测试框架
  • ImageProcessor 一个全新的跨平台2D图像处理框架
  • MailKit 邮件收发套件
  • BenchmarkDotNet 性能测试库
  • Orchard2 CMS内容管理系统
  • Json.net Json序列化和反序列化
  • RabbitMQ.Client RabbitMQ 消息队列 .NET Core 客户端库
  • Redis Redis 数据库 .NET Core 客户端库
  • Npgsql EF Core PostgreSQL 数据库驱动
  • Swagger API自动化文档工具
  • Google Protocol Buffer 结构化数据序列化框架
  • Google GRPC 跨语言跨平台RPC框架

Web 服务器

  1. Kestrel

注意事项

  • 监听地址问题
    如果将ASP.NET Core网站发布到linux服务器时,如果使用的监听地址是:localhost或者是127.0.0.1,这个服务只能再该主机内部可以访问,外网无法访问,如果网站是通过docker运行的,则无法通过指定端口docker run -d -p 3721:3721 website:v1.0.0让docker服务器访问该网站,如果在docker服务器上使用curl http://127.0.0.1:3721试图访问网站时将抛出异常:curl: (56) Recv failure: Connection reset by peer
    解决方法就是监听地址使用0.0.0.0,即在所有地址上监听。
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseUrls("http://0.0.0.0:3721/")
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup()
                .Build();

            host.Run();
        }

你可能感兴趣的:(ASP.NET Core 应用开发资源汇总)