自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lindexi

好多时间打出来代码没有bug

原创 .NET 官方图标

在哪可以找到 dotnet 官方权威的图标?正统的 .NET 图标是哪个? 本文来回答大家这几个问题 请到 dotnet/brand 品牌指导仓库里面获取最新的 logo 文件 这个 https://github.com/dotnet/brand 仓库的用途是官方与 .NET 开发人员社区进...

2020-10-23 01:42:20 62 0

原创 读书笔记 dotnet 大对象堆和小对象堆

本文是读还没出版的伟民哥翻译的 .NET内存管理宝典 - 提高代码质量、性能和可扩展性 这本书的笔记

2020-09-26 08:50:15 114 0

原创 NuGet 命令行上传找不到 snupkg 文件

在 NuGet 提供符号 NuGet 库的支持,在默认上传将会同时上传符号库。在 NuGet 上传文件将会默认将 snupkg 符号文件上传

2020-09-26 08:49:13 75 0

原创 WPF 最简逻辑实现多指顺滑的笔迹书写

只需不到 150 行代码就能实现一个支持多指顺滑的笔迹书写的应用。当然,这个应用除了笔迹书写外,没有其他任何功能。本文将不会使用 InkCanvas 而是使用更底的方法,通过 Stroke 进行绘制

2020-09-26 08:48:09 147 0

原创 dotnet 里的那些锁 AutoResetEvent 用法

本文告诉大家在 dotnet 里的 AutoResetEvent 锁的用法

2020-09-26 08:47:15 125 0

原创 C# dotnet 的锁 SemaphoreSlim 和队列

本文主要是试验在顺序进入等待 SemaphoreSlim 的任务是否会按照顺序经过锁执行

2020-09-26 08:46:18 87 0

原创 WPF 触摸相关

本文整理我写的触摸博客

2020-09-26 08:44:52 74 0

原创 WPF 使用 HandyControl 给 ListView 添加漂亮的表头效果

本文将来安利大家一个很好用的 UI 控件库,著名的 HandyControl 库。在想要给 ListView 添加一个表头,同时想要这个 ListView 在没有美工小姐姐的帮助下也能看起来比较好看,此时就特别适合使用 HandyControl 库

2020-09-26 08:42:38 180 0

原创 命令行参数使用 json 有哪些坑

本文和大家聊聊在命令行参数里面使用 json 会遇到的坑

2020-09-26 08:41:39 81 0

原创 WPF 获取屏幕某个点的颜色

我在做一个笔迹性能测试工具,想要在笔迹绘制到某个点的时候输出绘制的速度,通过判断屏幕颜色修改判断笔迹绘制到哪。此时需要在不截图屏幕获取屏幕某个点的颜色

2020-09-26 08:40:33 113 0

原创 ASP.NET Core 警惕可空类型开启之后模型校验失败

在开启 Nullable 可空类型之后,原本可以调用的 API 也许就会提示 400 BadRequest 因为传入参数不合法,模型校验失败,此时将不会进入预期的 API 函数,同时也不会在输出里面找到有用的信息 在 SDK 风格的 csproj 文件开启可空类型可以添加下面代码 ...

2020-09-03 00:28:26 28 0

原创 .NET Core 用 Blazor 做 jmeter 系列视频

本文来安利大家宇辰大大的 .NET Core 用 Blazor 做 jmeter 系列视频 .Net Core 用Blazor做 jmeter 001之 Ribbon 布局 - Element Blazor环境配置 .Net Core 用Blazor做 jmeter 002之 Ribbo...

2020-08-10 00:43:03 59 0

原创 ASP.NET Core 将文件夹内容输出为压缩包文件方法

本文主要是告诉大家一个省内存的方法,将整个文件夹的内容作为一个压缩包输出,但是实际上没有申请那么多的内存,也不需要升级创建一个压缩包文件。原理是通过逐个读文件然后按照压缩包格式输出 在每个请求的方法可以拿到 HttpContext 属性,通过这个属性拿到 Response 属性,在这里可以使用...

2020-07-30 00:39:32 432 0

原创 通过 cmd 批处理文件将 16 进制转 10 进制数字

