lindexi

林德熙 - Windows 10 App Developer

林德熙

dotnet core 应用是如何跑起来的 通过AppHost理解运行过程

在 dotnet 的输出路径里面,可以看到有一个有趣的可执行文件,这个可执行文件是如何在框架发布和独立发布的时候,找到 dotnet 程序的运行时的,这个可执行文件里面包含了哪些内容

dotnet 使用 WpfAnalyzers 辅助分析 WPF 应用代码缺陷

引入 WpfAnalyzers 代码分析工具,相当于给团队加入一个免费的代码审查工具人,可以帮忙在日常开发找到很多代码缺陷。加入 WpfAnalyzers 代码分析工具,可以减少代码编写里的低级缺陷,提升开发质量

dotnet OpenXML 文本 BodyProperties 的属性作用

本文收集 a:bodyPr 文本框属性 BodyProperties 的属性的作用

WPF 修复 dotnet 6 与源代码包冲突

在 dotnet 6 时,官方为了适配好 Source Generators 功能,于是默认就将 WPF 的 XAML 构建过程中,引入第三方库的 cs 文件,这个功能默认设置为开启。刚好源代码包为了修复在使用 dotnet 6 SDK 之前,在 WPF 的构建 XAML 过程中,不包含第三方库的代码文件,从而使用黑科技将源代码包加入到 WPF 构建 XAML 中。在 VisualStudio 升级到 2022 版本,或者是升级 dotnet sdk 到 dotnet 6 版本,将会更新构建调度,让源代码包里的代码文件被加入两次,从而构建失败

dotnet 代码调试方法

本文将会从简单到高级,告诉大家如何调试 dotnet 的代码,特别是桌面端。本文将会使用到 VisualStudio 大量的功能,通过各种好用的功能提高调试方法

dotnet OpenXML WPF 解析实现 PPT 文本描边效果

本文是使用 WPF 做个 PowerPoint 系列的博客,本文来告诉大家如何解析 PPT 里面的文本描边效果,在 WPF 应用中绘制出来,实现像素级相同

SharpDx 的代替项目

现在 SharpDx 已经不维护了,如果还需要在 C# 使用 Dx 相关技术,可以使用本文列出的替代项目

WPF 给 Pen 的 DashStyle 设置 0 0 的虚线数组将会让渲染线程消耗大量 CPU 资源

给 WPF 的 Pen 的 DashStyle 属性设置 0 0 的虚线,在绘制几何图形时,绘制的几何图形的尺寸将关联渲染线程所使用的 CPU 资源。大约在周长大于 500 时,将可以从任务管理器上看到高 CPU 占用

WPF 使用 SharpDx 渲染博客导航

我写了很多在 WPF 使用 SharpDx 渲染的博客,但是有小伙伴吐槽说这些博客没有一个好看的顺序,我将所有的 SharpDx 的博客按照顺序放在下面

WPF 模拟 WPFMediaKit 的 D3D 配置用来测试4k性能

本文告诉大家我在测试 WPFMediaKit 的 D3D 配置性能影响在 4k 分辨率设备下采用高清摄像头的性能

使用 Silk.NET 创建 OpenGL 空窗口项目例子

本文告诉大家如何使用 Silk.NET 创建 OpenGL 空窗口项目。在 dotnet 基金会下,开源维护 Silk.NET 仓库,此仓库提供了渲染相关的封装逻辑,包括 DX 和 OpenGL 等等的封装,利用此封装可以用来代替原有的 SharpDx 等库。这是一个全新写的项目,使用上了 dotnet 和 C# 很多新的特性,相对来说也很活跃,我准备开始入坑这个项目

SharpDx D3D9 的颜色 Format 和 WPF 的 PixelFormat 转换方法

本文告诉大家在 DirectX 9 的颜色格式 Format 和 WPF 的 PixelFormat 转换方法

dotnet 5 判断当前程序运行在 Windows 系统 Linux 系统的简单方法

本文告诉大家使用 dotnet 5 提供的 System.OperatingSystem 类的方法进行快速且简单判断当前程序所运行在的系统

WPF 使用 SharpDX 在 D3DImage 显示

本文告诉大家如何使用 SharpDX 在 D3DImage 显示。在上一篇WPF 使用 SharpDX只是使用窗口,也就是无法使用其它的 WPF 控件。所以这一篇就来告诉大家如何使用 WPF 控件和使用 SharpDX 。

dotnet format 忽略生成代码的格式化

我给团队引入了自动格式化代码机器人,这个机器人有点傻,会将生成的代码也进行格式化,每次都会我的代码生成工具打架。为了让这两个机器人和好,我探索了让 dotnet format 忽略对生成代码进行自动格式化的方法

wpf 单例

本文告诉大家如何做一个 wpf 单例程序。单例就是用户只能运行这个程序一次,也就是内存只有存在这个程序一个。

dotnet 通过 DockerfileContext 解决项目放在里层文件夹导致 VisualStudio 构建失败

本文告诉大家,如何解决 csproj 项目文件放入到里层的文件夹,不放在 sln 所在文件夹的第一层子文件夹,导致 VisualStudio 2022 在构建 docker 映像提示找不到文件的问题

WPF 旋转太极

