lindexi

林德熙 - 微软最具价值专家和 .NET 基金会成员

林德熙

Avalonia 后台代码简单播放动画示例

本文将演示如何在 Avalonia 的后台代码里面创建 Animation 执行播放

开源项目

这是我收藏的开源项目

Roslyn 通过 Nuget 引用源代码 在 VS 智能提示正常但是无法编译

本文告诉大家如果在 Nuget 引用源代码的方式引用源代码,在 VisualStudio 的智能提示和 Resharper 的智能提示都能找到对应的类,但是在 VisualStudio 编译或使用命令行 msbuild 编译时提示找不到类

程序员笑话

本文收集我在各个网站看到的程序员笑话。

制作一个能构建 dotnet AOT 的 gitlab runner 的 Debian docker 镜像

我的需求是需要有一个能够构建出 dotnet 的 AOT 包的环境,要求这个环境能解决 glibc 兼容依赖的问题,能打出来 x64 和 arm64 的 AOT 的包,且能够运行 gitlab runner 对接自动构建

dotnet X11 窗口 Destroy 之后是否可以再次 Map 显示

经过我的测试,在 X11 里面,如果先使用 XDestroyWindow 销毁窗口,将不能再次使用 XMapWindow 显示窗口

dotnet C# 分享基础 for 循环的写法

本文来和大家聊聊在 dotnet C# 里面的基础的 for 循环语法的写法

简单在 WinUI 仿造 WPF 的 ColumnDefinition SharedSizeGroup 共享列宽功能

本文将告诉大家如何在 WinUI 3 或 UNO 里面,仿造 WPF 的 ColumnDefinition SharedSizeGroup 共享列宽功能

dotnet C# 使用 SHFileOperation 调用 Win32 的文件复制对话框

本文将和大家介绍如何在 dotnet C# 里面使用 SHFileOperation 调用 Windows 自带的文件复制对话框进行文件复制

Avalonia 11.1 已知问题 应用启动时 PointToScreen 无法获取正确坐标

本文记录 Avalonia 11.1 版本的已知问题,在 Linux 上使用 X11 时,在应用启动时,即使在 Loaded 或 Activated 事件里,都无法使用 PointToScreen 获取到正确的屏幕坐标,只会将传入的点作为返回值

Avalonia 11.1 获取平台调用的窗口的方法

本文和大家介绍如何在 11.1 版本的 Avalonia 里获取平台调用的窗口的方法,如 Windows 获取窗口句柄,在 Linux 下获取 X11 的 xid 窗口信息

dotnet 解决 Avalonia 在 OpenKylin 麒麟系统运行找不到默认字体启动失败

本文记录 Avalonia 应用在 OpenKylin 麒麟系统运行找不到默认字体启动失败的解决方法

记联软 UniAccess 导致 NSIS 安装包启动进程失效

本文记录联软 UniAccess 注入的 C:\Window\LVUAAgentInstBaseRoot\syswow64\MozartBreathCore.dll 导致 NSIS 安装包启动进程失效,启动进程直接结束问题。且给出 NSIS 安装包脚本的规避方法

记 Win8.1 某应用渲染抛出 OutOfMemoryException 异常及修复方法

本文记录某个应用在某台 Windows 8.1 x86 系统上,运行时抛出 OutOfMemoryException 异常,启动失败。应用程序能启动,但是在第一次碰到渲染时,就发现渲染初始化失败,从而让应用程序闪退

记将一个大型客户端应用项目迁移到 dotnet 6 的经验和决策

在经过了两年的准备,以及迁移了几个应用项目积累了让我有信心的经验之后,我最近在开始将团队里面最大的一个项目,从 .NET Framework 4.5 迁移到 .NET 6 上。这是一个从 2016 时开始开发,最多有 50 多位开发者参与,代码的 MR 数量过万,而且整个团队没有一个人能说清楚项目里面的所有功能。此项目引用了团队内部的大量的基础库,有很多基础库长年不活跃。此应用项目当前也有近千万的用户量,迁移的过程也需要准备很多补救方法。如此复杂的一个项目,自然需要用到很多黑科技才能完成到 .NET 6 的落地。本文将告诉大家这个过程里,我踩到的坑,以及学到的知识,和为什么会如此做

记因为 NVIDIA 显驱错误而让 WPF 应用启动闪退问题

本文记录一个因为 NVIDIA 显卡驱动错误而让 WPF 应用启动闪退问题

白板类应用的业务事件分发模式

在画板上延伸业务的事件,可以通过画板本身,利用路由事件分发,此时能解决依赖事件业务对具体业务对象的依赖

用自动机的思想说明时间断片是无法感知的

用自动机可以模拟出一个世界,虽然这个世界是虚拟的,但这个世界里面将会根据基础的自动机规则自动推算出很多有趣的规则。人类也能很简单理解在自动机模拟的世界里面,在这个世界里面的生物是无法感知时间断片的

