lindexi

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

林德熙

Roslyn 解决找不到 SolutionDir 属性

在旧版本的 csproj 格式也就是 Franken-proj 格式,可以使用 SolutionDir 拿到当前sln文件所在的文件夹,但是在 SDK Style 格式的项目文件,是拿不到这个属性的,本文告诉大家如何做到兼容之前的逻辑

win10 uwp 不显示 SplashScreen 欢迎界面的方法

在 UWP 的应用,欢迎页面 SplashScreen 是用户第一个看到的界面,这个界面是由 ApplicationFrameHost 读取 UWP 配置的图片显示出来的,因此 UWP 才能做到点击应用瞬间启动

Roslyn 读取 PackageReference 的版本号和内容

在写 msbuild 的预编译逻辑,如果想要拿到项目安装的 NuGet 库和版本,可以通过获取 PackageReference 的方法获取

WPF 将 docx 的 Word 文件转换为 FlowDocument 显示

本文告诉大家如何将 docx 的 Word 文档在 WPF 中显示内容

WPF SharpDx 性能优化方法

本文记录一些通用的 SharpDx 的性能优化方法

Roslyn 打包 NuGet 包添加改动日志

默认的 NuGet 包支持在 releaseNotes 中添加更改日志,用户可以通过更改日志了解各个版本更新的内容。在 SDK Style 格式的 csproj 文件,可以读取本地的文本文件的内容作为 NuGet 包的改动日志

dotnet OpenXML 文本 Text Line Break 的作用

本文主要和小伙伴聊 a:br 这个标记的作用

dotnet OpenXML 文本字体的选择规则

在 Office 的文本排版里面,会根据字符选择使用哪个字体插槽。也就是实际上在 Office 里面可以在一个文本段里面指定多个字体,会根据实际的字符使用不同的字体

WPF 如何给 Grid 的某一行添加背景色

其实在 WPF 里面是不存在单独设置 Grid 的某一行的配色,但是想要达到这个视觉效果,可以通过 Border 配合做到

WPF HandyControl 已支持给任意控件通过按下移动抬起封装点击事件

著名的 HandyControl 已经支持给任意控件通过按下移动抬起事件,封装点击事件

UNO UnoConf 2020 在线会议 了解全平台新开发框架 零距离接触官方开发者

作为新一代的全平台开发框架 UNO 将在 2020 的 8 月 13 日进行线上举行 UnoConf 2020 在线会议,所有小伙伴都可以免费参加

VisualStudio 解决首次调试 docker 的 vs2017u5 exists, deleting 太慢问题

首次调试需要下载一些有趣的内容用于辅助调试,这部分内容大概有 100 多 M 在 VS 里面需要在半天。本文告诉大家如何在外面使用其他强大的下载工具下载完成之后复制回去

dotnet 使用完全对象引用相等判断

默认在列表以及字典哈希这些都会先看对象是否有自己实现的等于判断,如果有就调用对象的。因此对象可以做到两个不同的对象返回相等。而如果需要判断对象引用相等,也就是只有相同的对象才返回相等,此时需要用到 ReferenceEquals 方法。这个判断方法是最快的判断相等的方法,只有在传入的两个参数是相同的对象的时候才会返回 true 的值

WPF 两个 Topmost 的窗口如何设置谁在最上方

我需要有两个层级最高的窗口,但是要求某个窗口在另一个的上方,同时这两个窗口在所有其他的应用程序窗口的上方

C# dotnet 提示找不到 CompositionContainer 类的解决方法

在构建提示 Error CS0012 和 Error CS0246 说找不到 CompositionContainer 类,原因是没有引用 System.ComponentModel.Composition 库

Unity3D 2019 设置的 Playmode tint 有何作用

在 Unity3D 编辑器点击运行的时候,此时对整个面板修改的值仅在本次运行生效,当运行结束之后就会回到原来的值。因此为了避免调了半天实际上是在运行模式调的值,咱可以修改 Unity3D 编辑器的界面,让咱可以知道当前是 Unity3D 运行模式

Unity3d 2019.3 通过 Ctrl 键让移动是固定步距

默认在 Unity3d 通过 w 的移动的时候,是根据鼠标的移动距离移动物体,此时做对齐就不好玩了。通过按下 ctrl 键盘,然后再拖动物体移动,此时就可以设置移动是固定的步频

Unity 2019.3 将 RenderTexture 绑定到相机和物体作出镜子效果

在 Unity 的 RenderTexture 是一个特殊的纹理,这个纹理是渲染器纹理,可以用于关联摄像机画面和物体,做到在物体上附加某个摄像机画面的纹理

