walterlv
取消
吕毅
.NET and Windows App Developer, Microsoft MVP
首页
朋友和收藏
胡思乱想
归档
关于
归档
2023
03
8月
如何在控制台程序中监听 Windows 前台窗口的变化
03
8月
.NET/C# 程序如何在控制台/终端中以字符表格的形式输出数据
01
8月
在 Windows 上如何在启动程序时单独为这个程序指定环境变量,而不需要编写任何代码或脚本
19
7月
如何正确调教 Visual Studio 自带的拼写检查功能
25
5月
WPF 像素着色器进阶:使用 HLSL 编写一个高性能的实时变化的 HSL/HSV/HSB 调色盘
22
5月
WPF 像素着色器入门:使用 Shazzam Shader Editor 编写 HLSL 像素着色器代码
19
5月
Windows 10 自带那么多图标,去哪里找呢?
18
4月
如何更精准地设置 C# / .NET Core 项目的输出路径?(包括添加和删除各种前后缀)
01
3月
如何利用 Win32 API 设置两个窗口的所有者(Owner)关系
28
2月
WPF 的 Dispatcher 为什么要创建一个隐藏窗口?
2022
08
11月
Directory.GetFiles 中传入搜索字符串(Search Pattern)的神奇规则
28
9月
CS8350:不允许使用“Foo(ref x, ref y)”的这种参数组合,因为它可能会在其声明范围之外公开由参数 x 引用的变量
20
9月
使用 AutoMapper 自动映射模型时,处理不同模型属性缺失的问题
20
9月
使用 AutoMapper 自动在多个数据模型间进行转换
20
9月
解决 WPF 分组的 ItemsControl 内部控件无法被 UI 自动化识别的问题
12
7月
如何让 WPF 程序更好地适配 UI 自动化
11
7月
最简单的代码,让 WPF 支持响应式布局
11
7月
MSBuild/Roslyn 和 NuGet 的 100 个坑
11
7月
git subtree 不断增加的推送时间,解不玩的冲突!这篇文章应该能救你
30
5月
git fetch 失败,因为 unable to resolve reference 'refs/remotes/origin/xxx': reference broken
17
5月
使用 Roslyn 分析代码注释,给 TODO 类型的注释添加负责人、截止日期和 issue 链接跟踪
17
5月
基于 Roslyn 同时为 Visual Studio 插件和 NuGet 包开发 .NET/C# 源代码分析器 Analyzer 和修改器 CodeFixProvider
17
5月
Roslyn 入门:使用 Roslyn 静态分析现有项目中的代码(语法分析)
05
3月
WPF 窗口在 Visual Studio 调试的时候会被一个莫名其妙的调试层覆盖住
16
2月
使用 ImageMagick 轻松制作带有多种尺寸的 ico 图标文件
16
2月
在多个可执行程序(exe)之间共享同一个私有部署的 .NET 运行时
28
1月
如何检测当前操作系统是否支持运行 .NET Core 3 / .NET 5 / .NET 6 应用?
27
1月
如何让 .NET 程序脱离系统安装的 .NET 运行时独立运行?除了 Self-Contained 之外还有更好方法!谈 dotnetCampus.AppHost 的工作原理
27
1月
如何编译、修改和调试 dotnet runtime 仓库中的 apphost nethost comhost ijwhost
27
1月
修改 .NET 运行时、框架和库,从编译 dotnet runtime 仓库开始
27
1月
一文看懂 .NET 的异常处理机制、原则以及最佳实践
27
1月
在 Windows 系统上降低 UAC 权限运行程序(从管理员权限降权到普通用户权限)
2021
29
12月
使用 Source Generator 在编译你的 .NET 项目时自动生成代码
29
12月
使用 Roslyn 对 C# 代码进行语义分析
22
12月
将 Windows Terminal 作为外部工具集成到其他工具/程序/代码中
21
12月
WHAT DID DELL DO? All WPF apps are rendered in a mess!
21
12月
所有 WPF 程序的界面渲染完全糊掉,竟是戴尔电脑惹的锅?
21
12月
删删删!快速将旧版 .NET Framework 的 WPF / Windows Forms 项目格式(csproj) 迁移成新版 SDK 风格的项目格式
20
12月
.NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
13
12月
为 .NET Core / Framework 程序开启大内存感知(LargeAddressAware),使 32 位程序支持最多 4GB 的用户空间内存
13
12月
C#/.NET 如何创建带有本机依赖的多框架多系统 NuGet 包
22
11月
将美化进行到底,使用 Oh My Posh 把 PowerShell 做成 oh-my-zsh 的样子
15
11月
无需安装 VS2019,在 Visual Studio 2022 中编译 .NET Framework 4.5/4/3.5 这样的古老框架
12
11月
WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWP/Chrome)
11
11月
Visual Studio 2022 升级不再附带 .NET Framework 4.5 这种古老的目标包了,本文帮你装回来
08
11月
各个版本 Windows 11 / Windows 10 的名称、完整版本号、开发代号和系统自带的 .NET Framework 版本
30
8月
了解 Windows/Linux 下命令行/Shell 启动程序传参的区别,这下不用再担心 Windows 下启动程序传参到 Linux 下挂掉了
30
8月
Roslyn 入门:使用 .NET Core 版本的 Roslyn 编译并执行跨平台的静态的源码
05
8月
使用 WPF 做一个可以逼真地照亮你桌面的高性能阳光
30
7月
路径标记语法(Path Markup Syntax)完全教程
20
7月
用 WiX 制作安装包:创建一个简单的 exe 安装包
16
7月
0x800b0109 - 已处理证书链,但是在不受信任提供程序信任的根证书中终止。
16
7月
WiX Toolset 安装包制作入门教程(目录篇)
16
7月
如何调试 WiX Burn 制作的自定义托管引导程序的 exe 安装包
16
7月
用 WiX Burn 制作托管安装包:出现 0x80131508 错误
16
7月
用 WiX 制作安装包:设置的 .NET Framework 前置会始终安装,即使目标电脑已经自带或装好
16
7月
使用 WiX 创建最简单的安装包过程中可能出现的问题和解决方案汇总
16
7月
用 WiX Burn 制作托管安装包:出现 0x80070002 错误
15
7月
如何查看用 WiX 制作的安装包的日志
15
7月
用 WiX 制作安装包:制作 WPF 安装包界面(入门篇)
15
7月
用 WiX 制作安装包:为 WiX 制作的 msi 安装包添加 .NET Framework 环境检查
15
7月
用 WiX 制作安装包:创建一个简单的 msi 安装包
15
7月
用 WiX 制作安装包:为 WiX 制作的 exe 安装包添加 .NET Framework 前置的安装步骤
14
7月
用 WiX 制作安装包:安装 WiX Toolset 系列 Visual Studio 插件
14
7月
用 WiX 制作安装包:安装 WiX Toolset 工具集
14
7月
用 WiX 制作安装包:准备一个用于学习 WiX 安装包制作的 Visual Studio 解决方案
14
7月
WiX 安装包制作最佳实践:Id、UpgradeCode 应该怎么设置?
30
6月
WPF 窗口和控件的 Unloaded 事件什么情况下不会触发
25
6月
编译并体验 .NET MAUI 官方示例代码
25
6月
Visual Studio 2022 出来啦!教你如何将 VS2019 的 VSIX 扩展/插件项目迁移到 VS2022
21
6月
两个方法,让 WPF 绘制的笔迹更加平滑
18
6月
C# 的事件,一般你不需要担心它的线程安全问题!
16
6月
Windows 中的 HRESULT
11
6月
无法加载为扩展“Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior”注册的类型
11
6月
.NET 单个异步任务如何同时监听多个取消请求(CancellationToken)
07
6月
从零开始制作 NuGet 源代码包(全面支持 .NET Core / .NET Framework / WPF 项目)
07
6月
在项目文件 / MSBuild / NuGet 包中编写扩展编译的时候,正确使用 props 文件和 targets 文件
07
6月
Windows 系统上如何揪出阻止你屏幕关闭的程序
07
6月
发现电脑屏幕总是不自动关闭?看看你是否打开了这些程序……
01
6月
编写你的专属 MSBuild C# 代码生成器:在保存文件时自动实时生成你的代码
17
5月
Unity OpenVR 虚拟现实入门六:通过摇杆控制玩家移动
16
5月
Unity OpenVR 虚拟现实入门四:通过脚本控制手与控制器
16
5月
Unity OpenVR 虚拟现实入门五:通过传送控制玩家移动
16
5月
Unity OpenVR 虚拟现实入门二:一个最简单的虚拟现实游戏/程序
16
5月
Unity OpenVR 虚拟现实入门三:最简单的五指交互
16
5月
Unity OpenVR 虚拟现实入门一:安装配置 Unity + OpenVR 环境
16
1月
WPF 制作高性能的透明背景异形窗口(使用 WindowChrome 而不要使用 AllowsTransparency=True)
04
1月
Windows 下的高 DPI 应用开发(UWP / WPF / Windows Forms / Win32)
2020
03
12月
适合 .NET 开发者用的 GitHub Actions(时不时更新)
31
10月
使用 Xamarin 在 iOS 真机上部署应用进行调试
04
8月
设置进程的 RedirectStandardOutput 重定向输出后,如果不将输出读出来,会卡死此进程
24
6月
三种方法设置 .NET/C# 项目的编译顺序,而不影响项目之间的引用
24
6月
通过设置 sln 解决方案依赖,确保不引用的两个项目之间有明确的编译顺序
24
6月
通过 ReferenceOutputAssembly=False 在引用项目时,不额外引入依赖文件
19
6月
.NET 程序集/项目/包的版本号设置有最大范围,最大不能超过 65534
18
6月
Visual Studio 在编译 A 项目时,确保 B 项目已编译
18
6月
理解 Visual Studio 解决方案文件格式(.sln)
16
6月
从 “x is null 和 x == null” 的区别看 C# 7 模式匹配中常量和 null 的匹配
15
6月
如何根据一个绝对文件路径生成一个相对文件路径
13
6月
.NET/C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
11
6月
WPF / Windows Forms 检测窗口在哪个屏幕
11
6月
准确判断一个 WPF 控件 / UI 元素当前是否显示在屏幕内
11
6月
Compare four different file (folder) links on Windows (NTFS hard links, junction points, symbolic links, and well-known shortcuts)
11
6月
比较 Windows 上四种不同的文件(夹)链接方式(NTFS 的硬链接、目录联接、符号链接,和大家熟知的快捷方式)
10
6月
支持 Windows 10 最新 PerMonitorV2 特性的 WPF 多屏高 DPI 应用开发
10
6月
VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VMware Workstation
09
6月
Visual Studio 智能感知提示里的奇妙行为一览
08
6月
Chrome 窗口全黑了,不怕,有招
03
6月
拿别人的 Program Files 文件夹?别忘了考虑 x86/x64 路径
03
6月
在 .NET 对象和 JSON 互相序列化的时候,枚举类型如何设置成字符串序列化,而不是整型?
03
6月
如何在保留原本所有样式/绑定和用户设置值的情况下,设置和还原 WPF 依赖项属性的值
01
6月
Unity3D 入门:如何管理 Unity 项目中的 NuGet 包?使用第三方 NuGet 包管理器——NuGetForUnity
01
6月
Unity3D 入门:Unity 项目版本管理建议使用的 .gitignore 忽略文件和 .gitattributes 文件(2020年4月更新)
26
5月
解决包含 GitHub Actions Workflow 的分支无法推送的问题
25
5月
杂谈 System.Drawing.Common 的跨平台性(关键词:libgdiplus / .NET Core / Mono / Win32 / Linux / ……)
24
5月
微软官方的 NuGet 包是如何做到同时兼容新旧框架的?例如 System.ValueTuple 是如何做到在新旧版本的框架都能使用的?
24
5月
Unity3D (Mono/IL2CPP) 中 P/Invoke 平台调用代码应该如何传委托
23
5月
Windows/Linux 系统中获取端口被哪个应用程序占用
23
5月
如何在 Unity3D 场景中显示帧率(FPS)
23
5月
Unity3D 入门:如何为游戏添加 UI
23
5月
Unity3D 入门:为 Unity 的 C# 项目添加 dll 引用或安装 NuGet 包
23
5月
Win32/C# 应用使用 PrintWindow 对窗口截图(PrintWindow)
23
5月
Win32/C# 应用不依赖任何库使用纯 GDI+ 对窗口截图(BitBlt)
23
5月
Win32/C# 应用使用 GDI+ 对窗口截图(BitBlt)
23
5月
提高使用 Visual Studio 开发效率的键盘快捷键
22
5月
Unity3D 入门:如何制作天空效果?天空盒的使用
19
5月
专业团队:推荐一个网站,生成巨幅文字注释
15
5月
.NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
15
5月
.NET/Windows:删除文件夹后立即判断,有可能依然存在
15
5月
在制作多框架项目的 NuGet 包时应该注意的问题(buildMultiTargeting/TargetFrameworks)
13
5月
为 .NET 各种开发工具设置网络代理,提升在大陆的网络性能
10
5月
Unity3D 入门:如何在脚本中找到游戏对象的父子级/祖孙级对象和它们的组件
06
5月
WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆)
06
5月
快速在 Windows 上搭建 Jekyll 开发环境
05
5月
Unity3D 入门:Unity Editor 编辑器常用快捷键
05
5月
Unity3D 入门:让 C# 脚本公开可在 Unity 编辑器中设置的属性
05
5月
Unity3D 入门:最简单的控制视角,以及控制角色前进、转向的脚本
05
5月
Unity3D 入门:安装 Unity3D 并配置与 Visual Studio 的协作开发环境
30
4月
.NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
30
4月
在 CMD 里根据进程名杀掉进程
30
4月
在 PowerShell 里根据进程名杀掉进程
30
4月
Linux Shell 中需要转义的字符
30
4月
git 乱改你的换行符?一句话设置让 git 不再碰你某个文件的换行符
30
4月
.NET 将混合了多个不同平台(Windows / Mac / Linux)的文件/目录的路径格式化成同一个平台下的路径
28
4月
如何在 Windows 10 中安装 WSL2 的 Linux 子系统
27
4月
Unity3D 入门:在 Visual Studio 里使用 Visual Studio Tools for Unity 全套工具
27
4月
Unity3D 入门:使用 Visual Studio 开发 Unity C# 脚本,说说根目录的那些 sln 和 csproj 文件
25
4月
让你的程序置顶到比系统界面都更上层,就像任务管理器/放大镜一样绝对置顶
23
4月
C# 可空引用类型 Nullable 更强制的约束:将警告改为错误 WarningsAsErrors
23
4月
C# 8.0 如何在项目中开启可空引用类型的支持
23
4月
C# 8.0 可空引用类型中的各项警告/错误的含义和示例代码
17
4月
git subtree 的使用
14
4月
通过子类化窗口(SubClass)来为现有的某个窗口添加新的窗口处理程序(或者叫钩子,Hook)
11
4月
当无边框窗口被子窗口遮挡导致难以调节窗口大小时,可通过处理 NCHITTEST 消息重新支持调节窗口大小
11
4月
Windows 系统的默认字体是什么?应用的默认字体是什么?
10
4月
如何给 GitHub Pages 配置多个域名?
07
4月
一点点从坑里爬出来:如何正确打开 WPF 里的 Popup?
07
4月
VSCode:当匹配到结果时,如何一次性全部选中操作(复制/删除)?
03
4月
WPF:无法对元素“XXX”设置 Name 特性值“YYY”。“XXX”在元素“ZZZ”的范围内,在另一范围内定义它时,已注册了名称。
02
4月
在 Visual Studio 2019 (16.5) 中查看托管线程正在等待的锁被哪个线程占用
01
4月
WPF 中如何绑定附加属性?XAML 中记得加括号,C# 中记得不能用字符串
23
3月
设置用户无需密码自动登录到 Windows 系统
23
3月
修复 Windows 10 设置界面里面混乱的语言翻译
23
3月
使用 SoftEther VPN 在 VPS 和个人电脑之间搭建 VPN 网络
23
3月
推荐 .NET/C# 开发者安装的几款代码分析插件或对应的代码分析 NuGet 包
11
3月
用命令行执行 .NET 单元测试时,如何仅执行符合某些条件的单元测试
11
3月
.NET WebClient 类下载部分文件会错误?可能是解压缩的锅
11
3月
如何在终端和 PowerShell 中将一个命令自动重复执行多次
30
1月
Linux 系统根目录下的文件夹
29
1月
收集的 Linux VPS 在线重装系统脚本
28
1月
为什么实现 .NET 的 ICollection 集合时需要实现 SyncRoot 属性?如何正确实现这个属性?
13
1月
全民 https!使用 FreeSSL 申请免费的 https 证书
13
1月
如何设置 ASP.NET Core 程序监听的 IP 和端口
13
1月
使用 Frp 为你的 Web 服务添加 https 支持
12
1月
为 ASP.NET Core 程序制作 URL 的 301/302 跳转
11
1月
使用 Kestrel 为你的 ASP.NET Core 服务添加 https 支持
11
1月
三种方法为 ASP.NET Core 对外服务添加 https 支持(kestrel / frp / nginx)
10
1月
.NET 将多个程序集合并成单一程序集的 4+3 种方法
08
1月
.NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
08
1月
Win32 方法 CreateFile 中选择合适的文件打开模式(CREATE_NEW, CREATE_ALWAYS, OPEN_EXISTING, OPEN_ALWAYS, TRUNCATE_EXISTING)
08
1月
WPF 中如何创建忽略 DPI 属性的图片
07
1月
为什么不应该公开用来同步的加锁对象?为什么不应该 lock(this)/lock(string) 或者 lock 任何非私有对象?
03
1月
如何在旧版本的 .NET Core / Framework 中使用 C# 8 的异步流(IAsyncDisposable / IAsyncEnumerable / IAsyncEnumerator)
03
1月
.NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
02
1月
Windows 系统文件资源管理器的命令行参数(如何降权打开程序,如何选择文件)
2019
27
12月
如何在 MSBuild 中正确使用 % 来引用每一个项(Item)中的元数据
27
12月
在 MSBuild 编译过程中操作文件和文件夹(检查存在/创建文件夹/读写文件/移动文件/复制文件/删除文件夹)
26
12月
如何在 .NET/C# 代码中安全地结束掉一个控制台应用程序?通过发送 Ctrl+C 信号来结束
23
12月
如何将一个 .NET 对象序列化为 HTTP GET 的请求字符串
23
12月
屏幕边缘上有趣的 1 个像素,看不见、摸不到
17
12月
使用 MSBuild Target 复制文件的时候如何保持文件夹结构不变
09
12月
使用正则表达式尽可能准确匹配域名/网址
08
12月
C# 8.0 的可空引用类型,不止是加个问号哦!你还有很多种不同的可空玩法
08
12月
一个简单的方法:截取子类名称中不包含基类后缀的部分
08
12月
可集成到文件管理器,一句 PowerShell 脚本发布某个版本的所有 NuGet 包
28
11月
配置 legacyUnhandledExceptionPolicy 防止后台线程抛出的异常让程序崩溃退出
27
11月
WPF 程序如何跨窗口/跨进程设置控件焦点
20
11月
PowerShell 的命令行启动参数(可用于执行命令、传参或进行环境配置)
05
11月
清理 git 仓库太繁琐?试试 bfg!删除敏感信息删除大文件一句命令搞定(比官方文档还详细的使用说明)
05
11月
解决关闭模态窗口后,父窗口居然失去焦点跑到了其他窗口的后面的问题
29
10月
C#/.NET 当我们在写事件 += 和 -= 的时候,方法是如何转换成事件处理器的
29
10月
如何在 .NET 项目中开启不安全代码(以便启用 unsafe fixed 等关键字)
29
10月
不要在 C# 代码中写部分命名空间(要么不写,要么写全),否则会有源码兼容性问题
22
10月
.NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
22
10月
解决 WPF 嵌套的子窗口在改变窗口大小的时候闪烁的问题
22
10月
System.ComponentModel.Win32Exception (0x80004005): 无效的窗口句柄。
22
10月
使用 Direct3D11 的 OpenSharedResource 方法渲染来自其他进程/设备的共享资源(SharedHandle)
22
10月
将 Direct3D11 在 GPU 中的纹理(Texture2D)导出到内存(Map)或导出成图片文件
22
10月
.NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
22
10月
WPF 高性能位图渲染 WriteableBitmap 及其高性能用法示例
16
10月
.NET Framework 4.x 程序到底运行在哪个 CLR 版本之上
12
10月
使用 .editorconfig 配置 .NET/C# 项目的代码分析规则的严重程度
10
10月
什么是模态窗口?本文带你了解模态窗口的本质
10
10月
直击本质:WPF 框架是如何实现模态窗口的
10
10月
.NET/C# 检测电脑上安装的 .NET Framework 的版本
10
10月
Windows 系统上用 .NET/C# 查找所有窗口,并获得窗口的标题、位置、尺寸、最小化、可见性等各种状态
10
10月
在 WPF 程序中应用 Windows 10 真•亚克力效果
10
10月
使用 SetWindowCompositionAttribute 来控制程序的窗口边框和背景(可以做 Acrylic 亚克力效果、模糊效果、主题色效果等)
07
10月
使用傲梅分区助手无损合并分区,无损调整分区大小
07
10月
EFI 分区/恢复分区不可删除?你需要使用命令行了(配合鼠标操作)
07
10月
EFI 分区/恢复分区不可删除?你需要使用命令行了(全命令行操作)
27
9月
推荐几款连字字体,在代码编辑器中启用连字字体(Visual Studio Code)
24
9月
如何在 Visual Studio 2019 中设置使用 .NET Core SDK 的预览版(全局生效)
19
9月
WPF 程序如何移动焦点到其他控件
19
9月
使用 SetParent 制作父子窗口的时候,如何设置子窗口的窗口样式以避免抢走父窗口的焦点
18
9月
.NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
18
9月
.NET 设计一套高性能的弱事件机制
18
9月
.NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
17
9月
C#/.NET 中启动进程时所使用的 UseShellExecute 设置为 true 和 false 分别代表什么意思?
12
9月
.NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
12
9月
如何在 WPF 中获取所有已经显式赋过值的依赖项属性
12
9月
在 WPF 中获取一个依赖对象的所有依赖项属性
07
9月
临时编写和调试 C++ 代码?用 VSCode 就够了!一分钟搭好 C++ 调试环境
05
9月
在使用 .NET Remoting 技术开发跨进程通信时可能遇到的各种异常
05
9月
.NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
02
9月
WPF 不要给 Window 类设置变换矩阵(分析篇):System.InvalidOperationException: 转换不可逆。
02
9月
WPF 不要给 Window 类设置变换矩阵(应用篇)
29
8月
通过设置启用 Visual Studio 默认关闭的大量强大的功能提升开发效率
29
8月
C#/.NET 中 Thread.Sleep(0), Task.Delay(0), Thread.Yield(), Task.Yield() 不同的执行效果和用法建议
27
8月
WPF 的 Application.Current.Dispatcher 中,为什么 Current 可能为 null
27
8月
WPF 的 Application.Current.Dispatcher 中,Dispatcher 属性一定不会为 null
27
8月
使用 SetParent 跨进程设置父子窗口时的一些问题(小心卡死)
19
8月
程序员可能会使用的各种命名规则
14
8月
System.InvalidOperationException:“BuildWindowCore 无法返回寄宿的子窗口句柄。”
14
8月
System.InvalidOperationException:“寄宿 HWND 必须是子窗口。”
14
8月
System.InvalidOperationException:“寄宿的 HWND 必须是指定父级的子窗口。”
07
8月
如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包
07
8月
如何创建一个基于命令行工具的跨平台的 NuGet 工具包
05
8月
好的框架需要好的 API 设计 —— API 设计的六个原则
04
8月
通过 mklink 收集本地文件系统的所有 NuGet 包输出目录来快速调试公共组件代码
04
8月
使用 C# 中的 dynamic 关键字调用类型方法时可能遇到的各种问题
04
8月
设计一个 .NET 可用的弱引用集合(可用来做缓存池使用)
03
8月
如何为非常不确定的行为(如并发)设计安全的 API,使用这些 API 时如何确保安全
01
8月
通过 AppSwitch 禁用 WPF 内置的触摸让 WPF 程序可以处理 Windows 触摸消息
29
7月
Visual Studio 2019 中使用 .NET Core 预览版 SDK 的全局配置文件在哪里?
27
7月
The partial same C# namespace may cause source code compatibility issue
27
7月
使用基于 Roslyn 的 Microsoft.CodeAnalysis.PublicApiAnalyzers 来追踪项目的 API 改动,帮助保持库的 API 兼容性
27
7月
找出 .NET Core SDK 是否使用预览版的全局配置文件在哪里(探索篇)
25
7月
nuget.exe 还原解决方案 NuGet 包的时候出现错误:调用的目标发生了异常。Error parsing the nested project section in solution file.
25
7月
为 NuGet 指定检测的 MSBuild 路径或版本,解决 MSBuild auto-detection: using msbuild version 自动查找路径不合适的问题
24
7月
解决方案文件 sln 中的项目类型 GUID
20
7月
.NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
20
7月
如何为你的 Windows 应用程序关联 URL 协议,以便在浏览器中也能打开你的应用
13
7月
软件界面中一些易混淆/易用错的界面文案,以及一些约定俗成的文案约定
12
7月
The VisualBrush of WPF only refresh the visual but not the layout
12
7月
WPF 的 VisualBrush 只刷新显示的视觉效果,不刷新布局范围
11
7月
WPF 很少人知道的科技
10
7月
如果不用 ReSharper,那么 Visual Studio 2019 能还原 ReSharper 多少功能呢?
07
7月
Roslyn 入门:使用 Visual Studio 的语法可视化(Syntax Visualizer)窗格查看和了解代码的语法树
07
7月
如何安装和准备 Visual Studio 扩展/插件开发环境
05
7月
如何快速创建 Visual Studio 代码片段?
04
7月
.NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
04
7月
在 Visual Studio 中设置当发生某个特定异常或所有异常时中断
04
7月
.NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
03
7月
如何给 Windows Terminal 增加一个新的终端(以 Bash 为例)
02
7月
Reading the Source Code of Microsoft.NET.Sdk, Writing the Creative Extension of Compiling
02
7月
解读 Microsoft.NET.Sdk 的源码,你能定制各种奇怪而富有创意的编译过程
02
7月
App will crash when using the when keyword in a catch expression
01
7月
.NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
30
6月
使用 Visual Studio 编译时,让错误一开始发生时就停止编译(以便及早排查编译错误节省时间)
29
6月
C#/.NET 移动或重命名一个文件夹(如果存在,则合并而不是出现异常报错)
29
6月
如何追踪 WPF 程序中当前获得键盘焦点的元素并显示出来
28
6月
如何监视 WPF 中的所有窗口,在所有窗口中订阅事件或者附加 UI
28
6月
.NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
23
6月
从 git 的历史记录中彻底删除文件或文件夹
21
6月
.NET 中让 Task 支持带超时的异步等待
17
6月
.NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
17
6月
.NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
16
6月
Windows 10 解决无法完整下载安装语言包(日语输入法无法下载使用)
13
6月
.NET 的程序集加载上下文
11
6月
WPF 程序的编译过程
11
6月
制作通过 NuGet 分发的源代码包时,如果目标项目是 WPF 则会出现一些问题(探索篇,含解决方案)
04
6月
MSBuild 在编写编译任务的时候判断当前是否在 Visual Studio 中编译
04
6月
git 配置错误导致无法推送远端仓库?本文介绍各种修复方式
01
6月
使用 ProcessMonitor 找到进程所操作的文件的路径
31
5月
如何为 Win32 的打开和保存对话框编写文件过滤器(Filter)
31
5月
将基于 .NET Framework 的 WPF 项目迁移到基于 .NET Core 3
28
5月
.NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
28
5月
.NET/C# 的字符串暂存池
28
5月
.NET/C# 避免调试器不小心提前计算本应延迟计算的值
25
5月
cmd.exe 的命令行启动参数(可用于执行命令、传参或进行环境配置)
23
5月
在 Visual Studio 中重新将高级保存功能放出来,便于强制指定文件编码格式
23
5月
WPF 使用 AppBar 将窗口停靠在桌面上,让其他程序不占用此窗口的空间(附我封装的附加属性)
23
5月
在整个 Git 仓库的历史(包括所有分支和标签)中修改提交作者的信息(姓名和邮箱)
23
5月
.NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
22
5月
WPF 判断一个对象是否是设计时的窗口类型,而不是运行时的窗口
16
5月
通过修改环境变量修改当前进程使用的系统 Temp 文件夹的路径
15
5月
Markdown 如何在内联代码或者代码块中使用代码开始符号反引号(`)
15
5月
在编译期间使用 Roslyn/MSBuild 自带的方法/函数判断、计算和修改属性
15
5月
Roslyn/MSBuild 在编译期间从当前文件开始查找父级文件夹,直到找到包含特定文件的文件夹
15
5月
Directory Opus 使用命令编辑器添加 PowerShell / CMD / Bash 等多种终端到自定义菜单
15
5月
C# 8.0 中开启默认接口实现
15
5月
Directory Opus 使用命令编辑器集成 TortoiseGit 的各种功能
15
5月
在 Directory Opus 中添加自定义的工具栏按钮提升效率
14
5月
让 Directory Opus 支持 Windows 10 的暗色主题
13
5月
通过分析 WPF 的渲染脏区优化渲染性能
12
5月
Roslyn/MSBuild 在编译期间处理路径中的斜杠与反斜杠
11
5月
在 Roslyn/MSBuild 中进行基本的数学运算
10
5月
使用 DISM 工具检查并修复 Windows 系统文件
09
5月
使用 System File Check (SFC) 工具检查并修复 Windows 系统文件
05
5月
Visual Studio 使用 Parallel Builds Monitor 插件迅速找出编译速度慢的瓶颈,优化编译速度
30
4月
使用 EnumWindows 找到满足你要求的窗口
30
4月
安装和运行 .NET Core 版本的 PowerShell
30
4月
XAML 很少人知道的科技
30
4月
WPF 程序鼠标在窗口之外的时候,控件拿到的鼠标位置在哪里?
30
4月
如何修改 Visual Studio 新建项目时的默认路径
29
4月
使用 dotnet 命令行配合 vscode 完成一个完整 .NET 解决方案的编写和调试
26
4月
Visual Studio 通过修改项目的调试配置文件做到临时调试的时候不要编译(解决大项目编译缓慢问题)
26
4月
Visual Studio 如何能够不进行编译就调试 .NET/C# 项目(用于解决大项目编译缓慢的问题)
25
4月
WPF 获取元素(Visual)相对于屏幕设备的缩放比例,可用于清晰显示图片
24
4月
MSBuild 中的特殊字符($ @ % 等):含义、用法以及转义
24
4月
在项目文件 csproj 中或者 MSBuild 的 Target 中使用 % 引用集合中每一项的属性
24
4月
使用 7-Zip 的命令行版本来压缩和解压文件
23
4月
ClearType 的原理:Windows 上文本的亚像素控制
21
4月
C#/.NET 使用 git 命令行来操作 git 仓库
21
4月
如何快速自定义 Visual Studio 中部分功能的快捷键
16
4月
如何在 MSBuild 的项目文件 csproj 中获取绝对路径
16
4月
MSBuild 如何编写带条件的属性、集合和任务 Condition?
16
4月
NullReferenceException,就不应该存在!
16
4月
C# 跨设备前后端开发探索
12
4月
从零开始学习 dotnet 编译过程和 Roslyn 源码分析
12
4月
(1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
12
4月
.NET/C# 项目如何优雅地设置条件编译符号?
12
4月
.NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
12
4月
在 Visual Studio 新旧不同的 csproj 项目格式中启用混合模式调试程序(开启本机代码调试)
12
4月
Visual Studio 2017 以前的旧格式的 csproj Import 进来的 targets 文件有时不能正确计算属性(PropertyGroup)和集合(ItemGroup)
12
4月
csproj 文件中那个空的 NuGetPackageImportStamp 是干什么的?
12
4月
.NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
12
4月
阻止某个 NuGet 包意外升级
12
4月
Sdk 风格的 csproj 对 WPF/UWP 支持不太好?有第三方 SDK 可以用!MSBuild.Sdk.Extras
12
4月
如何最快速地将旧的 NuGet 包 (2.x, packages.config) 升级成新的 NuGet 包 (4.x, PackageReference)
12
4月
理解 C# 项目 csproj 文件格式的本质和编译流程
12
4月
自动将 NuGet 包的引用方式从 packages.config 升级为 PackageReference
12
4月
语义版本号(Semantic Versioning)
12
4月
项目文件中的已知属性(知道了这些,就不会随便在 csproj 中写死常量啦)
12
4月
让一个 csproj 项目指定多个开发框架
04
4月
.NET Core/Framework 创建委托以大幅度提高反射调用的性能
30
3月
将 C++/WinRT 中的线程切换体验带到 C# 中来(WPF 版本)
29
3月
解决 Git 重命名时遇到的大小写不敏感的问题
29
3月
WPF 的命令的自动刷新时机——当你 CanExecute 会返回 true 但命令依旧不可用时可能是这些原因
29
3月
When WPF Commands update their CanExecute states?
27
3月
程序员与英语:即时聊天中的英语缩写 lol / lmao / idk
26
3月
C#/.NET 如何获取一个异常(Exception)的关键特征,用来判断两个异常是否表示同一个异常
24
3月
在 CVTE 和广州 .NET 微软技术俱乐部共同举办的 12月8日 广州微软技术沙龙活动
24
3月
C#/.NET 如何在第一次机会异常 FirstChanceException 中获取比较完整的异常堆栈
23
3月
流畅设计 Fluent Design System 中的光照效果 RevealBrush,WPF 也能模拟实现啦!
23
3月
使用 Microsoft.Net.Compilers 在旧版本的 Visual Studio 2013/2015/2017 中开启新的 C# 7.x 和 C# 8 语法
22
3月
制作一个极简的 .NET 客户端应用自安装或自更新程序
21
3月
WPF 同一窗口内的多线程/多进程 UI(使用 SetParent 嵌入另一个窗口)
20
3月
应用程序清单 Manifest 中各种 UAC 权限级别的含义和效果
19
3月
Windows 系统上使用任务管理器查看进程的各项属性(命令行、DPI、管理员权限等)
19
3月
如何创建一个基于 .NET Core 3 的 WPF 项目
19
3月
Windows 的 UAC 设置中的通知等级实际上只有两个档而已
19
3月
Windows 中的 UAC 用户账户控制
19
3月
Windows 下使用 runas 命令以指定的权限启动一个进程(非管理员、管理员)
17
3月
启用 Windows 审核模式(Audit Mode),以 Administrator 账户来设置电脑的开箱体验
17
3月
如何创建应用程序清单文件 App.Manifest,如何创建不带清单的应用程序
15
3月
在有 UI 线程参与的同步锁(如 AutoResetEvent)内部使用 await 可能导致死锁
15
3月
.NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
15
3月
在编写异步方法时,使用 ConfigureAwait(false) 避免使用者死锁
15
3月
将 async/await 异步代码转换为安全的不会死锁的同步代码(使用 PushFrame)
15
3月
使用 Task.Wait()?立刻死锁(deadlock)
15
3月
不要使用 Dispatcher.Invoke,因为它可能在你的延迟初始化 Lazy 中导致死锁
14
3月
C#/.NET 如何结束掉一个进程
14
3月
让你的 VSCode 具备调试 C# 语言 .NET Core 程序的能力
14
3月
手工编辑 tasks.json 和 launch.json,让你的 VSCode 具备调试 .NET Core 程序的能力
14
3月
自然码的形码
14
3月
在 Visual Studio Code 中添加自定义的代码片段
14
3月
解决 mklink 使用中的各种坑(硬链接,软链接/符号链接,目录链接)
14
3月
.NET 中的轻量级线程安全
14
3月
UI 设计中的视觉无障碍设计(色盲眼中的世界以及 UI 使用体验)
14
3月
C#/.NET 中的契约式编程,以及 ReSharper 为我们提供的契约特性
12
3月
我收集的各种公有 NuGet 源
12
3月
在 csproj 文件中使用系统环境变量的值(示例将 dll 生成到 AppData 目录下)
10
3月
为 WPF 程序添加 Windows 跳转列表的支持
10
3月
Windows 上的应用程序在运行期间可以给自己改名(可以做 OTA 自我更新)
10
3月
.NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
10
3月
详解 .NET 反射中的 BindingFlags 以及常用的 BindingFlags 使用方式
10
3月
如何使用 MyGet 这个激进的 NuGet 源体验日构建版本的 .NET Standard / .NET Core
09
3月
常用输入法快速输入自定义格式的时间和日期(搜狗/QQ/手心/微软拼音)
09
3月
使用一句 git 命令将仓库的改动推送到所有的远端
09
3月
.NET/C# 获取一个正在运行的进程的命令行参数
09
3月
WPF 让普通 CLR 属性支持 XAML 绑定(非依赖属性),这样 MarkupExtension 中定义的属性也能使用绑定了
09
3月
在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试
09
3月
四种方法获取可执行程序的文件路径(.NET Core / .NET Framework)
09
3月
UWP 在 WebView 中执行 JavaScript 代码(用于模拟用户输入等)
09
3月
在 Visual Studio Code 中为代码片段(Code Snippets)添加快捷键
09
3月
WindowsXamlHost:在 WPF 中使用 UWP 控件库中的控件
09
3月
.NET 中创建支持集合初始化器的类型
09
3月
WPF 多线程 UI:设计一个异步加载 UI 的容器
09
3月
WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit)
09
3月
使用并解析 OPML 格式的订阅列表来转移自己的 RSS 订阅(概念篇)
09
3月
使用 Postman 调试 ASP.NET Core 开发的 API
09
3月
项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦)
05
3月
为什么 C# 的 string.Empty 是一个静态只读字段,而不是一个常量呢?
05
3月
C#/.NET 调试的时候显示自定义的调试信息(DebuggerDisplay 和 DebuggerTypeProxy)
05
3月
透明度叠加算法:如何计算半透明像素叠加到另一个像素上的实际可见像素值(附 WPF 和 HLSL 的实现)
04
3月
使用 Xamarin 开发 iOS 键盘扩展(含网络访问)
04
3月
如何为你的 Windows 应用程序关联一种或多种文件类型
04
3月
通过重写预定义的 Target 来扩展 MSBuild / Visual Studio 的编译过程
04
3月
在 Target 中获取项目引用的所有依赖(dll/NuGet/Project)的路径
04
3月
如何在命令行中监听用户输入文本的改变?
04
3月
仅反射加载(ReflectionOnlyLoadFrom)的 .NET 程序集,如何反射获取它的 Attribute 元数据呢?
04
3月
使用 Visual Studio 自定义外部命令 (External Tools) 快速打开 git bash 等各种工具
02
3月
让你的 Windows 应用程序在任意路径也能够直接通过文件名执行
01
3月
编写 MSBuild 内联编译任务(Task)用于获取当前编译环境下的所有编译目标(Target)
01
3月
如何在 csproj 中用 C# 代码写一个内联的编译任务 Task
27
2月
在 MSBuild 编译项目时阻止输出所有的警告信息
27
2月
帮助官方 NuGet 解掉 Bug,制作绝对不会传递依赖的 NuGet 包
27
2月
电脑总是意外从睡眠状态唤醒,可以找出原因然后解决
27
2月
将友盟(cnzz)站点的访问数据报告分享给其他人
27
2月
全局或为单独的项目添加自定义的 NuGet 源
21
2月
使用 Visual Studio 调试多进程的程序
20
2月
将 svn 仓库迁移到 git 仓库
19
2月
.NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
15
2月
git 合并策略
14
2月
git 的合并原理(递归三路合并算法)
30
1月
将 .NET Core 项目打一个最简单的 NuGet 源码包,安装此包就像直接把源码放进项目一样
30
1月
ReSharper 在 C 盘占用了太多空间了,本文告诉你如何安全地删除或转移这些文件
29
1月
WPF's multi-threaded UI is not thread safe
29
1月
WPF 支持的多线程 UI 并不是线程安全的
25
1月
.NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
22
1月
使用 Xamarin 开发 iOS 应用中需要注意的若干个问题
20
1月
C# 永远不会返回的方法真的不会返回
20
1月
CentOS 的终端中如何搜索文件
17
1月
不使用 U 盘等任何工具全新安装 Windows 操作系统
16
1月
C#/.NET 如何确认一个路径是否是合法的文件路径
16
1月
让 MSBuild Target 支持 Clean
15
1月
出于迁移项目的考虑,GitHub 中 Fork 出来的项目,如何与原项目断开 Fork 关系?
10
1月
.NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
08
1月
int? 竟然真的可以是 null!.NET/C# 确定可空值类型 Nullable
实例的真实类型
08
1月
签署 Centennial Program Addendum,使用 Desktop Bridge 将 Win32 应用转制成 UWP
08
1月
C# 中委托实例的命名规则
06
1月
三值 bool? 进行与或运算后的结果
06
1月
为什么我们不应该使用微信或者 QQ 作为团队协作的 IM 工具?
06
1月
Slack 开发入门之 Incoming Webhooks:往 Slack 的 Channel 中发消息
03
1月
WPF 中那些可跨线程访问的 DispatcherObject(WPF Free Threaded Dispatcher Object)
01
1月
.NET 使用 XPath 来读写 XML 文件(顺带解决 XML 命名空间的问题)
2018
30
12月
基于 task 为 VSCode 添加自定义的外部命令
30
12月
.NET 中使用 Mutex 进行跨越进程边界的同步
30
12月
谨慎使用 FileInfo.Exists 实例方法,而是使用 File.Exists 静态方法替代
30
12月
C#/.NET 使用 CommandLineParser 来标准化地解析命令行
26
12月
只需 5 秒钟,你就能取到 WPF 程序的超高分辨率超高清截图
25
12月
Write a MSBuild Target to detect whether the project is rebuilding or not
25
12月
编写 Target 检测 MSBuild / dotnet build 此次编译是否是差量编译
24
12月
在 Roslyn 分析语法树时添加条件编译符号的支持
23
12月
.NET 中什么样的类是可使用 await 异步等待的?
23
12月
.NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
23
12月
定义一组抽象的 Awaiter 的实现接口,你下次写自己的 await 可等待对象时将更加方便
23
12月
了解 .NET 的默认 TaskScheduler 和线程池(ThreadPool)设置,避免让 Task.Run 的性能急剧降低
23
12月
Turn on Mobile Hotspot (Wi-Fi) in Windows 10
23
12月
在 Windows 10 中开启移动 WLAN 热点
22
12月
在 WPF/UWP 中实现一个可以用 await 异步等待 UI 交互操作的 Awaiter
22
12月
.NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
22
12月
.NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
22
12月
使用 WPF 开发一个 Windows 屏幕保护程序
21
12月
优化 UWP 中图片的内存占用
20
12月
文件和文件夹不存在的时候,FileSystemWatcher 监听不到文件的改变?如果递归地监听就可以了
15
12月
StyleCop 是什么,可以帮助团队带来什么价值?
14
12月
UWP 中的 LaunchUriAsync,使用默认浏览器或其他应用打开链接
14
12月
WPF/UWP 绑定中的 UpdateSourceTrigger
14
12月
用微软拼音快速输入自定义格式的时间和日期
14
12月
在 Visual Studio 中使用 EditorConfig 统一代码风格(含原生与插件)
14
12月
使用 Windows 10 中的加速度计(Accelerometer,重力传感器)
14
12月
.NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
14
12月
.NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
14
12月
.NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
14
12月
C# 重载条件逻辑运算符(&& 和 ||)
14
12月
在 WPF 中使用 x:Reference
14
12月
UWP 轻量级样式定义(Lightweight Styling)
14
12月
UWP 中的各种文件路径(用户、缓存、漫游、安装……)
14
12月
C# 空合并操作符(??)不可重载?其实有黑科技可以间接重载!
14
12月
让控制台支持 ANSI 转义序列,输出下划线、修改颜色或其他控制
14
12月
UWP 应用中 CoreApplication / Application, CoreWindow / Window 之间的区别
14
12月
UWP CoreApplication / Application Vs CoreApplicationView / ApplicationView Vs CoreWindow / Window
14
12月
UWP 扩展/自定义标题栏的方法,一些概念和一些注意事项
14
12月
理解 UWP 视图的概念,让 UWP 应用显示多个窗口(多视图)
14
12月
(2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
14
12月
.NET/C# 使窗口永不激活(No Activate 永不获得焦点)
14
12月
使用 Microsoft.UI.Xaml 解决 UWP 控件和对老版本 Windows 10 的兼容性问题
14
12月
Windows 10 应用创建模糊背景窗口的三种方法
14
12月
3 Ways to create a window with blurring background on Windows 10
14
12月
长期支持 LTS(Long-term Support)是怎样的一种支持方式
14
12月
在制作跨平台的 NuGet 工具包时,如何将工具(exe/dll)的所有依赖一并放入包中
14
12月
使用 LINQ to XML,.NET 让生成 XML 文件变得和直接写 XML 一样轻松
14
12月
PasswordVault —— 在 UWP 应用中安全地保存密码
14
12月
Windows 10 四月更新,文件夹名称也能区分大小写了
14
12月
如何使用 MSBuild Target(Exec)中的控制台输出
14
12月
微软 Windows 系统检测网络连通性(用于显示感叹号)竟然是通过访问一个特殊网址来实现的
14
12月
如何编写 WPF 的标记扩展 MarkupExtension,即便在 ControlTemplate/DataTemplate 中也能生效
14
12月
如何让 .NET Core 命令行程序接受密码的输入而不显示密码明文
14
12月
如何编写基于 Microsoft.NET.Sdk 的跨平台的 MSBuild Target(附各种自带的 Task)
14
12月
C# 中那些可以被重载的运算符(操作符),以及使用它们的那些丧心病狂的语法糖
14
12月
如何快速编写和调试 Emit 生成 IL 的代码
14
12月
UWP 流畅设计中的光照效果(容易的 RevealBorderBrush 和不那么容易的 RevealBackgroundBrush)
14
12月
使用 MSBuild 响应文件 (rsp) 来指定 dotnet build 命令行编译时的大量参数
14
12月
Roslyn 的确定性构建
14
12月
(持续整理中)Visual Studio 中 C# 代码分析规则集中每一项的含义 (stylecop ruleset)
14
12月
生成代码,从 T 到 T1, T2, Tn —— 自动生成多个类型的泛型
14
12月
.NET Core 和 .NET Framework 中的 MEF2
14
12月
C#/.NET 匿名函数会捕获变量,并延长对象的生命周期
14
12月
实现一个 WPF 版本的 ConnectedAnimation
14
12月
迫不及待地体验了一把 C#8.0 中的可空引用类型(Nullable Reference)
14
12月
WPF 自定义键盘焦点样式(FocusVisualStyle)
14
12月
异步任务中的重新进入(Reentrancy)
14
12月
将 UWP 的有效像素(Effective Pixels)引入 WPF
14
12月
WPF 跨应用程序域的 UI(Cross AppDomain UI)
14
12月
Visual->UIElement->FrameworkElement,带来更多功能的同时也带来了更多的限制
14
12月
DependencyProperty.UnsetValue 的正确打开方式
14
12月
用 AppContext 解决类库的更新兼容问题
14
12月
为 Visual Studio 使用通配符批量添加项目文件
14
12月
深入了解 WPF Dispatcher 的工作原理(Invoke/InvokeAsync 部分)
09
12月
git 如何更可靠地解决冲突?
01
12月
使用 ReSharper,输入即遵循 StyleCop 的代码格式化规范
28
11月
用 dotTrace 进行性能分析时,各种不同性能分析选项的含义和用途
28
11月
Win2D 中的游戏循环:CanvasAnimatedControl
28
11月
使用 Win2D 绘制带图片纹理的圆(或椭圆)
27
11月
如何在单元测试中使用 Dispatcher.Invoke/InvokeAsync?
27
11月
技术、产品、交流、思考 - 微软技术暨生态大会 2018
27
11月
只有你能 new 出来!.NET 隐藏构造函数的 n 种方法(Builder Pattern / 构造器模式)
27
11月
都是用 DllImport?有没有考虑过自己写一个 extern 方法?
27
11月
深入了解 WPF Dispatcher 的工作原理(PushFrame 部分)
12
11月
用 dotTrace 进行性能分析时,Timeline 打不开?无法启动进程?也许你需要先开启系统性能计数器的访问权限
11
11月
了解 .NET/C# 程序集的加载时机,以便优化程序启动性能
29
10月
出让执行权:Task.Yield, Dispatcher.Yield
19
10月
课程 预编译框架,开发高性能应用 - 微软技术暨生态大会 2018
16
10月
WPF 中的 NameScope
16
10月
将 UWP 中 CommandBar 的展开方向改为向下展开
15
10月
各个 C# 版本的主要特性、发布日期和发布方式(C# 1.0 - 7.3)
14
10月
WPF 的 ElementName 在 ContextMenu 中无法绑定成功?试试使用 x:Reference!
05
10月
分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0(使用 .NET Core 3.0 Desktop API Analyzer )
23
9月
使用并解析 OPML 格式的订阅列表来转移自己的 RSS 订阅(解析篇)
23
9月
Git 更安全的强制推送,--force-with-lease
17
9月
再也不用克隆多个仓库啦!git worktree 一个 git 仓库可以连接多个工作目录
13
9月
.NET 命令行参数包含应用程序路径吗?
05
9月
WPF 同一窗口内的多线程 UI(VisualTarget)
02
9月
.NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
02
9月
.NET/C# 使用反射调用含 ref 或 out 参数的方法
01
9月
.NET/C# 使用反射注册事件
01
9月
.NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
01
9月
Win32 程序在启动时激活前一个启动程序的窗口
01
9月
Windows 无法删除文件夹 —— 访问被拒绝 / 因为目录不是空的
01
9月
在操作系统重启后恢复应用程序的工作状态
01
9月
为带有多种语言的 Jekyll 博客添加多语言选择
01
9月
屏幕上那个灰色带有数字的框是什么?看着好难受!
01
9月
(C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
01
9月
使用 GitVersion 在编译或持续构建时自动使用语义版本号(Semantic Versioning)
01
9月
Automatically increase the semantic version using GitVersion
01
9月
使用 Emit 生成 IL 代码
01
9月
让你编写的控件库在 XAML 中有一个统一的漂亮的命名空间(xmlns)和命名空间前缀
01
9月
如何在 .NET 库的代码中判断当前程序运行在 Debug 下还是 Release 下
26
8月
如何精准地用打印机在贺卡或邀请函上打字
19
8月
通过解读 WPF 触摸源码,分析 WPF 插拔设备触摸失效的问题(问题篇)
19
8月
为修改了链接地址的博客进行重定向
19
8月
.NET 中 GetProcess 相关方法的性能
15
8月
WPF Applications Stop Responding to Touches after Adding or Removing Tablet Devices
13
8月
WPF 绘制对齐像素的清晰显示的线条
13
8月
C#/.NET 序列化和反序列化 YAML 元数据
12
8月
C#/.NET 读取或修改文件的创建时间和修改时间
12
8月
Good Framework Rely on Good Api —— Six API Design Principles
12
8月
WPF/UWP 的 Grid 布局竟然有 Bug,还不止一个!了解 Grid 中那些未定义的布局规则
12
8月
The undefined behaviors of WPF Grid (the so-called bugs)
12
8月
Introducing MSTestEnhancer to make unit test result easy to read
12
8月
不再为命名而苦恼!使用 MSTestEnhancer 单元测试扩展,写契约就够了
12
8月
使 WPF 支持触摸板的横向滚动
12
8月
Support Horizontal Scrolling of TouchPad in WPF Application
12
8月
图片点击放大,你的网页也能做到!
12
8月
语法高亮不够漂亮?这里有你想要的 Rouge 主题
12
8月
为博客或个人站点的 Markdown 添加 LaTeX 公式支持
12
8月
为博客添加可切换的暗色和亮色主题
12
8月
转义,解决花括号在 Jekyll 被识别成 Liquid 代码的问题
12
8月
合并 Jekyll 多种类型的页面
12
8月
让 GitHub Pages 强制使用 HTTPS(含码云的 gitee/oschina.io)
12
8月
如何搭建一个基于 GitHub Pages 的 Jekyll 静态博客(目录)
12
8月
[译] 搭建一个托管在 GitHub Pages 的 Jekyll 博客,并添加 Disqus 评论功能
11
8月
使用 C# 代码创建快捷方式文件
05
8月
发布了一款库(或工具包),如何持续地编写更新日志(ChangeLog)?
05
8月
在 GitHub 公开仓库中隐藏自己的私人邮箱地址
05
8月
WPF 应用完全模拟 UWP 的标题栏按钮
30
7月
.NET 三个字母究竟应该如何大小写?前面的 “.” 什么时候能够去掉?(.NET Standard / dotnet-core / net472)
28
7月
每次都要重新编译?太慢!让跨平台的 MSBuild/dotnet build 的 Target 支持差量编译
28
7月
像黑客一样!Chrome 完全键盘操作指南(原生快捷键 + Vimium 插件)
22
7月
.NET/C# 使用 Span
为字符串处理提升性能
21
7月
使用 PInvoke.net Visual Studio Extension 辅助编写 Win32 函数签名
21
7月
使用 IFTTT 做 RSS 的邮件订阅服务
19
7月
理解 Roslyn 中的红绿树(Red-Green Trees)
18
7月
Roslyn 语法树中的各种语法节点及每个节点的含义
08
7月
.NET Standard 的管理策略
04
7月
在 Visual Studio 的解决方案资源管理器中隐藏一些文件
02
7月
如何在 MSBuild Target(Exec)中报告编译错误和编译警告
30
6月
语义耦合(Semantic Coupling)
24
6月
XML 的 XPath 语法
15
6月
UWP 将图片裁剪成圆形(椭圆)
13
6月
C#/.NET 中推荐的 Dispose 模式的实现
27
5月
文件被占用?系统自带的“资源监视器(resmon)”也能帮你找到占用它的真凶
22
5月
神器如 dnSpy,无需源码也能修改 .NET 程序
22
5月
推荐近乎免费的调试神器——OzCode
20
5月
Grid 布局算法!自己动手实现一个 Grid
26
4月
安利一款非常好用的命令行参数库:McMaster.Extensions.CommandLineUtils
26
4月
冷算法:自动生成代码标识符(类名、方法名、变量名)
23
4月
利用 TypeConverter,转换字符串和各种类型只需写一个函数
16
4月
命令“"xxx.exe" xxx”已退出,代码为 3/123/9009。VS 的这些编译错误代码代表了什么意思?
03
4月
VS 编译太慢了吗?新建解决方案配置关闭一部分项目的编译
20
3月
利用 ReSharper 自定义代码中的错误模式,在代码审查之前就发现并修改错误
19
3月
WPF 程序无法触摸操作?我们一起来找原因和解决方法!
09
3月
在移动端打开 Google 的网页快照
08
3月
在 HTML 超链接上添加可交互的 ToolTip
28
2月
如何删除 Windows 10 系统生成的 WindowsApps 文件夹
22
2月
制作 Windows 10 安装盘,解决大于 4GB 的 Windows 10 镜像在 UEFI 模式下的安装问题
22
2月
在 Windows 安装期间将 MBR 磁盘转换为 GPT 磁盘
22
2月
安装 Windows 需要知道的 256 个问题
20
2月
WPF 和 UWP 中,不用设置 From 或 To,Storyboard 即拥有更灵活的动画控制
20
2月
分享一个算法,计算能在任何背景色上清晰显示的前景色
20
2月
在 Windows 10 上为 WPF 窗口添加模糊特效(就像开始菜单和操作中心那样)
04
2月
应该抛出什么异常?不应该抛出什么异常?(.NET/C#)
04
2月
.NET/C# 建议的异常处理原则
16
1月
有些异常堆栈中真没我们写的源码
09
1月
卡诺模型(KANO Model)
2017
28
12月
为什么委托的减法(- 或 -=)可能出现非预期的结果?(Delegate Subtraction Has Unpredictable Result)
26
12月
使 32 位程序使用大于 2GB 的内存
19
12月
让 ScrollViewer 的滚动带上动画
07
12月
真的要比较 for 和 foreach 的性能吗?(内附性能比较的实测数据)
30
11月
当我们使用 MVVM 模式时,我们究竟在每一层里做些什么?
29
11月
极限压缩 PNG
23
11月
自定义 Windows PowerShell 和 cmd 的字体
22
11月
从 Matrix 解构出 Translate/Scale/Rotate(平移/缩放/旋转)
20
11月
用动画的方式画出任意的路径(直线、曲线、折现)
10
11月
使用不安全代码将 Bitmap 位图转为 WPF 的 ImageSource 以获得高性能和持续小的内存占用
07
11月
Visual Studio 也开始支持 Ctrl 点击跳转了,于是需要解决跟 ReSharper 的冲突
03
11月
修复 WPF 窗口在启动期间短暂的白底显示
28
10月
为 Web 页面添加 iPhone 固定标签页的图标
27
10月
使用 ExceptionDispatchInfo 捕捉并重新抛出异常
21
10月
如何组织一个同时面向 UWP/WPF/.Net Core 控制台的 C# 项目解决方案
20
10月
UWP 和 WPF 不同,ListView 中绑定的集合修改顺序时,UI 的刷新规则
12
10月
GitHub 的 Pull Request 和 GitLab 的 Merge Request 有区别吗?
09
10月
查询已连接 Wi-Fi 的密码(入门和进阶两种方法)
09
10月
CaptureMouse/CaptureStylus 可能会失败
29
9月
彻底删除 Git 仓库中的文件避免占用大量磁盘空间
28
9月
使用 PowerShell 获取 CLR 版本号
23
9月
试图在 Windows 10 上安装 .NET Framework 3.5 时提示错误 0x800F081F
21
9月
设置 .NET Native 运行时指令以支持反射(尤其适用于 UWP)
19
9月
使用 filter-branch 从 Git 历史中删除一个文件
19
9月
Why Unload Twice
17
9月
找回你 C 盘丢失的空间(SpaceSniffer)
13
9月
如何向整个 Git 仓库补提交一个文件
12
9月
Exception.Data 为异常添加更多调试信息
16
1月
WPF 渲染系统(WPF Render System)
2016
02
8月
解决XAML设计器中遇到的那些错误
01
8月
使用链接共享 Visual Studio 中的代码文件
09
5月
KeyDown/PreviewKeyDown 事件中监听 Alt 键按下
2015
07
7月
关联一个文件扩展名或协议
30
6月
未知的编译错误:“已添加具有相同键的项。Unknown build error, 'An item with the same key has already been added.'”
31
3月
为程序签名
2014
28
12月
减速动画 AnimationShiftKey
25
9月
为什么桌面上可能有两个同名文件?
23
9月
FileSystemWatcher 监视文件改变
22
9月
FileShare 读取一个其它进程正在写的文件
20
9月
Windows DPI Awareness for WPF
12
9月
CallerMemberName
最近更新
如何在控制台程序中监听 Windows 前台窗口的变化
在 Windows 上如何在启动程序时单独为这个程序指定环境变量,而不需要编写任何代码或脚本
WPF 像素着色器进阶:使用 HLSL 编写一个高性能的实时变化的 HSL/HSV/HSB 调色盘
WPF 像素着色器入门:使用 Shazzam Shader Editor 编写 HLSL 像素着色器代码
Windows 10 自带那么多图标,去哪里找呢?
热门标签
dotnet
csharp
windows
wpf
visualstudio
msbuild
uwp
nuget
git
roslyn
热门标签
dotnet
csharp
windows
wpf
visualstudio
msbuild
uwp
nuget
git
roslyn