Visual Studio 2026 上手体验,AI 懂你、界面清爽、协作无缝
前言
微软正式发布的 Visual Studio 2026,确实不只是换个界面、加几个功能那么简单。更像是一个懂大家习惯、预判大家需求、还能帮助少踩坑的"智能编程"。从写第一行代码到部署上线,整个流程都被重新梳理了一遍,目标很明确:让大家写得更顺、改得更快、跑得更稳。
正文
AI 不再是插件,而是"默认配置"
在 VS 2026 里,AI ...
DotMemory系列:4. 如何分析进程的转储文件
一:背景
1. 讲故事
前面几篇文章说的都是对进程采集 snapshot 文件,但这种方式的前提需要在目标机器上运行 DotMemory 相关组件,这在很多生产环境下很难做到,我知道很多医疗,金融生产环境,部署一个外来文件都需要层层审批,尤其像 dotmemory 这种商业软件,想上去门到没有。。。
目前主流的做法就是生成dump文件拿到线 ...
【EF Core】未定义实体类的数据库模型
不知道大伙伴们有没有这样的想法:如果我不定义实体类,那 EF Core 能建模吗?能正常映射数据库吗?能正常增删改查吗?
虽然一般开发场景很少这么干,但有时候,尤其是数据库中的某些视图,就不太想给它定义实体类。好消息,EF Core 还真支持不定义实体类的。可是,你一定会疑惑了,不定义实体类,那还怎么面向对象呢?不急 ...
DotMemory系列:3. 堆碎片化引发的内存暴涨分析
一:背景
1. 讲故事
前面两篇我们讲的都是通过挂引用根的方式导致的内存暴涨,在快速检测台上能够一眼就看出是什么类型的Type导致的,分析难度稍微较低,在真实的dump分析场景下,也会存在对象偏小而内存暴涨的情况,一般的新手会被这种场景搞懵逼,这篇就来分享这种奇葩的情况。
二:内存暴涨分析
1. 问题代码
为了方便演 ...
EFCore中巧妙利用ToQueryString()实现批插(不借助第三方包)
dotnet10发布了,ef10也快发布了,但是还是只有批量更新(ExecuteUpdateAsync)和批量删除(ExecuteDeleteAsync)功能,没有批量插入。
今天给个办法,在不引用第三方库的情况下,巧妙利用ToQueryString()实现批插。
道理很简单,就是用efcore的ToQueryString()方法返回sql字符串,然后替换拼接实现insert into(...) select ...
DotMemory系列:2. 事件泄露引发的内存暴涨分析
一:背景
1. 讲故事
事件泄露导致的内存暴涨,说实话我以前是不敢相信的,因为我认为没人会写这样的代码,但现实往往都会打脸,还是太年轻了,今年年中的时候还真给遇到了,也算是无语啦,这一篇我们就来聊一聊如何通过 DotMemory 来一探究竟。
二:内存暴涨分析
1. 问题代码
为了方便讲述,先来一段测试代码,代码非常简单 ...
从 .NET Core1.0 到 .NET 10:.NET + C# 演进全景
本文回顾微软 .NET 与 C# 语言从跨平台起步到统一平台、再到现代化性能优化的全过程。每个版本都配有简明 Demo 代码,便于开发者快速掌握特性变化与实践。
一、.NET Core 时代:跨平台的开端
1. .NET Core 1.x(C# 7.0)
发布时间:.NET Core 1.0 于 2016-06-27 发布。
意义:标志 .NET 生态迈向真正跨平台、开源。
...
DotMemory系列:1. 终结队列积压引发的内存暴涨分析
一:背景
1. 讲故事
说实话本来是不想写这个系列的,因为我潜意识里觉得这款工具就像美图秀秀一样,拉低专业人士的档次,但奈何在训练营里我需要用到 dottrace 这款工具,而我向官方申请再续了一年免费的Pack套件也给我通过了,所以我觉得要对得起他们,得要写点什么,截图如下:
这几天我也仔细看了下DotMemory的文档,发 ...
报表应用图表charts显示数据
在内网和手机,一直以文字和数据呈现。上星期,浏览网页时,发现图表charts显示数据和报表,觉得不错的方式。图表,如 https://echarts.apache.org/zh/index.html
Apache ECharts
一个基于 JavaScript 的开源可视化图表库
花上好几天时间,分别使用javascript和vue实现,效果如下,(echart ...
告别人工干预!C# 轻量级上位机自动联动 MES 与视觉检测
前言
工业自动化与智能制造日益普及,如何高效、稳定地将现场设备(如扫码枪、视觉检测系统)与企业信息系统(如MES)打通,成为许多制造业关注的核心问题。
本文将介绍一个基于 .NET 开发的实际项目——"上位机扫码联动视觉检测系统",从整体架构到关键逻辑,详细解析其设计思路与实现方式。
场景描述
项目源于某工厂产线 ...
记一次 .NET 某理财管理客户端 OOM溢出分析
一:背景
1. 讲故事
这是训练营里的学员找到我的,让我帮忙看下为什么他的客户程序会偶发的出现 报错弹框,由于dump比较敏感,这里就不截图发出来了,由于是错误弹框,并不会出现程序崩溃,而且朋友在日志中也看到了 OOM 异常,就是因为这个 OOM 异常导致了后续流程的 报错弹框,说这个程序的内存还行,在业务代码中用了 tr ...
记一次 .NET 某医联体管理系统 崩溃分析
一:背景
1. 讲故事
这段时间都在跑外卖,感觉好久都没写文章了,今天继续给大家带来一篇崩溃类的生产事故,这是微信上有位老朋友找到我的,让我帮忙看下为啥崩溃了,dump也在手,接下来就可以一顿分析。
二:崩溃分析
1. 为什么会崩溃
双击打开dump文件,会看到崩溃信息通览,参考如下:
Executable search path is:
Win ...
介绍一个医疗物质数目清点系统的实现过程
本篇随笔分析一个实际的用于科室的物质清点系统的实现过程,针对各个模块的进行详细的业务分析和基于我们自己的WInform开发框架进行快速实现的整个过程,引入库房、物资(产品)、库存、入库、出库等主要的业务对象,并根据实际需要对相关的业务界面进行设计开发。
1、系统业务需求
业务需求主要的目的是跟踪记录科室物资的 ...
Excel处理控件Aspose.Cells教程:如何使用C#在Excel中添加、编辑和更新切片器
Excel 中的切片器是 Excel 最直观的数据筛选和可视化工具之一。用户可以通过点击按钮快速筛选数据透视表或图表,从而创建更具交互性的报表。对于开发人员而言,使用 C# 在 Excel 中创建切片器可以使基于 Excel 的仪表板更加动态、美观且易于使用。
本教程将展示如何借助Aspose.cells使用C#在Excel中添加切片器,您还 ...
FastReport在线设计器2026.1版本发布,新增报表验证工具等
新版 FastReport Online Designer进行了多项重大改进并新增了多项功能。其中一项关键改进是新增了报表验证工具,该工具可自动检查报表中的错误和潜在的显示问题。此外,此版本还包含适用于 .NET 和 VCL 解决方案的新组件和控件,例如 RFID 标签组件、用于对话框页面的各种控件(PictureBox 控件、GroupBox 控件、Pane ...
WPF 如何支撑一个灵活的流程图编辑器?
前言
软件开发领域,流程设计与可视化是提升系统可维护性、增强用户体验的重要手段。无论是工作流管理、业务逻辑编排还是算法流程展示,一个灵活、易用的流程节点编辑框架都能极大地提高开发效率与系统灵活性。
本文将推荐一款基于 WPF 的开源流程节点编辑框架,通过对其核心设计与实现逻辑的解析,带领大家从零开始手写一 ...
推荐一种异步线程执行过程中更新进度的方法
在实际应用中,对于耗时较长或者耗费性能的操作,为了避免UI卡顿,通常采用后台异步线程的方式进行处理,但用户需要知道当前操作的执行进度(如当前进度百分比),以及一些更详细的过程信息(如共分5步,当前是正在执行第几步)等内容。实现此功能有很多种方法,今天介绍一种通过.NET自带的IProgress接口实现进度上报的操作 ...
修复达梦EFCore驱动布尔类型兼容问题
dm库相比其他库本身缺少一些语法差异,也可以说是缺陷。
比如:
0和1无法直接在sql中当作真假值用,where 0这种写法不支持,报错:查询使用值表达式作为过滤条件;
t.field is null 也无法直接作为select项;
不支持OUTER APPLY等SQL语法;
以及数据库函数中的又只能用0和1作为布尔参数值。
但是dm.efcore生成的语句就是这 ...
国产化文档开发组件Spire.Office 10.10 全新发布!多项文档处理能力重磅升级
近日,知名国产化文档开发组件Spire.Office 同步更新 .NET和 Java 版本至10.10.0 !本次更新带来了多项全新功能与性能优化,为开发者提供更强大、更高效的文档、表格、PDF、演示文稿处理能力。
Spire.Office 官方试用版下载,请联系慧都科技
欢迎加入Spire技术交流Q群(125237868),与更多小伙伴一起提升开发技能!
...
dotnet 读 WPF 源代码 学习使用 Microsoft.DotNet.Arcade.Sdk 处理代码里的多语言
在 dotnet 庞大的生态集里,打包工具链是开源中很重要的部分工作。通过 https://github.com/dotnet/arcade 将打包中重复的工作放在一个仓库中,减少基础设施能力在多个项目中重复进行。就像我所在的团队开源的 DotNETBuildSDK 项目一样,提供各种构建工具用在各个项目里面
翻遍整个 WPF 仓库,都无法直接找到任何的从 Strin ...