旋转的太极包含了这个世界的秘密,无论用啥录屏软件或者视频制作软件,都不好做出我期望的效果,于是我自己用代码写了一次,可以自己控制所有的逻辑。本文告诉大家如何使用 WPF 写一个旋转的太极

WPF 布局 在有限空间内让两个元素尽可能撑开的例子

我在尝试写一个显示本机 WIFI 热点的账号和密码的控件,要求此控件在有限的空间内显示。但是尽可能显示出热点的账号和密码。而热点的账号和密码是用户配置的,也许长度很长。我的需求是在假如账号的长度较短的时候,将剩余的空间尽可能给到密码的显示。反过来,在密码长度比较短的时候,将剩余的空间给到账号的显示。如果两者的长度都比较长,那么同时限制两者的最大尺寸

dotnet 6 引用 NAudio 的旧版本构建不通过

本文告诉大家在使用 NAudio 的旧版本导致构建不通过问题,解决方法是升级到 1.10 或以上版本

WPF 引用第三方库的控件在设计器加上设计时数据和属性

本文告诉大家如何在 VisualStudio 2022 的 XAML 设计器中,在设计时给第三方控件加上设计用的属性和数据的方法

dotnet 根据基线包版本实现库版本兼容

本文来告诉大家如何根据 基线包版本 的功能来实现自动在构建过程中,告诉开发者,当前版本是否存在不兼容旧版本的变更。其不兼容变更包括二进制中断变更和 API 不兼容变更和源代码中断变更。可以让库开发者花更少的精力在测试兼容性上

dotnet 将自动代码格式化机器人带入团队 GitLab 平台

给团队带入一个 代码格式化机器人 能提升团队的幸福度,让团队的成员安心写代码,不用关注代码格式化问题,将格式代码这个粗活交给机器人去做。同时也能减少在代码审查里撕格式化问题的时间,让更多的时间投入到更有价值的工作上 本文来告诉大家如何给团队的 GitLab 平台上带入一个自动代码格式化机器人的方法

dotnet OpenXML 聊聊 PPT 文本行距行高计算公式

在 Office 的 PPT 里面,将根据储存文档的行距以及字号,计算出渲染出来的每一行的文本行高。本文将根据 Office 2016 和 M365 两个版本,加上 QQ 截图测量,通过魔法的计算方式加上逗比的算法,从而拿到对应关系公式。也许对于 Word 来说,也是相同的规则,但本文仅仅只聊 PPT 的部分

dotnet tool 创建 GitLab 合并请求 Merge Requests 工具

本文来告诉大家如何使用 dotnetCampus.GitLabMergeRequestCreator 工具,命令行创建 GitLab 合并请求 Merge Requests 的方法

dotnet OpenXML 聊聊文本段落对齐方式

本文来和大家聊聊在 OpenXML 里面,文本段落对齐方式。在 Word 和 PPT 的文本段落对齐规则是相同的,对齐的规则比较多,本文将一一告诉大家

dotnet C# 获取当前设备可移动磁盘

本文告诉大家如何获取当前设备的可移动磁盘

dotnet 在析构函数调用 ThreadLocal 也许会抛出对方已释放

我在不自量力做一个数组池,就是为了减少使用 System.Buffers.dll 程序集,然而在数组池里面,所用的 ThreadLocal 类型,在我对象析构函数进行归还数组时,抛出了无法访问已释放对象

dotnet core 安装在 Redhat6 RHEL 6 或 CentOS 6 的方法

本文收藏将 dotnet core 应用安装在 RHEL 6 或 CentOS 6 的方法

从以前的项目格式迁移到 VS2017 新项目格式

以前的项目格式使用的是 csproj 的格式,但是 .net core 支持使用 project.json 格式的项目文件,后来还是决定不使用这个格式。 VS2017 的项目格式更好读、更简单而且减少了 git 冲突。 本文来告诉大家如何从 VS2015 和以前的项目格式修改为 VS2017 项目格式。当前对新项目格式的命名是 SDK Style 风格的 csproj 项目文件格式。而在 VS2015 和以前的项目格式是 Franken-proj 格式

WPF 制作一个占用文件的测试工具

我在开发软件进行测试时,需要测试拖入的文件被占用时软件的行为,于是就做了一个文件占用工具,此工具可以将某个文件进行占用,以及获取某个文件被哪个进程占用

C# 字符串首字符大写

我找到一些把字符串首字符大写的方法。

【转】 PPTX解析 设置透明色

在PPT中,我们可以通过图片格式选项中->颜色->设置透明色,将指定颜色设置为透明,以实现去除纯色背景的需求。

【转】 PPTX解析 重新着色

PPT对图片进行重新着色设置透明颜色这两个行为,并不会对原图进行修改,而是通过将修改信息直接存入xml中,并在加载图片时通过计算将效果渲染出来。由于PPT不会存储一张经过该效果处理后的图片,所以第三方应用需要主动获取相关的存储信息,解析后将原图进行修改或通过着色器处理渲染效果。 通过本篇内容,我们将介绍重新着色的存储相关,并将说明我们如何实现相同的效果。

msbuild Roslyn 行为详解

本文来告诉大家 msbuild Roslyn 的行为,本文非新手友好