lindexi

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

林德熙

dotnet core 编程规范

本文实际只是翻译 .NET Core foundational libraries 官方文档的编码风格。

dotnet 8 破坏性改动 在 AssemblyInformationalVersionAttribute 添加上 git 的 commit 号

我在一个 WPF 项目里面,在界面显示应用的版本号,更新到 dotnet 8 的 SDK 之后,发现我的界面布局损坏了。本质上这个破坏性改动和 WPF 没有什么关系,是 dotnet 的 SDK 或编译器的破坏性变更,在 AssemblyInformationalVersionAttribute 的 InformationalVersion 属性里面写入了当前的 git 的 commit 提交号

dotnet 6 已知问题 获取 CultureInfo.NumberFormat 可能抛出 IndexOutOfRangeException 异常

本文记录一个 dotnet 6 已知问题,准确来说这是一个在 dotnet 5 引入的问题,到 dotnet 6.0.12 还没修。在获取 CultureInfo.NumberFormat 属性时,在一些奇怪的 Windows 设备上可能抛出 IndexOutOfRangeException 异常。本文将来告诉大家问题的原因和解决方法

dotnet 7 已知问题 WPF 的 TreeView 开启虚拟化之后只显示首项

本文记录 WPF 在 dotnet 7 的一个已知问题,此问题当前已修复,只需更新 SDK 或运行时即可。使用 TreeView 在开启虚拟化之后只显示首项,其他项不显示。本文将告诉大家此问题的原因和修复方式

dotnet C# 使用 Vortice 创建 Direct2D1 的 ID2D1SolidColorBrush 纯色画刷

在进行 D2D 绘制文本或者是形状的时候,期望填充某个颜色,就需要用到 ID2D1SolidColorBrush 纯色画刷,在绘制的时候通过纯色画刷进行填充颜色。本文将告诉大家如何使用 Vortice 库创建 ID2D1SolidColorBrush 纯色画刷

DirectX 使用 Vortice 从零开始控制台创建 Direct2D1 窗口修改颜色

本文将告诉大家如何使用 Vortice 底层库从零开始,从一个控制台项目,开始搭建一个最简单的使用 Direct2D1 的 DirectX 应用。本文属于入门级博客,期望本文能让大家了解 Vortice 底层库是可以如何调用 DirectX 的功能,以及了解 DirectX 中,特别是 D2D 部分的初始化逻辑

dotnet 6 为什么网络请求不跟随系统网络代理变化而动态切换代理

本文记录在 dotnet 6 的网络和在 .NET Framework 的行为的变更。在 dotnet 6 下,默认的网络请求在系统网络代理变更的时候,是不会动态切换代理的。例如在应用运行进行网络通讯之后,打开 Fiddler 抓包,此时将会发现 Fiddler 抓不到包,只有在应用重启之后才能抓到。或者是开着 Fiddler 抓包,然后退出 Fiddler 之后应用就断网了

dotnet 6 使用 Obfuscar 进行代码混淆

本文来安利大家 Obfuscar 这个好用的基于 MIT 协议开源的混淆工具。这是一个非常老牌的混淆工具,从 2014 年就对外分发,如今已有累计 495.5K 的 nuget 下载量。而且此工具也在不断持续迭代更新,完全支持 dotnet 6 版本,对 WPF 和 WinForms 等等的支持也是非常好,支持多个不同混淆方式和等级的配置,支持混淆之后生成符号文件。本文将来告诉大家如何使用此混淆工具,以及此工具能达成的效果和此工具混淆的原理

dotnet 6 使用 CreateSymbolicLink 创建文件夹符号链接

本文告诉大家如何使用 dotnet 6 提供的 Directory.CreateSymbolicLink 和 File.CreateSymbolicLink 方法创建文件夹和文件的符号链接

dotnet 6 数组拷贝性能对比

本文来对比多个不同的方法进行数组拷贝,和测试其性能

dotnet C# 代码获取系统日志

可以使用 EventLog 静态类读取或写入系统日志

dotnet C# 图片等比限制最大和最小大小缩放算法

本文只是告诉大家如何计算缩放之后的宽度和高度,不包含实际的图片缩放方法

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

小伙伴们都知道有 Tuple 但是很少有小伙伴只有原来从一个类转换为一个 Tuple 的方式如此简洁,在 C# 最新版本里面提供了一组语法糖,可以便捷给任意的类扩展转换为元组的能力

C# 字符串首字符大写

我找到一些把字符串首字符大写的方法。

dotnet C# 使用阿里函数计算服务

现在有很多函数计算服务,通过函数计算服务可以在服务上运行自己的代码,而不需要理会服务器的部署以及运行代码存在的并发问题。这些问题都会在云进行计算。使用阿里的函数计算服务可以使用 dotnet core 2.1 的框架,同时测试使用免费。本文告诉搭建如何在阿里的函数计算服务上运行自己的代码