C# dotnet 本地代码构建没问题,但 CI 自动构建失败可能的原因

本地构建能通过至少代码上的问题不大,本文列举了一些可能的原因,小伙伴可以按照顺序依次查看代码和配置

WPF 新建用户控件提示 Error MC3000 首个 xaml 字符不合法

在 WPF 新建用户用户控件时,偶尔的 VS 版本会逗你,给你创建了一个编码不对或偷偷给你的文件第一个字符添加了一个不可见字符,此时将会构建不通过

Unity3D 判断点击命中物体对象和命中环境

我想要做到点击物体的时候显示一些内容,而点击环境或其他游戏物体的时候隐藏一些内容

WPF dotnet core 的 Blend SDK Behaviors 库

之前版本是通过安装 Blend SDK 支持 Behaviors 库的,但是这个方法都是通过引用 dll 的方式,不够优雅。在升级到 dotnet core 3.0 的时候就需要使用 WPF 官方团队开源的 Microsoft.Xaml.Behaviors.Wpf 库代替

SublimeText 配置跳转回上个光标坐标

在 VisualStudio 可以通过 ctrl+- 的功能,跳转到上个光标所在的坐标。如在多个方法之间跳转,可以通过这个快捷键快速实现。在 SublimeText 可以在菜单的 Goto 里面找到 Jump Back 功能,这个功能就是对应 VisualStudio 的跳转回上个光标的功能,也就是向后定位功能

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

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

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

在 WPF 中可以通过 DataTemplate 给任意的类型重写这个类型在界面显示的数据模版,我想要让小伙伴的界面都有相同的样式,此时我就尝试重写字符串的数据模版,但是我就踩到了一个坑

win10 uwp 使用 OCR 光学字符识别

在 UWP 里面可以很方便通过 Windows.Media.Ocr.OcrEngine 识别图片的字符,其实老周有写过这一篇技术博客,今天有小伙伴在问如何实现,我还以为老周的博客过时了,于是重新复制老周的代码跑了一次,然后就通过了

win10 uwp 如何修改 Flyout 的宽度或高度

本文告诉大家如何修改 Flyout 的尺寸

Unity3D 用对象创建对象

在 Unity3d 中会用到从一个游戏对象复制出一个新的游戏物体的方式,如制作射击游戏的子弹等。在 Unity3d 中可以使用 GameObject.Instantiate 的方式从一个 GameObject 里面创建一个和这个 GameObject 一样的对象

WPF 和 ASP.NET Core 通过 elastic APM 上报信息

我的运维小伙伴搭建了 elastic 平台,我有一个 ASP.NET Core 后台和一个 WPF 客户端,我想要让这两个应用的数据都上报,可以使用 Elastic.Apm 库上报

WPF 打包为 UWP 应用构建失败 MSB3270 不匹配 AMD64 架构

在使用 dotnet core 3.1 的 WPF 打包为 UWP 应用的时候,如果没有设置 PublishProfiles 那么将会在构建 x64 提示所生成项目的处理器架构“AMD64”与引用的处理器架构“x86”不匹配

WPF 已知问题 全屏透明窗口弹出子窗口会闪烁

在 WPF 中通过设置 WindowStyle 为 None 以及 WindowState 为 Maximized 进入全屏,同时设置 AllowsTransparency 支持透明,此时弹出一个设置 WindowStyle 是 None 的子窗口,用 VisualStudio 2019 运行将会看到 子窗口 先显示出来,然后回到主窗口下面,然后再显示到主窗口上面

win10 uwp 如何给 DropDownButton 一个很小的宽度

在 UWP 的 Microsoft.UI.Xaml 提供了一个带下箭头的按钮,这就是 DropDownButton 这个按钮继承 Button 按钮,基本表现相同,但是如果给这个按钮一个很小的宽度,将会看不到下箭头图片

WPF dotnet 使用本机映像 native 优化 dotnet framework 二进制文件

在 2017 我在社区问了一个问题,如何让 .NET Framework 的 WPF 等程序使用 .NET Native 构建以提升速度。在 2019.06 的时候,强大的微软提供了一个好用的库,支持将 .NET Framework 的桌面应用构建时添加 native images 本机映像支持

UWP 上架失败因为没有添加隐私策略

在使用 UWP 上架之前需要经过微软的审核,在美国很看重个人隐私,因此需要在两个地方都填写上隐私策略。第一个是应用商店里面,第二个是应用程序里面

UWP 打包 win32 应用 添加防火墙例外

我想要将一个 WPF 应用打包为 UWP 应用,然后用我自己的商店发布,在做 UWP 安装包的小伙伴会问如何和 nsis 一样添加防火墙例外