百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

盘点8个热门.Net开源项目

ccwgpt 2025-04-26 17:09 18 浏览 0 评论

一、SmartFormat:轻量级文本模板库,轻松替代 string.Format

项目地址:

https://github.com/axuno/SmartFormat

SmartFormat不仅继承了 string.Format 的功能,还扩展了更多高级特性,例如命名占位符、列表格式化、本地化支持、复数化等。SmartFormat 提供了高性能、低内存占用的运行时格式化能力。

支持的目标框架

  • .Net Framework 4.6.2 及更高版本
  • .Net 标准 2.0、.Net 标准 2.1
  • .Net 6.0 或 .Net 8.0

简单示例:

var data = new { Library = "SmartFormat"};
_ = Smart.Format("Composed with {Library}.", data); 
// 结果: "Composed with SmartFormat."

二、ZLinq:意在替代Linq的高性能.Net开源库

项目地址:

https://github.com/Cysharp/ZLinq

ZLinq 是一个由 Cysharp 团队开发的开源项目,目标是为所有 .NET 平台和 Unity 提供零分配的 LINQ 实现。它通过利用 Span 和 SIMD 技术,优化了 LINQ 的性能,同时提供了对树形结构(如文件系统、JSON、游戏对象等)的查询支持。

通过一行代码,调用AsValueEnumerable() 方法,用户可以将任何Linq转换为 ZLinq。

using ZLinq;


var seq = source
    .AsValueEnumerable() // 添加此代码
    .Where(x => x % 2 == 0)
    .Select(x => x * 3);

三、SharpBrowser:用C#打造超快的个性化开源浏览器!

项目地址:

https://github.com/sharpbrowser/SharpBrowser

SharpBrowser 是一个用 C# 和 CefSharp 开发的全功能网页浏览器。它声称是最快的开源 C# 网页浏览器,渲染网页的速度比谷歌浏览器还快,因为其使用轻量级的 CEF 渲染器。

经过比较所有可用的 .NET 浏览引擎后,项目团队最终选择了高性能的 CefSharp。

该项目基于 MIT 许可证发布。

功能特点

  • 网页浏览功能:支持 HTML5、CSS3、JS、HTML5 视频、WebGL 3D、WebAssembly 等现代网页技术。
  • 多标签浏览:用户可以同时打开多个网页标签,方便在不同页面之间切换。
  • 地址栏:用户可以在地址栏输入网址访问网页,同时支持通过地址栏进行谷歌搜索。
  • 导航控制:提供后退、前进、停止、刷新等基本导航功能。
  • 开发者工具:内置开发者工具,方便开发者调试网页。
  • 搜索功能:具备搜索栏,用户可以在页面中搜索内容,并高亮显示所有匹配项。
  • 下载管理器:提供下载管理功能,方便用户管理和查看下载的文件。
  • 自定义错误页面:当网页加载失败时,会显示自定义的错误页面。
  • 自定义上下文菜单:用户可以根据需要自定义浏览器的右键菜单。
  • 品牌化与定制:可以轻松添加特定供应商的品牌标识、按钮或快捷键。
  • 离线浏览:支持查看在线和离线网页。

四、FlexLabs.Upsert:EF Core插件推荐,支持多数据库的Upsert功能

项目地址:

https://github.com/artiomchi/FlexLabs.Upsert

FlexLabs.Upsert是一个为Entity Framework Core(EF Core)提供Upsert功能的开源库,它允许在插入数据时,如果存在冲突(如主键或唯一键冲突),则更新现有记录。

这个库支持多种常见的数据库提供者,如PostgreSQL、Sqlite、SqlServer、Oracle和MySQL,并且使用它们各自的原生SQL语法来执行Upsert操作。

检测存在相同UserID和Date的记录时,更新字段Visits。

using FlexLabs.EntityFrameworkCore.Upsert;

// 创建Upsert命令
var upsert = DataContext.DailyVisits
    .Upsert(new DailyVisit
    {
        UserID = userID,
        Date = DateTime.UtcNow.Date,
        Visits = 1,
    })
    .On(v => new { v.UserID, v.Date }) // 指定冲突检测条件
    .WhenMatched(v => new DailyVisit
    {
        Visits = v.Visits + 1, // 定义更新逻辑
    });

// 执行Upsert操作
await upsert.RunAsync();

五、Squidex:一个基于.Net功能强大的CMS开源项目

项目地址:

https://github.com/Squidex/squidex

Squidex 是一个基于 .NET Core 构建开源的无头内容管理系统(Headless CMS),主要用于构建和管理复杂的内容管理系统。