C# await 高级用法

本文告诉大家 await 的高级用法,包括底层原理。

C# 7.0

C# 7.0 可以在 VS 17 使用,这个版本我下载企业版上传百度云,有需要可以到文章最后去下载。 本文主要:C# 7.0 带来的新功能

  • out 返回值定义
  • Tuples
  • 模式匹配
  • ref 返回本地值
  • 内部函数
  • 全部地方可以支持辣么大
  • 在表达式扔异常
  • 广义异步返回类型
  • 数值常量语法 顺便告诉大家 7.1 的新特性
  • 支持 async 的主函数
  • 默认值不需要写类型
  • 自动推断 Tuple 的名称
  • 值引用
  • 指定位置命名参数
  • private protected 访问修饰
  • 字符常量下划线可以放在最前

dot net core 使用 usb

本文告诉大家如何在 dot net core 使用 usb

dot net core 使用 IPC 进程通信

本文告诉大家如何使用dot net core 和其他进程进行通信。

cant found Microsoft.VSSDK.BuildTools.15.0.26201

如果在vs扩展开发中出现

    严重性 代码  说明  项目  文件     禁止显示状态
错误      Failed to load 'C:\程序\EncodingNormalior\packages\Microsoft.VSSDK.BuildTools.15.0.26201\tools\VSSDK\bin\VSCT.exe' Assembly. 未能加载文件或程序集“file:///C:\程序\EncodingNormalior\packages\Microsoft.VSSDK.BuildTools.15.0.26201\tools\VSSDK\bin\VSCT.exe”或它的某一个依赖项。系统找不到指定的文件。   EncodingNormalizerVsx

C# 局部函数与事件

本文告诉大家使用局部函数可能遇到的坑。

C# 判断文件编码

我们的项目中会包含有很多文件,但是可能我们没有注意到的,我们的文件的编码不一定是utf-8,所以可能在别人电脑运行时出现乱码。最近在做一个项目,这个项目可以把我们的文件夹里的所有文本,判断他们是什么编码,如果不是用户规定的编码,那么就告诉用户,是否要把它规范为设置的编码。

C# TextBlock 上标

我需要做一个函数,显示 $x^2$ ,但是看起来用 TextBlock 做的不好看。 我用 WPF 写的上标看起来不好看,但是最后有了一个简单方法让他好看。 本文告诉大家如何做一个好看的上标。

C# 6.0 字符串 String Interpolation

本文主要:C# 6.0 新特性 String Interpolation,一些比较少知道的知识。 本文内容有:字符串新特性的一般使用、格式化字符串、保留小数点、判断字符串

C# 使用Emit深克隆

有人问,复制一个类所有属性到另一个类有多少方法?这也就是问深克隆有多少个方法,容易想的有三个。直接复制,反射复制,序列化复制。但是性能比较快的有表达式树复制 IL复制两个,本文主要讲最后一个

C# 代码占用的空间

是不是代码会占用空间,如果一个程序初始化需要 100M 的代码,那么在他初始化之后,这些代码就没有作用了,他会不会占空间?本文经过测试发现,代码也是会占空间。

C# 直接创建多个类和使用反射创建类的性能

本文告诉大家我对比的使用直接创建多个类和使用反射创建多个类的性能

C# 性能分析 反射 VS 配置文件 VS 预编译

本文分析在 C# 中使用反射和配置文件和预编译做注入的性能,本文的数据是为预编译框架,开发高性能应用 - 课程 - 微软技术暨生态大会 2018 - walterlv提供

C# 很少人知道的科技

本文来告诉大家在C#很少有人会发现的科技。即使是工作了好多年的老司机也不一定会知道这些科技,如果觉得我是在骗你,那么请看看本文的内容

C# 序列类为 xml 可以使用的特性大全

本文告诉大家如何使用序列类,以及序列时可以用到的特性,特性的作用和一些容易被问的问题

C# 如何写 DEBUG 输出

本文来告诉大家一个规范,如何去写 DEBUG 的输出。

C# 在 8.0 对比 string 和 string? 的类型

在 C# 8.0 的时候提供了可空字符串的判断,但是可空字符串和字符串的类型是不是不同的?

C# 遍历枚举

本文告诉大家如何遍历枚举

C# 获取进程退出代码

我需要写一个程序,让这个程序知道另一个程序是否正常退出,于是就需要获取这个进程的退出代码

C# 程序集数量对软件启动性能的影响

本文通过很多的数据测试分析在一个项目引用很多个外部项目和将外部项目的类合并到一个项目之间的启动性能的不同。 通过分析知道了如果一个项目引用了很多项目,而且在启动过程会全部调用这些项目,这时的软件性能会比将这些项目的代码合并到一个项目的慢很多 本文的数据为 预编译框架,开发高性能应用 - 课程 - 微软技术暨生态大会 2018 - walterlv 提供