程序猿修养 使用 NuGet 发射卫星只需要三步

软件行业和其他行业不相同,在很多行业想要复用前人的知识,需要重新再制造一遍。而软件行业,特别是 dotnet 系的技术,想要用前人的经验只需要使用前人写的库。随着越来越多的基础设施和底层库的积累,现在开发一个软件的速度会越来越快。在使用 dotnet 技术栈时,可以通过 NuGet 方便使用前人的库或发布自己的库和工具。有很多功能,其实只需要知道用哪个库和如何用,底层细节可以在完全不知道不了解的情况下也能用起来

逗比面试官成长路线 如何让被面试者觉得糟心

这几天在参加面试官培训,本来是想记录一下内容的,但是涉及到公司的不能对外公开的信息,于是我就准备反过来写,告诉大家怎么做才能让被面试者觉得糟心。尽管我现在所在的公司在某乎上存在了很多有趣的评论,但是本文努力告诉大家,如何让被面试者很有动力在某乎上写一篇很长的文章

程序猿修养 日志应该如何写

在和小伙伴讨论日志的时候,小伙伴说的是文件的读写,而实际上的日志在广义上包含了任何的输出方式,无论是控制台还是文件。而日志记录在哪不重要,重要的是什么日志应该记录,应该怎么记录和记录什么内容

记一次调试资源管理器未响应经验

有小伙伴告诉我一台设备全触摸失效了,但实际上是资源管理器未响应。我相信微软的实力,因为这台设备是自主研发的设备,所以我和几个小伙伴一起调试而不是去喷微软 通过本文可以了解到调试的思路和用到的工具

高效率工具

本文分享一些提高效率工具

通过命令行使用微信

本文告诉大家如何使用命令行使用微信

自动机

今天分享的是细胞自动机,细胞自动机是一个学科,我今天要讲的是狭义的细胞自动机,广义的细胞自动机的边界还是模糊的。可能大家会把细胞自动机和dna编程混淆,实际上他们是有交集的,但是不同的两个学科,交集就是分形,自然界中处处存在分形。 我说的内容有一点的哲学,但是不需要进入深入思考,有段时间我差点想疯了。

给博客添加rss订阅

如果是自己搭建博客,有一个问题是如何写一篇新的文章就可以告诉读者,你写了一篇新的?一个简单方法是使用 rss ,RSS订阅是站点用来和其他站点之间共享内容的一种简易方式,即Really Simple Syndication(简易信息聚合),使用这个东西就可以把自己写的博客推送给读者。 本文告诉大家,如果在博客配置 rss 让读者可以订阅。

简单搭建自己的博客

本文主要讲如何使用 Jekyll 在 Github 搭建博客,其实我们还可以在国内网站搭建,本文是记下我从不知道 github 搭建博客,到成功搭建了博客遇到的问题 我在github建立了博客,博客地址:lindexi.github.io 使用技术得到 ddatsh.com 的支持,对他表示衷心感谢 搭建一个博客需要的技术很少,不需要在电脑安装什么,直接Clone一个主题,然后修改个人信息,放入博客就好。

程序员壁纸

本文推荐一张程序员壁纸

破解360doc复制

我在看IOC,发现360图书馆有一篇文章很好,但是不能复制,要我登录,好烦

用自动机的思想说明光速

用自动机可以模拟出一个世界,虽然这个世界是虚拟的,但这个世界里面将会根据基础的自动机规则自动推算出很多有趣的规则。在当前的世界里面可以认定光速是最快的,在自动机世界里面也可以认定为有某个东西是具备最快速度,同时如果这个自动机世界里面存在智慧生物那么他将很难猜到自动机的创建规则以及他认为具备最快速度的东西的本质是什么,本文基于一个假定的自动机世界,通过简单的语言告诉大家在自动机里面的光速是什么同时告诉大家这个最快速度对自动机世界的意义

用状态机的思想解析字符串

在编程思想比较高级的有递归和状态机等使用比较少的代码就可以做出复杂的逻辑,状态机的思想是在一个状态到另一个状态,每个状态知道自己能处理的内容,同时知道可以调用哪些状态 如需要解析 [x=1,y=2,w=3,h=5] 的字符串作为一个矩形,使用状态机的方法解析,在知道使用状态机的开发者看到代码就会觉得很容易理解,对于不了解状态机的开发者就会觉得逻辑很绕

生成密码

本文提供一个简单的方式让大家可以轻松记住一个账户和密码,来得到对每个不同的网站有一个对应的密码。

调试时限制程序使用 CPU 核心数模拟低端设备

我现在的开发设备性能太强了,有一些问题只能在低性能的设备上才能进行调试,本文告诉大家在开发机上不通过虚拟机等方法直接调试模式程序在低性能设备上运行

自动更新所有 Git 仓库

我在本地添加了很多开源项目,我写了一个脚本可以每天自动从开源项目更新代码