自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

walterlv - 吕毅

欢迎访问 https://blog.walterlv.com/ 热爱设计,不止是程序,更是艺术!

  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 冷算法:自动生成代码标识符(类名、方法名、变量名)

竟然有小伙伴喜欢在编写代码时使用随机字符当作类名、方法名、变量名,例如这一篇博客里的代码:使用 Resharper 特性 - 林德熙。既然随机,那也随机得像一些啊!于是我改进了标识符的随机算法,使得生成的标识符更像真实单词的组合。看看标识符的生成效果吧!0、2、4……行是 PascalCase,即首字母大写的;1、3、5……行是 camelCase 即首字母小写的。 ▲ 是不是感觉甚...

2018-04-27 07:19:31 1053

原创 自动将 NuGet 包的引用方式从 packages.config 升级为 PackageReference

在前段时间我写了一篇迁移 csproj 格式的博客 将 WPF、UWP 以及其他各种类型的旧样式的 csproj 文件迁移成新样式的 csproj 文件,不过全过程是手工进行的,而且到最后处理 XAML 问题也非常头疼。现在,我们可以利用工具自动地完成这个过程。当然,工具并不将 csproj 格式进行迁移,而是在不迁移格式的情况下,使用到 PackageReference 方式 NuGet 引...

2018-04-27 07:16:35 13703

原创 如何快速编写和调试 Emit 生成 IL 的代码

.NET Core/.NET Framework 的 System.Reflection.Emit 命名空间为我们提供了动态生成 IL 代码的能力。利用这项能力,我们能够在运行时生成一段代码/一个方法/一个类/一个程序集。大家都知道反射的性能很差,通过缓存反射调用的方法则能够大幅提升性能。Emit 为我们提供了这项能力,我们能够在运行时生成一段代码,替代使用反射动态调用的代码,以提升性能。...

2018-04-27 07:14:06 1803

原创 使用 Emit 生成 IL 代码

.NET Core/.NET Framework 的 System.Reflection.Emit 命名空间为我们提供了动态生成 IL 代码的能力。利用这项能力,我们能够在运行时生成一段代码/一个方法/一个类/一个程序集。本文将介绍使用 Emit 生成 IL 代码的方法,以及在此过程中可能遇到的各种问题。在编写以下代码时如果遇到一些意料之外的错误,希望调试生成的 IL 代码,可以尝试阅...

2018-04-27 07:10:10 875 1

原创 UWP 流畅设计中的光照效果(容易的 RevealBorderBrush 和不那么容易的 RevealBackgroundBrush)

在 Windows 10.0.16299 中,RevealBrush 被引入,可以实现炫酷的鼠标滑过高亮效果和点击光照。本文将告诉大家如何完整地实现这样的效果。Reveal 的效果(自带)在微软官方推荐的 XAML Controls Gallery 应用中,我们可以找到 Reveal 的实现章节。下图是应用中演示的 Reveal 效果:不过在其实现中,全都是使用的系统自带的...

2018-04-15 10:42:09 667

原创 使用 GitVersion 在编译或持续构建时自动使用语义版本号(Semantic Versioning)

我们在之前谈过 语义版本号(Semantic Versioning),在项目中应用语义版本号能够帮助库的开发者在发布包时表明更多的语义信息。这是趋势,从微软的博客 Versioning NuGet packages in a continuous delivery world 三部曲中可以看出,从 NuGet 4.3.0 以及 Visual Studio 2017 15.3 以上版本开始支持语义版...

2018-04-15 10:38:42 2689

原创 语义版本号(Semantic Versioning)

版本号格式不陌生吧,.NET 传统的版本号格式类似这样 1.5.1254.0。本文将推荐一种新的版本号格式——语义版本号,格式类似这样 1.4.6-beta。我推荐语义版本号是因为这样的版本号自包含语义,而且这样的语义能够在版本库中体现出来。传统的版本号如果你只是知道传统版本号由四个部分组成,那么建议去官方文档 Assembly Versioning 了解一下这种版本号的定义。...

2018-04-15 10:36:30 4573

原创 流畅设计 Fluent Design System 中的光照效果 RevealBrush,WPF 也能模拟实现啦!

UWP 才能使用的流畅设计效果好惊艳,写新的 UWP 程序可以做出更漂亮的 UI 啦!然而古老的 WPF 项目也想解解馋怎么办?于是我动手实现了一个!迫不及待看效果 ▲ 是不是很像 UWP 中的 RevealBorderBrush?不止是效果像,连 XAML 写法也像:<Border BorderThickness="1" Margin="50,34,526...

2018-04-05 17:08:01 2823 2

原创 VS 编译太慢了吗?新建解决方案配置关闭一部分项目的编译

手头的解决方案真大!里面的项目个数达到了 30 个或是 50 个?然而接近一半是单元测试项目和辅助工具。再加上一些不尽如人意的项目优化,编译速度真的是无力吐槽。幸好 Visual Studio 提供了解决方案配置功能,可以让我们在编译时略过一些项目。在解决方案上右击选择“属性”,我们将打开“解决方案属性页”。在属性页种选择“配置”,则可以开始指定项目是否生成或部署。然而,我...

2018-04-05 17:06:36 5359

原创 使用 MSBuild 响应文件 (rsp) 来指定 dotnet build 命令行编译时的大量参数

在为开源项目 easiwin/MSTestEnhancer 进行持续集成编译时,需要在编译命令中传入较多的参数。这对于新接手此项目的人来说,成本还是高了一点儿。本文将介绍 MSBuild 响应文件 (MSBuild Response Files, *.rsp) 来优化命令行编译体验。我们在 msbuild 命令中加入 /? 参数可以看到它对响应文件的解释:> dotnet b...

2018-04-05 17:05:35 919

UWP 程序所需的最少 Logo 资源

https://walterlv.github.io/post/create-uwp-app-from-zero-0.html 中 UWP 程序所需的最少 Logo 资源

2018-07-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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