- 博客(27)
- 资源 (174)
- 问答 (1)
- 收藏
- 关注
原创 为何 WPF 对 vcruntime140 有引用
通过阅读 WPF 官方开源仓库的代码和文档,可以了解到在进行独立发布的时候会在仓库里面带上 vcruntime140 的原因在独立发布的时候,可以在仓库里面找到 vcruntime140.dll 这个文件这是因为 WPF 框架用到了两个使用 C++\CLI 的项目,分别是 DirectWriteForwarder.dll 和 System.Printing.dll 库这两个库在进行发布的...
2020-04-30 01:20:27 445 2
原创 用 C# 写脚本 如何输出文件夹内所有文件名
大部分在 Windows 下的脚本都是使用 bat 或 cmd 写的,这部分的脚本对我来说可读性不好。这个可读性也是很主观的,对我来说用 C# 写脚本的可读性很强,但是换个小伙伴就不是了。在 .NET Core 下的 C# 可以通过 dotnet run 运行代码起来,此时特别适合用来写脚本我需要输出一个文件夹里面的根目录的所有文件,输出一个文件夹的顶层文件的方法可以使用 Directory...
2020-04-29 01:55:26 676
原创 Office OpenXml SDK 文本段落允许标点溢出边界属性
在进行 PPT 解析的时候,因为 PPT 是支持在文本框里面的文本段落设置允许标点溢出边界可以在符号超过了文本框的长度,不会换行,而是显示在文本框之外在 PPT 里面可以在段落设置允许标点溢出边界请看下面在段落属性里面,如下面代码<a:ppr fontalgn="auto" hangingpunct="0">通过 hangingpunct...
2020-04-28 00:14:26 1017
原创 手把手教你构建 WPF 框架的私有版本
在上一篇博客告诉了大家如何让 GitHub 的 Action 协助咱构建 WPF 官方源代码,但是上一篇博客只是构建成功而已,构建的输出内容还是拿不到。本文将告诉大家如何让 WPF 框架的源代码构建之后输出到私有的 NuGet 源上,方便构建出私有分支版本在上一篇博客 手把手教你如何构建 WPF 官方开源框架源代码 告诉大家为什么我推荐使用 GitHub 的 Action 进行构建,尽管进行...
2020-04-27 00:44:15 678
原创 手把手教你如何构建 WPF 官方开源框架源代码
从去年微软就将 WPF 开源了,差不多现在所有 WPF 的源代码都开源了。在学习框架的时候,我会做一些改动,期望能构建一个自己的版本进行测试。但是作为一个特别大的框架,想要构建跑起来可不是直接在 VisualStudio 里面点击一下运行就完成了,需要做很多的准备才可以。本文将一步步教你如何构建 WPF 框架源代码我不敢说每个版本的 WPF 框架的源代码我都能构建,在官方仓库 https:...
2020-04-25 06:30:40 996
原创 dotnet 用 Microsoft.Diagnostics.Runtime 库写代码解析 DUMP 文件
在分析 DUMP 进行自动化调试的时候,很多时候只能通过 WinDbg 和命令行调用的方式,这样的方式很难做到灵活。同时编写各个命令行的难度也特别高,这在需要对命令行的输出进行不同的分支的判断时候,难度会更大。于是找到了 Microsoft.Diagnostics.Runtime 库,这个库提供了简单的方式,可以在 C# 里面用代码写分析 DUMP 的代码需要先在 NuGet 上添加一个...
2020-04-25 06:30:40 610
原创 Mobius 一个运行在 .NET Core 上的 .NET 运行时
一个 .NET 应用仅仅只是一块在 .NET 运行时上面运行的二进制代码。而 .NET 运行时只是一个能执行这项任务的程序。当前的 .NET Framework 和 .NET Core 运行时采用 C++ 编写,而 Mobius 是一个使用 C# 重写的 .NET 运行时,重写包括 JIT 编译和 GC 等,这些逻辑都将和 C++ 无关原文:Mobius – .NET runtime ru...
2020-04-23 01:15:28 678
原创 Roslyn 如何使用 MSBuild ZipDirectory 压缩文件夹
在 csproj 文件或在 NuGet 的 Targets 文件中可以通过 Target 调用 ZipDirectory 任务用来制作压缩包,在构建的时候,可以用这个方法将某个输出文件夹等内容压缩输出使用 ZipDirectory 有两个必要的属性,一个是 DestinationFile 表示输出的 zip 文件的路径,另一个是 SourceDirectory 表示将被压缩的文件夹路径如果...
2020-04-23 00:41:51 551
原创 WPF 如何在静态资源定义字体大小
默认的 WPF 的字体大小的单位是像素,如果想要将字体大小使用 pt 点表示,写在 xaml 里面是直接添加 pt 后缀。但是此时如果在静态资源尝试定义的时候写上了 pt 将会在运行的时候提示无法转换默认的单位是 Pixel 如下面代码写的 <TextBlock Margin="10,10,10,10" ...
2020-04-21 02:07:54 1115
原创 WPF 触摸底层 PenImc 是如何工作的
在 WPF 里面有其他软件完全比不上的超快速的触摸,这个触摸是通过 PenImc 获取的。现在 WPF 开源了,本文就带大家来阅读触摸底层的代码,阅读本文需要一点 C# 和 C++ 基础现在 WPF 开源,所有源代码都可以在官方代码找到,本文只是让大家能够更快的了解整个触摸的代码和更快的了解代码,和知道对应的功能在哪个代码在WPF的触摸的 PenThreadWorker 调用 Threa...
2020-04-20 00:45:56 487
原创 让 snoop 支持 .NET Core WPF 调试
在最新的 snoop 3.0.0-alpha0116 版支持了 .NET Core 的 WPF 的调试,只需要下载安装最新版本就可以可以到 github 的 Releases 下载最新版本如果网络太渣,可以到 csdn 下载如何使用请看 关于Snoop的用法_网络_muzizongheng的专栏-CSDN博客我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大...
2020-04-19 02:11:38 747
原创 VisualStudio 如何快速添加一个 Git Tag 推送
在 VisualStudio 的团队管理功能,提供了方便的添加 Tag 的方法,可以新建一个 Tag 添加 Tag 信息,同时推送某个特定的 Tag 到服务器。配合推 Tag 打包 NuGet 的方法,将可以让整套工具用起来特别爽,完全本地化打 Tag 推送就完成了 NuGet 服务器打包推送进入团队管理界面,我用的英文版的,但是按钮在中文版也没有变化。我的 VisualStudio 是 ...
2020-04-19 02:11:38 2239
原创 GitHub 开源项目如何参与
点击上面图片跳转课件我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入如有不方便在博客评论的问题,可以加我 QQ 2844808902 交流本作品采用知识共享署名-非...
2020-04-17 00:51:52 461
原创 C# dotnet 的锁 SemaphoreSlim 和队列
本文主要是试验在顺序进入等待 SemaphoreSlim 的任务是否会按照顺序经过锁执行我在一个有趣的WPF程序里面,需要限制任务同时执行的线程数量,不然用户就会说用我的程序会让电脑卡渣。而我的任务是需要按照指定顺序执行的,我需要每次同时仅执行10个任务,同时任务执行按照传入的顺序此时可以用到 SemaphoreSlim 这个类,这个类的作用如下,给定初始的可以通过锁的数量,以及这个最大可...
2020-04-15 16:01:08 494
原创 WPF 动画实战 点击时显示圆圈淡出效果
本文告诉大家一个有趣的动画,在鼠标点击的时候,在点击所在的点显示一个圆圈,然后这个圆圈做动画变大,但是颜色变淡的效果。本文的控件可以让大家将对应的容器放在自己应用里面就能实现这个效果这个效果特别简单,属于入门级的动画,代码也很少,请看效果本文的控件只是一个简单的 Canvas 控件,可以将本文的这个控件替换为你自己需要的控件。或者复制本文的代码,放在你自己的项目里面,只需要让你的项目里...
2020-04-15 00:27:01 741
原创 WPF 升级 .NET Core 的理由
本文列举一些让 WPF 升级 .NET Core 的理由提供更多的 API 同时提升运行性能为了支持 Win7 系统,限制了 .NET Framework 升级版本当前我团队的 .NET Framework 使用 4.5 但是如果使用 dotnet core 能使用更多的 API 同时这些 API 都优化了大部分性能启动性能优化在 dotnet core 2.2 提供的阶梯编译,可...
2020-04-14 01:44:34 2448
原创 dotnet 使用 Avalonia 开发 UOS 原生应用
最近很火的是国产的操作系统 UOS 系统,这个系统现在存在的问题就是生态没搭建起来。作为 dotnet 开发者,可以通过很多不同方向的技术为 UOS 系统生态贡献应用,如 Xamarin 和 GTK# 或 wine 和 win32 应用,或 mono 和 WinForms 应用等。本文将安利大家使用 Avalonia 框架开发 UOS 上的原生应用什么是 Abalonia 简单说法就是原 ...
2020-04-13 02:54:45 2132 2
原创 WPF 为何不要重写默认 string 字符串的 DataTemplate 数据模版
在 WPF 中可以通过 DataTemplate 给任意的类型重写这个类型在界面显示的数据模版,我想要让小伙伴的界面都有相同的样式,此时我就尝试重写字符串的数据模版,但是我就踩到了一个坑重写默认样式的时候需要小心,我更多是建议小伙伴写样式,然后通过 Style 获取静态资源,而不是重写默认样式。补充一下细节,什么是默认样式?在 WPF 中,如果没有给对应的资源一个 Key 的值,那么将会做到...
2020-04-13 02:54:45 562
原创 从 DX 层面讲 WPF 渲染卡顿
这不是一篇深入底层的博客,很多细节还请看 DX 底层相关小伙伴都知道 在 WPF 里面使用了 DX 作为底层的渲染,在说到 WPF 卡顿的时候,还请小伙伴不要忘记 dx 部分也是可能存在卡顿的在 WPF 的 OnRender 方法调用完成之后,会让 dx 做什么?此时的 WPF 将会完成完整帧的帧绘制命令的收集,此时也是 dx 的完整帧的帧绘制命令的完成。然后 dx 将会传递这些绘制命令...
2020-04-09 12:32:50 2089
原创 为何 C# 的指针不是可空类型
在 C# 里面的指针实际上使用 int32 或 int64 存储,在 C# 里面的指针需要开启不安全代码才能使用,这里的指针是一个结构体,而结构体是存在值的我尝试写出 byte*? foo 的时候,构建的时候 VS 提示下面代码// Error CS1519: Invalid token '?' in class, struct, or interface member ...
2020-04-09 12:18:38 625
原创 C# 为什么不建议对任意的 IEnumerable 反转
我想要反转一个枚举,但是代码审查没过,这是为什么在 C# 里面可以使用 IEnumerable 表示枚举值,而我提供了一个库给小伙伴用,这个库包含了这个方法,需要在某个不知道从哪里来的枚举值进行反转然后处理业务小伙伴说代码审查没过,原因是在他的设备上一运行就占用了 100G 的内存我写的代码也很简单 private static void Foo(IEnumerable...
2020-04-09 12:18:38 499
原创 Xamarin.Forms 选取文件 让用户选择本地文件
在 Xamarin 中,使用文件存储或打开某个特定文件都是很常用的做法,而在跨平台中,每个平台都有自己的 IO 的坑。如何在 Xamarin.Froms 里面让用户可以选择打开哪个本文文件,需要照顾多个不同的平台的文件访问方式在 Xamarin.Forms 右击管理 NuGet 程序包,搜寻 Xamarin.Plugin.FilePicker 进行安装,或在 csproj 上添加下面代码...
2020-04-09 12:18:38 1906 1
原创 dotnet 在 OpenXML SDK 的 HasValue 是什么含义
在 OpenXML SDK 里面对于很多值,如字符串等的值,都包含一个 HasValue 属性。刚入门的小伙伴会认为这就是一个和可空类型一样的属性,表示这个属性是不是为空。其实这句话只是对一半,其实这个属性表示的是在重新定义的字符串参数里面的属性是否为空在 OpenXML SDK 里面给很多基础类型都是自己新定义的,如 SingleValue 和 StringValue 等,这些定义都继承...
2020-04-08 00:29:48 406
原创 win10 uwp 使用 OCR 光学字符识别
在 UWP 里面可以很方便通过 Windows.Media.Ocr.OcrEngine 识别图片的字符,其实老周有写过这一篇技术博客,今天有小伙伴在问如何实现,我还以为老周的博客过时了,于是重新复制老周的代码跑了一次,然后就通过了在老周的 【Win10 应用开发】OCR识别 博客还是 UAP 的代码,此时 UWP 还没发布,不过在 UWP 发布之后也没有改这部分的 API 也就是可以直接复...
2020-04-07 00:28:55 1650
原创 dotnet 用 ASP.NET Core 制作一个可以上传库文件的 NuGet 服务器
我在写一个有趣的 WPF 应用,我想要测试这个 WPF 应用的一个功能,这个功能就是一键点击自动推送 NuGet 包到服务器。我想要做一点自动化的测试,我需要有某个假装是 NuGet 的服务器用来接收我这个应用推送的 NuGet 包。用 ASP.NET Core 写一个假装的 NuGet 服务器,支持被 NuGet 推送包是特别简单的,本文就来和大家说说这个后台如何写其实有现成的整个 Nu...
2020-04-05 08:01:38 518
原创 dotnet 配合 Gitlab 做自动推 Tag 时打包 NuGet 包
我现在的团队内部用的是 Gitlab 工具,在此工具上提供了 Gitlab CI CD 用于做自动化测试和构建。对于 CBB 来说,发布就是打出 NuGet 包然后上传到内部 NuGet 服务器。此时遇到的问题是,如何在 Gitlab 上执行打包,打包的时候如何指定 NuGet 包的版本号。因为 CBB 的特殊性,我要求每个 NuGet 正式发布的包都应该有一个对应的 Tag 号,这样将 NuGe...
2020-04-04 02:42:58 1845
原创 Xamarin 使用 GTK 提示找不到 libglib-2.0-0.dll 找不到
在使用 Xamarin 开发 Linux 应用的时候,刚开始如果没有弄好 libglib-2.0-0.dll 的依赖库,那么将会在运行的时候,在 Gtk.Application.Init() 这句代码提示找不到这个库解决方法是先到官网 下载 GTK# 安装包或 mono x86 的应用安装到默认路径,也就是在 C:\Program Files (x86)\GtkSharp\2.12\bin...
2020-04-02 00:43:33 1470
gtk 3.24.24 for win32
2022-08-08
鼠标光标大全1.0.0.zip
2021-08-05
Microsoft.Templates.4.1.21179.1.vsix
2021-07-21
ECMA-376.7z
2021-07-03
OpenXMLSDK v25.7z
2021-06-05
Fix WriteableBitmap hangs when source bitmap is rendered on other thread
2021-04-17
WPF 私有构建版本 2021.4.17.zip
2021-04-17
sublime_merge_build_2039_x64_setup.exe
2020-12-23
MonoFramework-MDK-6.12.0.114.macos10.xamarin.universal.pkg
2020-12-23
nuget 5.8.0.6930.exe
2020-11-16
myscript-iink-recognition-text-zh_CN 1.3.zip
2020-07-20
Docker Desktop Installer 2.3.0.3 45519 windows community.7z
2020-07-05
dotnet-sdk-5.0.100-preview.7.20319.6-win-x64.exe
2020-06-23
sublime_merge_build_2020_x64_setup.exe
2020-06-22
vsdbg-16-6-20415-1 vsdbg-linux-musl-x64.zip
2020-06-22
vsdbg-16-6-20415-1 vsdbg-linux-x64.zip
2020-06-22
aspnetcore-runtime-3.1.4-linux-x64.tar.gz
2020-05-23
DPC Latency Checker 1.4.0.zip
2020-05-19
strawberry-perl-5.28.1.1-1-win64-x64.zip
2020-04-23
Snoop 3.0.0-alpha0116.msi
2020-04-18
dotnet-runtime-3.1.2-linux-x64.tar.gz
2020-04-03
aspnetcore-runtime-3.1.2-linux-x64.tar.gz
2020-04-03
影子输入法1.5.6稳定版.7z
2020-04-03
dotnet-core-uninstall-1.0.115603.msi
2020-03-12
PowerShell.Linux.x64.7.0.0-rc.2.nupkg
2020-03-07
dotnet-sdk-3.1.102-linux-x64.tar.gz
2020-03-07
dotnet-sdk-5.0.100-alpha1-015515-win-x64.exe
2020-03-06
mono-6.6.0.161-x64-0.msi
2020-03-01
UnitySetup-WebGL-Support-for-Editor-2018.3.7f1.exe
2020-03-01
dotnet-sdk-3.0.102-win-x64.exe
2020-03-01
mono-wasm-e894d683f9f.zip
2019-11-05
mono-wasm-f5cfc67c8ed.zip
2019-11-05
microsoft.dotnet.ilcompiler.1.0.0-alpha-27527-02.nupkg
2019-10-24
我想在linux运行c#程序,请问我需要做什么?
2015-04-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人