我在用户的电脑上通过 spyxx 找到某个进程的 id 都是在 spyxx 使用 16 进制显示,而任务管理器使用 10 进制显示,用户的电脑没有计算器。我如何使用 bat 或 cmd 等批处理文件快速将十六进制的数字转换为十进制的数字 创建一个文本文件,修改后缀名为 cmd 文件 使用如下代...

2020-07-08 07:58:25 657 0

原创 Roslyn 如何给每个平台设置 PlatformTarget 属性

在使用 csproj 格式,如果需要给不同的平台设置 PlatformTarget 对应平台的值,需要写比较多的代码,本文告诉大家一个简便的方法 使用三句话就完成了平台设置 <PropertyGroup> <PlatformTarget>$(Platform)&...

2020-07-07 23:58:25 134 0

原创 WPF 使用 TranslatePoint 换算元素之间相对坐标

在 WPF 中的布局模型里面,可以将每个元素都认为是矩形。而每个矩形都可以将自己的左上角作为原点建立坐标,不同的矩形之间的坐标原点不相同,当这些用矩形表达的元素进行系列的旋转和平移等之后,如何将以某个元素的矩形左上角为原点的坐标换算为另一个元素的矩形左上角为原点的坐标 只要在相同的视觉树上面,...

2020-07-07 23:58:25 568 0

原创 dotnet core 打包构建提示 MSB3024 可能的原因

如果是在 Linux 下发布,可能是因为发布的可执行文件和文件夹重名 在使用 dotnet publish -c release 在 Linux 服务器发布或使用 -r linux-x64 发布看到下面代码 _CopyOutOfDateSourceItemsToOutputDirectory:...

2020-07-07 23:58:25 339 0

原创 C# dotnet WPF 使用 OpenXml 解析 Excel 文件

在 2013 微软开源了 OpenXml 解析库,在微软的 Excel 文档,使用的文档格式就是国际规范的 OpenXml 格式。这个格式有很多版本,详细请看百度。因为表格文稿使用的是 OpenXml 在 .NET 开发可以非常简单将 Excel 文档进行解析,大概只需要两句话 本文通过一个简...

2020-07-07 23:58:25 177 0

原创 C# 里面很少人知道但很好用的 Tuple 转换

小伙伴们都知道有 Tuple 但是很少有小伙伴只有原来从一个类转换为一个 Tuple 的方式如此简洁,在 C# 最新版本里面提供了一组语法糖,可以便捷给任意的类扩展转换为元组的能力 先来看看下面这段有趣的代码 我可以将 Lindexi 类解析为 (string name, string d...

2020-07-07 23:58:25 1011 0

原创 Xamarin 使用 GTK 提示找不到 libglib-2.0-0.dll 找不到

在使用 Xamarin 开发 Linux 应用的时候,刚开始如果没有弄好 libglib-2.0-0.dll 的依赖库,那么将会在运行的时候,在 Gtk.Application.Init() 这句代码提示找不到这个库 解决方法是先到官网 下载 GTK# 安装包或 mono x86 的应用 安装...

2020-07-07 23:58:25 306 0

原创 dotnet 使用 Avalonia 开发 UOS 原生应用

最近很火的是国产的操作系统 UOS 系统,这个系统现在存在的问题就是生态没搭建起来。作为 dotnet 开发者,可以通过很多不同方向的技术为 UOS 系统生态贡献应用,如 Xamarin 和 GTK# 或 wine 和 win32 应用,或 mono 和 WinForms 应用等。本文将安利大家使...

2020-07-07 23:58:25 857 1

原创 dotnet 在 OpenXML SDK 的 HasValue 是什么含义

在 OpenXML SDK 里面对于很多值,如字符串等的值,都包含一个 HasValue 属性。刚入门的小伙伴会认为这就是一个和可空类型一样的属性,表示这个属性是不是为空。其实这句话只是对一半,其实这个属性表示的是在重新定义的字符串参数里面的属性是否为空 在 OpenXML SDK 里面给很...

2020-07-07 23:58:25 96 0

原创 为何 C# 的指针不是可空类型

在 C# 里面的指针实际上使用 int32 或 int64 存储,在 C# 里面的指针需要开启不安全代码才能使用,这里的指针是一个结构体,而结构体是存在值的 我尝试写出 byte*? foo 的时候,构建的时候 VS 提示下面代码 // Error CS1519: Invalid token...

