lindexi

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

林德熙

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 一样添加防火墙例外

Unity3d 修改编辑界面控制图标大小 修改相机图标显示大小

在 Unity3d 会显示一些控制图标,如相机图标和光照图标。而在编辑界面我发现这些图标太大了,影响我编辑,可以通过界面控制修改图标显示大小

Unity3d 连续按键处理和单次按键处理

某个按键按下不放叫连续按键,而仅在按下的首次处理叫单次按键处理。用途是在游戏中控制移动,例子是可以将用户点击鼠标左键时向前走一步,而点击鼠标右键时,只要按住不放就连续后退

win10 uwp 在 VisualStudio 打包测试完成自动上传到应用商店

在 VisualStudio 2019 提供了在运行测试程序之后,自动将生成的包上传到合作伙伴应用商店。我的应用运行一次自动测试需要半个钟,有这个功能我就不需要在电脑等待半个钟然后去网页上传包,而是可以让 VisualStudio 2019 自动在测试完成之后上传。在勾选通过时需要填写用户信息和租户信息和密码,本文告诉大家如何拿到这些数据填写

WPF 图片移除视觉树内存泄漏

本文告诉大家一个已知问题,在保存图片元素对象时,如果在图片移除视觉树之后再设置图片源为空,那么原有的图片源依然被图片元素引用不会释放

TotalCommander 设置 VisualStudio 开发者命令行

在使用 TotalCommnader 可以设置工具的快捷图标,可以用来启动一些工具。而在进行开发,需要使用的命令行推荐使用 VisualStudio 开发命令行,因为在开发者命令行 Developer Command Prompt 提供了很多预定义的命令,包括 NuGet 和 MSBuild 这些命令

VisualStudio 调试内存泄漏方法

虽然在写 .NET 程序,很难做到内存泄漏,但是一个软件做的很大时会发现还是有一点点的内存泄漏。本文告诉大家如何通过 VisualStudio 调试内存泄漏,这个方法适合进行日常优化

VisualStudio 命令行编译 build 通过 rebuild 不通过

在使用命令行编译项目,发现使用 build 可以编译通过,但是通过 rebuild 编译提示找不到项目,明明在对应的文件夹存在项目输出的 dll 文件,但是会提示找不到

msbuild 修改 VisualStudio 文件复制到输出目录的路径

在默认的 VisualStudio 可以右击任意的文件,让这个文件在编译时复制到输出目录,但是这个选项将会在复制到输出目录时带上这个文件所在 VisualStudio 的文件夹结构。本文告诉大家几个方法让 VisualStudio 的文件可以在编译时输出到自定义的任意路径

Mobius 一个运行在 .NET Core 上的 .NET 运行时

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

Mac 升级到 dotnet 5 构建 Xamarin 应用失败 error MSB4186 静态方法调用语法无效

我昨天将 Mac 构建机器也升级到了 dontet 5 最新版。但是在升级之后,所有的 Xamarin 项目都在 Mac 版本的 VisualStudio 构建不通过,提示 error MSB4186: 静态方法调用语法无效。解决方法就是将 VisualStudio 更新到最新版本

如何给 CI CD 服务器搭建上 .NET 5 构建和运行环境

在 2020.11.10 官方正式发布了 .NET 5 正式版。而我花了一周的时间进行踩坑和预研,本文将告诉大家如何在自动化服务器上搭建 dotnet 5 的构建和运行环境

使用 IOC 控制反转和 DI 依赖注入的意义

其实我的标题没写对,这个话题我是聊不下去的。 本文只和小伙伴聊聊为什么使用容器注入,优缺点是什么。我通过问问题的方式让小伙伴了解这么做的意义

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

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

XP 源代码 如何在清空回收站时修改回收站图标

本文来聊聊在 XP 系统里面,是如何在清空回收站的时候修改回收站图标的