支持较低 GLibC 的 dotnet AOT GitHub Action 构建方法
无论是麒麟还是 UOS 系统,所采用的 GLibC 版本都比较低。默认在 GitHub Action 上构建用的是 ubuntu-latest 较新的版本。进行 AOT 发布的 dotnet 程序将因为 GLibC 版本太新,而无法在麒麟或 UOS 等国产化系统上跑起来 ...
PDF 转 TIFF 性能测评:IronPDF具有更快的处理速度、更少的内存
IronPDF v2025.6 代表了 PDF 处理性能的一次重大飞跃,其企业级改进重新定义了竞争基准。测试表明,IronPDF 在所有关键指标上均实现了显著的性能提升,使其成为 PDF 转 TIFF 处理解决方案中的优选组件。 ...
记一次 .NET 某光谱检测软件 内存暴涨分析
一:背景 1. 讲故事 训练营里的一位学员找到我,说他们的系统会出现内存暴涨的情况,看了下也不是托管堆的问题,让我协助一下到底怎么回事?既然有dump了,那就开始分析之旅吧。 二:内存暴涨分析 1. 为什么会暴涨 在分析之前还是那条原则,不要过分的相信求助者的话,否则容易被他带沟里去,毕竟人家是业余 ...
文档控件Aspose.3D实用教程:使用 C# 编程将 DAE 文件转换为 OBJ
DAE (数字资产交换)文件格式在 3D 软件中得到了良好的支持,但OBJ文件格式的兼容性和可靠性更高。本教程旨在借助Aspose.3D使用 C# 编程将 DAE 文件自动转换为 OBJ 文件。 ...
WPF 引用 ASP.NET Core 的 AOT 版本
之前我写过博客让 WPF 和 ASP.NET Core 跑在一个应用程序进程里面,这样的方式十分简单方便,缺点是输出路径会带一些 ASP.NET Core 的 DLL 文件。本文将来尝试对 ASP.NET Core 进行 AOT 发布为类库,通过类库调用方式在 WPF 里引用 ASP.NET Cor... ...
3D文档控件Aspose.3D实用教程:使用 C# 构建 OBJ 到 U3D 转换器
如果您希望以编程方式加速 .NET 中 3D 文件格式的转换,那么本指南非常适合您。在本篇教程中,我们将演示如何借助Aspose.3D for .NET,通过几行代码在 C# 中构建OBJ到U3D 的转换器。Aspose.3D for .NET是目前遥遥领先的3D 渲染 SDK 之一,它除了 3D ...
记一次 .NET 某工控PCB巡检系统 崩溃分析
一:背景 1. 讲故事 前些天训练营里的一位学员找到我,说他们的系统出现了崩溃,自己分析了遍也没找到是什么原因,让我帮忙看下怎么回事?dump拿到手后,接下来就上windbg分析。 二:崩溃分析 1. 为什么会崩溃 打开dump之后,windbg 会自动定位崩溃点,输出如下: ........... ...
Stimulsoft 发布 2025.3 版本:支持在报表计算中解释运行 C# 脚本
近日,Stimulsoft 正式发布了2025.3 版本的报表工具,为 .NET 和 .NET Framework 平台带来了重要更新 —— 支持在报表计算过程中以解释模式运行 C# 脚本。这一功能将进一步提升报表的灵活性和扩展性,方便开发者在报表设计与运行中实现更多自定义逻辑。 ...
国产化Excel处理组件Spire.XLS教程:使用 C# 从数据库导出数据到 Excel(含 SQL 示例)
将数据库数据导出为 Excel 文件,也因此成为实现报表生成、审计追踪、数据迁移和临时分析等需求时的一种高频操作。本文将介绍如何使用 Spire.XLS for .NET 通过 C# 将数据库记录高效导出到 Excel 文件。示例以 SQL Server 数据库为基础,但相同方法也适用于 SQLit... ...
PDF处理控件Aspose.PDF教程:将 PNG 合并为 PDF
将多张PNG图像合并为一个PDF文件是文档处理中的常见需求。无论是存档、报告、作品集、演示文稿,还是将扫描页面转换为单个文件,如果没有合适的工具,这都可能非常耗时。本指南将介绍如何使用 C#、Java 和 Python 编程实现快速将 PNG 图像合并为 PDF。 ...
推荐一款高性能状态机管理解决方案
在实际软件开发中,尤其是工业软件,每一款设备都有复杂的状态以及状态之间的切换的功能需求,在这种情况下,如何管理状态以及状态之间切换,和对应状态下的功能控制,成为非常重要的一个问题。如果处理不好,那这种繁复的状态将成为“像面条一样”缠绕耦合,一团乱麻,真的就是“剪不断,理还乱”。那如何解决这个问题呢?... ...
告别手动更新!WinForm 应用轻松集成自动升级功能 (HHUpdateApp)
前言 在桌面应用开发领域,版本更新始终是影响用户体验的关键环节。传统的更新方式不仅操作繁琐,还常伴随兼容性风险。对于桌面应用程序而言,实现一个高效且用户友好的自动更新机制尤为重要。 今天推荐一款专为 .NET 经典桌面应用设计的轻量级工具,以极简配置实现无缝更新,让大家告别复杂的脚本编写,专注于核心 ...
[原创]《C#高级GDI+实战:从零开发一个流程图》第09章:增加贝塞尔曲线,上、下、左、右连接点
一、前言 前面的课程我们添加了诸多形状,但连线还只有直线这一种样式,而且也只能连接形状的中心点。我们本节课就来增加一种很常见的连线样式:贝塞尔曲线。同时也对形状增加多个不同的连接点,不再只连中心了。 相信看完的你,一定会有所收获! 本文地址:https://www.cnblogs.com/lesli ...
3D文档控件Aspose.3D实用教程:在 C# 中将 3MF 文件转换为 STL
3MF和STL都是 3D 建模软件广泛使用的 3D 文件格式。在某些情况下,由于行业标准要求和兼容性,STL 文件格式更受青睐。本教程将演示借助Aspose.3D for .NET,使用 C# 以编程方式将 3MF 转换为 STL 。 ...
记一次 .NET 某汽车控制焊接软件 卡死分析
一:背景 1. 讲故事 前些天有位朋友找到我,说他们开发的在客户工厂里的窗体程序出现了卡死情况,并且 Ctrl+C 也退不出来,自己分析了下也没找出是什么原因,后来在网络上就找到了我,让我帮忙看下怎么回事? 毕竟我在这一块是专业的。。。 哈哈,既然有dump,那就拿出来分析一下。 二:卡死分析 1. ...
C# WPF 内置解码器实现 GIF 动图控件
相对于 WinForm PictureBox 控件原生支持动态 GIF,WPF Image 控件却不支持,让人摸不着头脑 常用方法 提到 WPF 播放动图,常见的方法有三种 MediaElement 使用 MediaElement 控件,缺点是依赖 Media Player,且不支持透明 <Medi ...
【EF Core】聊聊“复合”属性
复合(或复杂)属性,即 Complex Property,怎么理解呢?这是相对于常见的基础类型,比如 string、int、byte、long 等类型的属性就是基础类型值,而由多个基础类型构成的类型就是复合类型(当然,复合类型的属性也可以其他复合类型,这里就不套娃了)。 比如,某顿饭由米饭、菜、肉、 ...
String与string的区别
C#是区分大小写的,但是我却发现C#中同时存在String与string,于是我很困惑,于是我上网搜索了一下,于是我了解了一些小知识。 MSDN中对string的说明:string is an alias for String in the .NET Framework。string是String的 ...
为Avalonia应用自动生成StyledProperty和DirectProperty
最近学习了源生成器,遂仿照CommunityToolkit/Windows中的DependencyPropertyGenerator写了个生成器,可自动生成Avalonia中的StyledProperty和DirectProperty NuGet:https://www.nuget.org/pack ...