它允许开发者和内容管理者通过API来处理内容,而不是传统的网页界面,这为前端开发提供了极大的灵活性。

  • 多项目支持:允许创建无限数量的项目和团队,以便在不同的部门或项目之间管理内容。
  • 丰富的内容管理功能:用户可以创建自己的内容类型,并根据需要调整。
  • 多语言支持:支持多语言内容,便于国际化应用。
  • 强大的权限系统:精细的权限设置让您可以完全控制谁可以查看或编辑内容。
  • 工作流系统:支持定制工作流以确保只有高质量的内容才能发布,帮助实施公司内部关于谁可以创建、审核或发布内容的复杂规则。
  • 集成搜索引擎:内置搜索功能帮助快速查找内容。
  • 同步规则:能够为系统事件创建规则,以自动与其他系统同步内容或通知内容编辑者。
  • 易于扩展:由于其模块化架构,Squidex 可以很容易地与第三方服务集成。
  • HTTP端点:支持GraphQL或REST接口方式

六、Dapper-Plus:一个基于 Dapper 的.Net扩展库,提供高性能的批量操作功能

项目地址:

https://github.com/zzzprojects/Dapper-Plus

Dapper-Plus 是一个基于 Dapper 的扩展库,专注于提供高性能的批量操作功能。它不仅可以与 Dapper 一起使用,还兼容其他所有 Dapper 包。通过简单的配置和映射,开发者可以轻松实现高效的数据库批量操作。

执行批量插入、更新、删除或合并,并包含相关子项。

connection.BulkInsert(orders, order => order.Items)
          .BulkInsert(invoices, invoice => invoice.Items)
          .BulkMerge(shippingAddresses); 

七、Generative-AI-for-beginners-dotnet:微软官方面向初学者的生成式人工智能免费.NET课程

项目地址:

https://github.com/microsoft/Generative-AI-for-beginners-dotnet

这个开源项目是专门为 .NET 开发人员深入生成式 AI 世界的实践课程!

这些课程不仅仅是理论,更是包含了实际应用程序示例和源码码,以使 .NET 开发人员能够充分掌握生成式 AI。

课程形式:项目以课程的形式呈现,包含五课,每课都围绕一个具体的主题展开,帮助开发者从基础到实践逐步掌握相关技能。

八、example-voting-app:一个学习容器化应用开发和运维的绝佳范例

项目地址:

https://github.com/dockersamples/example-voting-app

这是一个简单而经典的应用示例,实现了投票和结果展示的功能。介绍使用 Docker、Docker Compose、Docker Swarm 和 Kubernetes 等工具来构建、部署和管理分布式应用。

通过学习这个项目,开发者可以快速掌握 Docker、Docker Compose、Docker Swarm 和 Kubernetes 等工具的使用方法,并理解分布式应用的设计原则和组件交互方式。

该项目的架构设计清晰且易于理解,涵盖了前端、后端、消息队列、数据库等多个组件。具体来说,它包括以下几个关键部分:

  1. 前端投票应用(Python):这是一个基于 Python 的 Web 应用,用户可以通过它在两个选项之间进行投票。
  2. 消息队列(Redis):Redis 在这里充当消息队列的角色,负责收集用户的投票信息。
  3. 后端处理(.NET):一个基于 .NET 的工作进程,负责从 Redis 中消费投票信息,并将其存储到数据库中。
  4. 数据库(Postgres):Postgres 数据库用于持久化存储投票结果,它通过 Docker 卷进行数据持久化。
  5. 结果展示应用(Node.js):基于 Node.js 的 Web 应用,实时展示投票结果。

这种架构设计不仅展示了不同编程语言和技术栈的协同工作,还体现了分布式应用中常见的组件划分和职责分配。

相关推荐

团队管理“布阵术”:3招让你的团队战斗力爆表!

为何古代军队能够以一当十?为何现代企业有的团队高效似“特种部队”,有的却松散若“游击队”?**答案正隐匿于“布阵术”之中!**今时今日,让我们从古代兵法里萃取3个核心要义,助您塑造一支战斗力爆棚的...

知情人士回应字节大模型团队架构调整

【知情人士回应字节大模型团队架构调整】财联社2月21日电,针对原谷歌DeepMind副总裁吴永辉加入字节跳动后引发的团队调整问题,知情人士回应称:吴永辉博士主要负责AI基础研究探索工作,偏基础研究;A...

豆包大模型团队开源RLHF框架,训练吞吐量最高提升20倍

