自定义博客皮肤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/ 热爱设计,不止是程序,更是艺术!

原创 如何在 csproj 中用 C# 代码写一个内联的编译任务 Task

我之前写过一些改变 MSBuild 编译过程的一些博客,包括利用 Microsoft.NET.Sdk 中各种自带的 Task 来执行各种各样的编译任务。更复杂的任务难以直接利用自带的 Task 实现,需要自己写 Task。 本文介绍非常简单的 Task 的编写方式 —— 在 csproj 文件中写...

2019-03-25 15:28:40

阅读数 116

评论数 0

原创 编写 MSBuild 内联编译任务(Task)用于获取当前编译环境下的所有编译目标(Target)

我之前写过一些改变 MSBuild 编译过程的一些博客,包括利用 Microsoft.NET.Sdk 中各种自带的 Task 来执行各种各样的编译任务。更复杂的任务难以直接利用自带的 Task 实现,需要自己写 Task。 本文将编写一个内联的编译任务,获取当前编译环境下的所有编译目标(Targe...

2019-03-25 15:27:23

阅读数 397

评论数 0

原创 在 MSBuild 编译项目时阻止输出所有的警告信息

大型旧项目可能存在大量的 Warning,在编译之后 Visual Studio 会给出大量的警告。Visual Studio 中可以直接点掉警告,然而如果是通过命令行 msbuild 编译的,那如何不要让警告输出呢? 在使用 msbuild 命令编译项目的时候,如果存在大量的警告,输出量会非常...

2019-03-25 15:25:38

阅读数 244

评论数 0

原创 制作一个极简的 .NET 客户端应用自安装或自更新程序

本文主要说的是 .NET 客户端应用,可以是只能在 Windows 端运行的基于 .NET Framework 或基于 .NET Core 的 WPF / Windows Forms 应用,也可以是其他基于 .NET Core 的跨平台应用。但是不是那些更新权限受到严格控制的 UWP / iOS ...

2019-03-25 15:24:09

阅读数 284

评论数 0

原创 我收集的各种公有 NuGet 源

本文收集我发现的各种公共 NuGet 源。 本文内容如何添加本文介绍的 NuGet 源?官方 NuGet 源NuGet 镜像其他 NuGet 源私有 NuGet 源NuGet 网站 如何添加本文介绍的 NuGet 源? 请参见: 全局或为单独的项目添加自定义的 NuGet 源 官方 NuGe...

2019-03-25 15:23:04

阅读数 477

评论数 0

原创 电脑总是意外从睡眠状态唤醒,可以找出原因然后解决

在昏暗的夜晚,一个人躺在房间的床上,静静的思考着什么。突然间电脑屏幕亮了!什么鬼!到底是谁唤醒了我的电脑!!! 本文将介绍如何寻找唤醒电脑的真凶。 本文内容调查是谁唤醒了电脑查看还有谁可以唤醒电脑查看下一次计划的唤醒修复意外的唤醒 调查是谁唤醒了电脑 使用命令查看上一次是谁唤醒了电脑。 powe...

2019-03-25 15:22:00

阅读数 1314

评论数 0

原创 全局或为单独的项目添加自定义的 NuGet 源

本文介绍如何添加自定义的 NuGet 源。包括全局所有项目生效的 NuGet 源和仅在某些特定项目中生效的 NuGet 源。 你可以前往 我收集的各种公有 NuGet 源 以发现更多的 NuGet 源,然后使用本文的方法添加到你自己的配置中。 本文内容使用命令行添加在 Visual Studio...

2019-03-25 15:20:29

阅读数 304

评论数 0

原创 仅反射加载(ReflectionOnlyLoadFrom)的 .NET 程序集,如何反射获取它的 Attribute 元数据呢?

平时我们获取一个程序集或者类型的 Attribute 是非常轻松的,只需要通过 GetCustomAttribute 方法就能拿到实例然后获取其中的值。但是,有时我们仅为反射加载一些程序集的时候,获取这些元数据就不那么简单了,因为我们没有加载目标程序集中的类型。 本文介绍如何为仅反射加载的程序集读...

2019-03-25 15:19:15

阅读数 333

评论数 0

原创 Visual Studio 如何能够不进行编译就调试 .NET/C# 项目(用于解决大项目编译缓慢的问题)

.NET 托管程序的编译速度比非托管程序要快非常多,即便是 .NET Core,只要不编译成 Native 程序,编译速度也是很快的。然而总是有一些逗比大项目编译速度非常缓慢(我指的是分钟级别的),而且还没做好差量编译;于是每一次编译都需要等待几十秒到数分钟。这显然是非常影响效率的。 在解决完项目...

2019-03-25 15:17:08

阅读数 362

评论数 0

原创 专栏素材

2019-03-23 13:07:15

阅读数 124

评论数 0

原创 在 Windows 系统上降低 UAC 权限运行程序(从管理员权限降权到普通用户权限)

在 Windows 系统中,管理员权限和非管理员权限运行的程序之间不能使用 Windows 提供的通信机制进行通信。对于部分文件夹(ProgramData),管理员权限创建的文件是不能以非管理员权限修改和删除的。 然而,一个进程运行之后启动的子进程,会继承当前进程的 UAC 权限;于是有时我们会有...

2019-03-10 21:28:02

阅读数 1405

评论数 9

原创 为 WPF 程序添加 Windows 跳转列表的支持

Windows 跳转列表是自 Windows 7 时代就带来的功能,这一功能是跟随 Windows 7 的任务栏而发布的。当时应用程序要想用上这样的功能需要调用 shell 提供的一些 API。 然而在 WPF 程序中使用 Windows 跳转列表功能非常简单,在 XAML 里面就能完成。本文将介...

2019-03-10 21:26:30

阅读数 184

评论数 0

原创 Windows 上的应用程序在运行期间可以给自己改名(可以做 OTA 自我更新)

程序如何自己更新自己呢?你可能会想到启动一个新的程序或者脚本来更新自己。然而 Windows 操作系统允许一个应用程序在运行期间修改自己的名称甚至移动自己到另一个文件夹中。利用这一点,我们可以很简单直接地做程序的 OTA 自动更新。 本文将介绍示例程序运行期间改名并解释其原理。 本文内容在程序运...

2019-03-10 21:24:32

阅读数 248

评论数 0

原创 .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化

最近我大幅度重构了我一个库的项目结构,使之使用最新的项目文件格式(基于 Microsoft.NET.Sdk)并使用 SourceYard 源码包来打包其中的一些公共代码。不过,最终生成了一个新的 dll 之后却心有余悸,不知道我是否删除或者修改了某些 API,是否可能导致我原有库的使用者出现意料之...

2019-03-10 21:22:31

阅读数 121

评论数 0

原创 如何更精准地设置 C# / .NET Core 项目的输出路径?(包括添加和删除各种前后缀)

我们都知道可以通过在 Visual Studio 中设置输出路径(OutputPath)来更改项目输出文件所在的位置。对于 .NET Core 所使用的新 csproj 格式来说,你可能会发现实际生成路径中带了 netcoreapp3.0 或者 net472 这样的子文件夹。 然而有时我们并不允许...

2019-03-10 21:19:31

阅读数 1145

评论数 0

原创 使用 Visual Studio 调试多进程的程序

当你的编写的是一个多进程的程序的时候,调试起来可能会比较困难,因为 Visual Studio 默认只会把你当前设置的启动项目的启动调试。 本文将介绍几种用 Visual Studio 调试多进程程序的方法,然后给出每种方法的适用条件和优劣。 本文内容Visual Studio 多启动项目(推荐...

2019-03-04 08:21:38

阅读数 1319

评论数 0

原创 将 svn 仓库迁移到 git 仓库

我找到了一个很久很久以前编写的项目,然而当时是使用 svn 进行版本管理的。然而现在的版本管理全部是 git,不愿意再装一个 svn 工具来管理这些古老的项目,于是打算将其迁移到 git 中。 本文介绍如何将古老的 svn 项目迁移到 git。 本文内容找回 svn 仓库的 url将 svn 仓...

2019-03-04 08:13:01

阅读数 857

评论数 0

原创 使用一句 git 命令将仓库的改动推送到所有的远端

git 支持一个本地仓库包含多个远端(remote),这对于开源社区来说是一个很重要的功能,可以实时获取到最新的开源代码且能推送到自己的仓库中提交 pull request。 有时候多个远端都是自己的,典型的就是 GitHub Pages 服务了,推送总是希望这几个远端能够始终和本地仓库保持一致。...

2019-03-04 08:11:18

阅读数 253

评论数 0

原创 .NET/C# 获取一个正在运行的进程的命令行参数

在自己的进程内部,我们可以通过 Main 函数传入的参数,也可以通过 Environment.GetCommandLineArgs 来获取命令行参数。 但是,可以通过什么方式来获取另一个运行着的程序的命令行参数呢? 进程内部获取传入参数的方法,可以参见我的另一篇博客:.NET 命令行参数包含应用...

2019-03-04 08:10:39

阅读数 1078

评论数 0

原创 .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args

我们通常得到的命令行参数是一个字符串数组 string[] args,以至于很多的命令行解析库也是使用数组作为解析的参数来源。 然而如我我们得到了一整个命令行字符串呢?这个时候可能我们原有代码中用于解析命令行的库或者其他辅助函数不能用了。那么如何转换成数组呢? 在 Windows 系统中有函数 ...

2019-03-04 08:09:14

阅读数 441

评论数 0

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