那些年用过的开源项目(.net/c# stack)
- 2020 年 3 月 31 日
- 筆記
之前写过一篇文章(那些年用过的开源项目(一)),列出了一些曾经用过的基于java技术栈的开源项目;这篇文章总结用过的基于.net/c#技术栈的开源项目。

visual studio 微软出品的.net/c#开发IDE,很贵;但也有免费版,仅允许学生、小公司等使用,功能没有收费版全。
jetbrains rider JetBrains公司出品的.net/c#开发IDE,也是收费的。如果大家没听说过这个IDE,但一定听说过JetBrains公司出品的另一个非常流行的java开发IDE:intellij。
resharper 功能非常强大的.net/c#开发插件,也是JetBrains公司出的。
nuget+msbuild .net技术栈里面用于包管理加项目构建的工具,类似于java技术栈里面的maven,nodejs技术栈里面的npm+grunt/gulp。
teamcity 持续集成持续部署工具,JetBrains公司出的。类似的还有jenkins。
coverity 静态代码扫描。
angular 当今非常流行的前端开发框架,从angularjs发展而来。
asp.net .net技术栈开发web项目的library,可类比于java技术栈的servlet。
asp.net mvc .net技术栈基于mvc模式开发web项目的library,可类比于java技术栈的spring mvc。更详细的关于java和.net技术栈的对比,可以参考我的另外一篇文章(从Java转向.NET/C#,Are You OK?)。
autofac DI框架,类似的还有unity、.net core自带的DI框架。
entity framework .net技术栈的ORM框架,类比于java技术栈的jpa。
sqlserver 微软的关系型数据库,sqlserver express是其免费版。
sqlite 轻量级数据库,可以作为in-memory数据库使用。
zookeeper 可以作为服务注册和分发组件,类似于eureka、consul。同时,其也可以用于实现分布式锁,可以参考我之前的一篇文章(liquibase和flyway中分布式锁实现的区别?)。
kafka 消息中间件。
nunit/xunit/msunit 单元测试框架。
nsubstitute mock框架。
Microsoft.AspNetCore.Mvc.Testing 用于asp.net core mvc项目的一个集成测试library。
selenum 用于模拟用户使用的一个集成测试框架。
nlog 记日志library。
Newtonsoft.Json json处理library。
antlr 用于词法语法解析的一个library。了解更多,可参考我的另外一篇文章(用antlr解析odata filter条件表达式)。
nginx 高性能负载均衡和反向代理工具。但是,要实现高并发负载均衡,可能还需要使用一些其它产品,比如f5。了解更多,可参考我的另外一篇文章(负载均衡在微服务架构中的典型应用场景)。
ocelot 开源的API Gateway组件。
kubernetes 当下非常流行的容器编排开源项目,可类比cloudfroundy,但是它们却有很大不同。
References
- https://docs.microsoft.com/en-us/aspnet/core/test/integration-tests?view=aspnetcore-3.1