林德熙 - 微软最具价值专家和 .NET 基金会成员
本文告诉大家如何写同一个简单的动画。
想要电脑读出我们写的内容,在win10,很简单
其实这个技术在windows7就有了,但是现在 win10 写出一个你写我读的软件很简单。
我们需要一个类 MediaElement
来播放,因为 windows10 的M arkdown 软件用的不是很好,所有我自己写一个。
这个软件我用了你写我读,如果需要代码,请自己去下 https://github.com/lindexi/Markdown
九幽第三方登录及用户信息云存储插件可以登录QQ、新浪微博
九幽数据统计是统计和分析数据来源,用户使用,先申请账号
Windows下没有比较好的Markdown编辑器 我就自己写一个 csdn的Markdown很好,就是我需要截图保存有麻烦 需要把我的截图保存在本地,然后上传
我看见了知乎首页登录背景和普通的地球人写的博客,发现了个好看的效果。 那么我来告诉大家如何做这个效果。 第一步是在 Canvas 画点,第二步是让点移动,第三步是画线
今天在打码出现了vs无法调试,我在网上查了很久没有发现一个方法。 vs点击启动时,出现了一下提示
程序“[12648] *.vshost.exe: 程序跟踪”已退出,返回值为 0 (0x0)。
程序“[12648] *.vshost.exe”已退出,返回值为 -1073741819 (0xc0000005) 'Access violation'。
本文将告诉大家如何在 dotnet 里面的后台线程设置 X11 窗口的最小化
本文将告诉大家如何在 dotnet 里面的后台线程向自己进程内的窗口发送消息
本文记录我写的一个测试代码在 Linux 上踩坑的经验。在 Linux 上可能存在一些文件的文件长度是 0 但文件里面依然可以读取到内容。之前我不知道有这样的设计,导致了我大量逻辑判断文件长度为 0 就不执行,从而让运行结果不符合预期
本文将和大家介绍一个简单且实际用途不大的使用 windbg 配合脚本的方式,进行自动化的大批量对 dotnet 系应用的 dump 进行自动化分析调试处理,可以自动根据调试需求输出 dump 文件的一些信息
本文将告诉大家如何修复 dotnet 项目里的多框架 TargetFrameworks 如果包含了当前系统无法支持的平台时,如何进行跳过。解决在 Linux 平台构建时提示 Mac Catalyst 不受支持而构建失败
在我所在的团队开发的一个 WPF 应用程序里面,使用到了 SQLite 作为本地数据库。在优化启动性能过程中,发现了在启动过程一旦访问 SQLite 将会因为 SQLiteFunction 扫描程序集导致 CPU 损耗,从而影响启动性能。本文将告诉大家如何禁用 SQLite 的 SQLiteFunction 扫描程序集
本文将和大家介绍在开发 dotnet 的插件时,如何通过 dnlib 库检测当前的插件是否由于主应用程序的版本差异导致存在 API 兼容性问题
本文记录我测试 dotnet 里面的 SemaphoreSlim 锁,在多线程进入 Wait 等待时,进行释放锁时,获取锁执行权限的顺序是否与进入 Wait 等待的顺序相同。测试的结果是 SemaphoreSlim 的 Wait 大部分情况是先进先出,按照 Wait 的顺序出来的,但是压力测试下也存在乱序,根据官方文档说明不应该依赖 SemaphoreSlim 的 Wait 做排队顺序
本文记录我测试 dotnet 里面的 Mutex 锁,在多线程进入 WaitOne 等待时,进行释放锁时,获取锁执行权限的顺序是否与进入 WaitOne 等待的顺序相同。测试的结果是 Mutex 的 WaitOne 是乱序的,不应该依赖 Mutex 的 WaitOne 做排队顺序
本文记录我在 UOS Linux 系统上使用 Process.Start 打开文件的行为
由于 Environment.GetFolderPath 可以传入的参数里面,有许多都是 Windows 系统特有的,在 Linux 上不存在的,也没有映射对应的文件夹。本文将在 WSL Debian 和 UOS 系统上测试 Environment.GetFolderPath 行为
本文告诉大家,如何修复 GitHub Action 构建过程提示 error NETSDK1127: The targeting pack Microsoft.WindowsDesktop.App.WindowsForms is not installed. Please restore and try again. 错误
本文将和大家介绍 C# 语言设计里面,我认为比较坑的一个语法。通过 is var 的写法,会让开发者误以为 null 是不被包含的,然而事实是在这里的 var 是被赋予含义的,将被允许 null 通过判断逻辑,于是就会让开发者收到了奇怪的空异常
在大部分情况下,获取当前所运行的应用程序的所在路径时,常用的就是 Assembly.Location 属性,按照之前的经验,使用 Assembly.Location 是最为稳定的做法,然而在 dotnet 发布单文件时,此属性将会为空,导致一些不符合预期的行为
本文将和大家推荐一个我所在团队开源的本机多进程通讯 IPC 库,此 IPC 支持使用 JSON 格式进行直接路由通讯,具有使用方便,稳定性高,性能好的优点
本文将告诉大家在 dotnet 里面使用免费完全开源的基于增量源代码生成技术的 Telescope 库,进行收集导出项目程序集里面指定类型。可以实现性能极高的指定类型收集,方便多模块对接入自己的业务框架
本文记录在 UOS 统信系统上运行 UNO 的基于 Skia 的 FrameBuffer 应用报错问题,错误提示是 Unhandled exception. System.InvalidOperationException: Failed to open FrameBuffer device /dev/fb0 (13) 的问题。问题原因是 UNO 应用的 FrameBuffer 写入失败,本文将告诉大家调查方法
对于 HttpClient 的请求响应值 HttpResponseMessage 来说,既然继承了 IDisposable 接口,自然就是想让大家可以通过 using 或者手动调用 Dispose 进行释放的。本文将来聊聊对 HttpResponseMessage 调用 Dispose 进行释放的意义有多大,有没有必要性的问题
在应用程序设计里面,不单是 dotnet 应用程序,绝大部分都会遵循让应用在出现未处理异常状态时终结的原则。在 dotnet 应用里面,如果一个线程顶层出现未捕获异常,则应用进程将会被认为出现异常状态而退出。通常来说就是未捕获异常导致进程闪退
有时某个相同命名空间相同名字的类型被两个不同的 NuGet 包定义了,尽管这是非常少见的事情,咱需要使用到其中的一个 NuGet 包的类型,但默认情况下将会因为类型冲突而构建不通过。本文将告诉大家如何给 NuGet 包加上 Aliases 别名解决类型冲突
在 dotnet 里面的 ConcurrentDictionary 是一个支持并发读写的线程安全字典,在这个字典里面有一些行为会出现随机性,即多次执行相同的代码返回的结果可能不相同。本文记录在 ConcurrentDictionary 使用 FirstOrDefault 获取到非预期的首项的问题
在 Windows 系统上,有一个很重要的概念是 Windows Imaging Component 也就是 WIC 层,这是专门用来处理多媒体相关的系统组件,特别是用来处理图片相关,包括编码和解码和处理图片。开发者可以扩展 WIC 层的编解码器,从而让系统可以支持更多格式的多媒体文件。本文将告诉大家如何获取当前系统上在 WIC 层安装的图片编解码器,从而了解当前系统支持哪些格式的图片
本文记录最近 github 推送或拉取代码时提示 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 而失败的解决方法
我在阅读 WPF 源代码,在 HwndWrapper 的静态构造函数看到了申请了 HwndWrapper.GetGCMemMessage 这个 Windows 消息,好奇这个消息是什么功能的。通过阅读 WPF 源代码和写测试应用,了解到这是一个完全用来内部测试或调试的消息,没有任何业务上的功能