2020-07-07 23:58:25 117 0

原创 dotnet 配合 Gitlab 做自动推 Tag 时打包 NuGet 包

我现在的团队内部用的是 Gitlab 工具,在此工具上提供了 Gitlab CI CD 用于做自动化测试和构建。对于 CBB 来说,发布就是打出 NuGet 包然后上传到内部 NuGet 服务器。此时遇到的问题是,如何在 Gitlab 上执行打包,打包的时候如何指定 NuGet 包的版本号。因为 ...

2020-07-07 23:58:25 361 0

原创 C# 为什么不建议对任意的 IEnumerable 反转

我想要反转一个枚举,但是代码审查没过,这是为什么 在 C# 里面可以使用 IEnumerable 表示枚举值,而我提供了一个库给小伙伴用,这个库包含了这个方法,需要在某个不知道从哪里来的枚举值进行反转然后处理业务 小伙伴说代码审查没过,原因是在他的设备上一运行就占用了 100G 的内存 我写...

2020-07-07 23:58:25 176 0

原创 WPF 为何不要重写默认 string 字符串的 DataTemplate 数据模版

在 WPF 中可以通过 DataTemplate 给任意的类型重写这个类型在界面显示的数据模版,我想要让小伙伴的界面都有相同的样式,此时我就尝试重写字符串的数据模版,但是我就踩到了一个坑 重写默认样式的时候需要小心,我更多是建议小伙伴写样式,然后通过 Style 获取静态资源,而不是重写默认样...

2020-07-07 23:58:25 220 0

原创 dotnet 用 ASP.NET Core 制作一个可以上传库文件的 NuGet 服务器

我在写一个有趣的 WPF 应用,我想要测试这个 WPF 应用的一个功能,这个功能就是一键点击自动推送 NuGet 包到服务器。我想要做一点自动化的测试,我需要有某个假装是 NuGet 的服务器用来接收我这个应用推送的 NuGet 包。用 ASP.NET Core 写一个假装的 NuGet 服务器,...

2020-07-07 23:58:25 127 0

原创 WPF 动画实战 点击时显示圆圈淡出效果
原力计划

本文告诉大家一个有趣的动画,在鼠标点击的时候,在点击所在的点显示一个圆圈,然后这个圆圈做动画变大,但是颜色变淡的效果。本文的控件可以让大家将对应的容器放在自己应用里面就能实现这个效果 这个效果特别简单,属于入门级的动画,代码也很少,请看效果 本文的控件只是一个简单的 Canvas 控件,可...

2020-07-07 23:58:25 125 0

原创 Roslyn 引用某个文件夹所有文件作为链接

在 SDK 格式的项目文件可以通过简单代码引用某个文件夹里面指定后缀的文件作为项目文件 例如我想要引用相对于 csproj 的上一层文件夹里面的 doubi 文件夹里面的所有 cs 文件,作为链接引用的方法,可以使用下面代码 <ItemGroup> <Compil...

2020-07-07 23:58:25 142 0

原创 WPF 如何在静态资源定义字体大小

默认的 WPF 的字体大小的单位是像素,如果想要将字体大小使用 pt 点表示,写在 xaml 里面是直接添加 pt 后缀。但是此时如果在静态资源尝试定义的时候写上了 pt 将会在运行的时候提示无法转换 默认的单位是 Pixel 如下面代码写的 <TextBlo...

2020-07-07 23:58:25 219 0

原创 VisualStudio 如何快速添加一个 Git Tag 推送

在 VisualStudio 的团队管理功能,提供了方便的添加 Tag 的方法,可以新建一个 Tag 添加 Tag 信息,同时推送某个特定的 Tag 到服务器。配合推 Tag 打包 NuGet 的方法,将可以让整套工具用起来特别爽,完全本地化打 Tag 推送就完成了 NuGet 服务器打包推送 ...

2020-07-07 23:58:25 205 0

原创 WPF 触摸底层 PenImc 是如何工作的