强化学习(RL)对大模型复杂推理能力提升有关键作用,但其复杂的计算流程对训练和部署也带来了巨大挑战。近日,字节跳动豆包大模型团队与香港大学联合提出HybridFlow。这是一个灵活高效的RL/RL...

创业团队如何设计股权架构及分配(创业团队如何设计股权架构及分配方案)

创业团队的股权架构设计,决定了公司在随后发展中呈现出的股权布局。如果最初的股权架构就存在先天不足,公司就很难顺利、稳定地成长起来。因此,创业之初,对股权设计应慎之又慎,避免留下巨大隐患和风险。两个人如...

消息称吴永辉入职后引发字节大模型团队架构大调整

2月21日,有消息称前谷歌大佬吴永辉加入字节跳动,并担任大模型团队Seed基础研究负责人后,引发了字节跳动大模型团队架构大调整。多名原本向朱文佳汇报的算法和技术负责人开始转向吴永辉汇报。简单来说,就是...

31页组织效能提升模型,经营管理团队搭建框架与权责定位

分享职场干货,提升能力!为职场精英打造个人知识体系,升职加薪!31页组织效能提升模型如何拿到分享的源文件:请您关注本头条号,然后私信本头条号“文米”2个字,按照操作流程,专人负责发送源文件给您。...

异形柱结构(异形柱结构技术规程)

下列关于混凝土异形柱结构设计的说法,其中何项正确?(A)混凝土异形柱框架结构可用于所有非抗震和抗震设防地区的一般居住建筑。(B)抗震设防烈度为6度时,对标准设防类(丙类)采用异形柱结构的建筑可不进行地...

职场干货:金字塔原理(金字塔原理实战篇)

金字塔原理的适用范围:金字塔原理适用于所有需要构建清晰逻辑框架的文章。第一篇:表达的逻辑。如何利用金字塔原理构建基本的金字塔结构受众(包括读者、听众、观众或学员)最容易理解的顺序:先了解主要的、抽象的...

底部剪力法(底部剪力法的基本原理)

某四层钢筋混凝土框架结构,计算简图如图1所示。抗震设防类别为丙类,抗震设防烈度为8度(0.2g),Ⅱ类场地,设计地震分组为第一组,第一自振周期T1=0.55s。一至四层的楼层侧向刚度依次为:K1=1...

结构等效重力荷载代表值(等效重力荷载系数)

某五层钢筋混凝土框架结构办公楼,房屋高度25.45m。抗震设防烈度8度,设防类别丙类,设计基本地震加速度0.2g,设计地震分组第二组,场地类别为Ⅱ类,混凝土强度等级C30。该结构平面和竖向均规则。假定...

体系结构已成昭告后世善莫大焉(体系构架是什么意思)

实践先行也理论已初步完成框架结构留余后人后世子孙俗话说前人栽树后人乘凉在夏商周大明大清民国共和前人栽树下吾之辈已完成结构体系又俗话说青出于蓝而胜于蓝各个时期任务不同吾辈探索框架结构体系经历有限肯定发展...

框架柱抗震构造要求(框架柱抗震设计)

某现浇钢筋混凝土框架-剪力墙结构高层办公楼,抗震设防烈度为8度(0.2g),场地类别为Ⅱ类,抗震等级:框架二级,剪力墙一级,混凝土强度等级:框架柱及剪力墙C50,框架梁及楼板C35,纵向钢筋及箍筋均采...

梁的刚度、挠度控制(钢梁挠度过大会引起什么原因)

某办公楼为现浇钢筋混凝土框架结构,r0=1.0,混凝土强度等级C35,纵向钢筋采用HRB400,箍筋采用HPB300。其二层(中间楼层)的局部平面图和次梁L-1的计算简图如图1~3(Z)所示,其中,K...

死要面子!有钱做大玻璃窗,却没有钱做“柱和梁”,不怕房塌吗?

活久见,有钱做2层落地大玻璃窗,却没有钱做“柱子和圈梁”,这样的农村自建房,安全吗?最近刷到个魔幻施工现场,如下图,这栋5开间的农村自建房,居然做了2个全景落地窗仔细观察,这2个落地窗还是飘窗,为了追...

不是承重墙,物业也不让拆?话说装修就一定要拆墙才行么

最近发现好多朋友装修时总想拆墙“爆改”空间,别以为只要避开承重墙就能随便砸!我家楼上邻居去年装修,拆了阳台矮墙想扩客厅,结果物业直接上门叫停。后来才知道,这种配重墙拆了会让阳台承重失衡,整栋楼都可能变...

取消回复欢迎 发表评论: