林德熙 - 微软最具价值专家和 .NET 基金会成员
通过 ReadyToRun 可以在程序集同时包含 IL 和本机代码,可以有效提升软件的启动速度
本文将和大家介绍如何使用 Microsoft.NET.HostModel 库辅助更改 AppHost 内容
在知道两个点可以连一条线段,那么将线段修改为波浪线可以如何做?
本文将会从基础到高级,从简单到复杂的顺序,告诉大家如何调试 dotnet 系应用,特别是桌面端应用。本文将会向大家介绍使用 VisualStudio 大量的功能用来提高调试效率,穿插着也会介绍一些好用的调试辅助工具,以及如何编写方便调试的代码,期望大家通过阅读本文能有所收获
本文整理我写的和我收集的触摸博客
本文将告诉大家如何在 WPF 里面,通过 GetRawPointerDeviceData 方法从 WM_POINTER 指针消息触摸裸数据,以及解析数据信息获取到更多触摸框上报的信息
是不是大家也会觉得代码审查里面审查代码格式化问题是无意义的,但是不审查又觉得过不去?是否有个专门的工具人,用来协助修复代码格式化的问题?本文来安利大家一个特别好用的方法,使用 dotnet 完全开源的专业格式化工具 dotnet format 配合 GitHub 的自动构建 Action 做的自动代码格式化机器人,这个机器人可以被指定到特定时机,如每天晚上或者每次代码合并等,进行代码格式化,格式化完成之后,可以选择直接推送或者提代码审查
进行框架依赖发布的时候,应用程序需要有 dotnet runtime 运行时才能跑起来。在 dotnet 9 之前,通常都是需要安装到系统的 Program File 文件夹下的全局 dotnet 运行时的支持。在 dotnet 9 时,引入了 AppHostRelativeDotNet 机制,允许开发者自定义依赖框架发布的应用使用的 dotnet 运行时路径
本文告诉大家在 OpenXML SDK 里面文本框的文本带自动编号的项目符号,不同的编号在 OpenXML SDK 上的枚举值
我在 Windows11 上,用服务的方式注册了 GitLab Runner 工具,让 GitLab Runner 工具调度代码执行。在运行过程中,发现我在主机上采用 SMB 挂载的 NAS 文件夹找不到
本文记录我在考古印度尼西亚语言应该是 IN 还是 ID 时,考古到了的内容
官方给的 MCP 示例都是带上 AI 魔法的,或者要么就是控制台或进程调用等,不利于我了解 MCP 的机制。本文记录采用本地进程内的 MCP 服务端和客户端相互通讯的方式,方便大家了解 MCP 的基础机制
本文来告诉大家如何基于 .NET 5 框架和 .NET 6 SDK 进行完全单文件发布,这是对 WPF 应用程序进行独立发布,生成的是完全单文件的方法
本文记录在 QEMU 里面跑 Windows 10 系统时,遇到的 dotnet 抛出不明原因的空异常问题
本文将告诉大家如何在 C# dotnet 里面,调用 Windows 的 EnumDisplayDevices 函数获取显示设备信息
本文也叫 跟着 Stephen Toub 大佬学性能优化系列。大家都知道在 .NET 7 有众多的性能优化,其中就包括了对布尔和字符串互转的性能优化。在对布尔和字符串的转换的性能优化上,有着非常巧妙的思路,值得写篇博客记录
本文记录 d3dcompiler_47.dll 挖的一个坑
本文收藏我给 WPF 做的性能测试。在你开始认为 WPF 的性能存在问题的时候,不妨来这篇博客里找找看我做过的测试。我记录的测试都是比较纯净的测试项目,没有业务逻辑的干扰,写法也正常,可以更加真实反映 WPF 的性能,减少因为奇怪的业务逻辑以及逗比的写法的影响
在 WPF 框架底层里面,对 WriteableBitmap 的实现是有双份内存,具体实现放在 CSwDoubleBufferedBitmap 里面。表层的内存是一个数组,里层内存是 IWICBitmap 对象,渲染时将使用 IWICBitmap 对象加入到渲染管线
在 WPF 框架提供方便进行像素读写的 WriteableBitmap 类,本文来告诉大家在咱写下像素到 WriteableBitmap 渲染,底层的逻辑
本文来告诉大家 msbuild Roslyn 的行为,本文非新手友好
在使用 sdk 格式的项目文件支持快速进行打包,但使用这个方式打包的时候将默认只带程序集输出文件,而没有带依赖的文件。本文告诉大家如何在打包的时候加上需要放在包里面的文件
使用 StreamReader 的过程中,如果设置了 StreamReader 的 BaseStream 的 Position 属性,由于 StreamReader 内部缓存的影响,可能会在缓存消耗完成之前,依然是读取缓存的值,导致行为不符合预期
由于 Avalonia 的渲染延迟非常高,而笔迹应用对渲染实时要求高,我尝试在 Windows 下对 Avalonia 做了很多优化尝试,但都距离 WPF 随便写个笔迹应用慢很多。既然 Avalonia 优化不动,那就用 WPF 做加速层
本文将和大家演示如何在 11.2.0 的 Avalonia 框架上,将 Avalonia.Media.DrawingImage 保存存放为本地图片文件的方法
本文收集 Office 解析相关博客
本文将告诉大家如何在使用 2.20 版本的 OpenXML SDK 对 PPT 里面的单元格进行垂直合并
麒麟 Kylin 系统插入网线但没有网,通知中心里面有网络设置工具的网络提示消息,消息内容是 IP 冲突,无法正常连接到网络
故事的背景是我在给 Avalonia 加上触摸尺寸的支持时,代码审查过程中大佬提出了在多屏上的 X11 行为问题,为此我找了两个触摸屏进行测试 X11 的多屏触摸行为。由于我的设备有限,本文只记录我所测试到的行为
本文将记录和测试 Microsoft.CodeAnalysis.INamedTypeSymbol 的 AllInterfaces 属性能获取的指定类型的接口范围
本文整理 dotnet 打包 CBB 组件为 NuGet 包时可以使用的配置的各个属性
我需要判断一个由某个压缩包文件解压缩出来的文件夹里面的文件内容,是否和压缩包里面记录的相同,于是就写了这个工具
本文和大家介绍 dotnet 官方提供的 System.IO.Hashing 库进行 Crc32 计算
本文记录我探索 Skia 做竖排文本渲染过程中的字符高度计算方法
使用 BT 工具的时候,如果不小心开了超量的连接数,即在退出 BT 工具之后,依然存在很多连接记录,导致网速特别差的问题,即使在同个局域网进行传输,也能感受到网速特别差