在 WPF 里面有其他软件完全比不上的超快速的触摸,这个触摸是通过 PenImc 获取的。现在 WPF 开源了,本文就带大家来阅读触摸底层的代码,阅读本文需要一点 C# 和 C++ 基础 现在 WPF 开源,所有源代码都可以在官方代码找到,本文只是让大家能够更快的了解整个触摸的代码和更快的了...

2020-07-07 23:58:25 160 0

原创 Roslyn 如何使用 MSBuild ZipDirectory 压缩文件夹

在 csproj 文件或在 NuGet 的 Targets 文件中可以通过 Target 调用 ZipDirectory 任务用来制作压缩包,在构建的时候,可以用这个方法将某个输出文件夹等内容压缩输出 使用 ZipDirectory 有两个必要的属性,一个是 DestinationFile 表...

2020-07-07 23:58:25 147 0

原创 Mobius 一个运行在 .NET Core 上的 .NET 运行时
原力计划

一个 .NET 应用仅仅只是一块在 .NET 运行时上面运行的二进制代码。而 .NET 运行时只是一个能执行这项任务的程序。当前的 .NET Framework 和 .NET Core 运行时采用 C++ 编写,而 Mobius 是一个使用 C# 重写的 .NET 运行时,重写包括 JIT 编译和...

2020-07-07 23:58:25 363 0

原创 手把手教你如何构建 WPF 官方开源框架源代码
原力计划

从去年微软就将 WPF 开源了,差不多现在所有 WPF 的源代码都开源了。在学习框架的时候,我会做一些改动,期望能构建一个自己的版本进行测试。但是作为一个特别大的框架,想要构建跑起来可不是直接在 VisualStudio 里面点击一下运行就完成了,需要做很多的准备才可以。本文将一步步教你如何构建 ...

2020-07-07 23:58:25 241 0

原创 dotnet 用 Microsoft.Diagnostics.Runtime 库写代码解析 DUMP 文件

在分析 DUMP 进行自动化调试的时候,很多时候只能通过 WinDbg 和命令行调用的方式,这样的方式很难做到灵活。同时编写各个命令行的难度也特别高,这在需要对命令行的输出进行不同的分支的判断时候,难度会更大。于是找到了 Microsoft.Diagnostics.Runtime 库,这个库提供了...

2020-07-07 23:58:25 191 0

原创 手把手教你构建 WPF 框架的私有版本

在上一篇博客告诉了大家如何让 GitHub 的 Action 协助咱构建 WPF 官方源代码,但是上一篇博客只是构建成功而已,构建的输出内容还是拿不到。本文将告诉大家如何让 WPF 框架的源代码构建之后输出到私有的 NuGet 源上,方便构建出私有分支版本 在上一篇博客 手把手教你如何构建 W...

2020-07-07 23:58:25 212 0

原创 用 C# 写脚本 如何输出文件夹内所有文件名

大部分在 Windows 下的脚本都是使用 bat 或 cmd 写的,这部分的脚本对我来说可读性不好。这个可读性也是很主观的,对我来说用 C# 写脚本的可读性很强,但是换个小伙伴就不是了。在 .NET Core 下的 C# 可以通过 dotnet run 运行代码起来,此时特别适合用来写脚本 ...

2020-07-07 23:58:25 221 0

原创 GitHub 如何过滤某个作者的 MR 内容

在 WPF 开源仓库里面有大量的机器人的 MR 但是我想要了解现在 WPF 仓库有多少开发者在贡献代码,此时如何在 GitHub 中过滤某个作者的 MR 内容 在 GitHub 的 Filters 可以通过 -author 表示去掉某个作者的内容,如下面链接就是去掉机器人的 WPF 仓库的 M...

2020-07-07 23:58:25 262 0

原创 GitHub Action 新上线 WPF .NET Core 自动构建模板
原力计划

在很土豪的微软免费给大家提供 GitHub 的构建服务器受到了小伙伴们的一堆好评之后,微软最近推出了 WPF 的 .NET Core 版本的模板,可以快速上手 WPF 项目的自动构建,支持自动进行单元测试和打包,同时输出打包的文件 首先需要创建一个 WPF 项目,最简单的创建方法就是通过下面一...

2020-07-07 23:58:25 191 0

提示
确定要删除当前文章?
取消 删除