如何在 MSBuild Target(Exec)中报告编译错误和编译警告

我曾经写过一篇文章 如何创建一个基于命令行工具的跨平台的 NuGet 工具包,通过编写一个控制台程序来参与编译过程。但是,相比于 基于 Task 的方式,可控制的因素还是太少了。

有没有什么办法能够让控制台程序也能与 MSBuild Target 之间发生更多的信息交换呢?比如报告编译错误和编译警告?答案是有的,通过格式化控制台输出。

Grid 布局算法!自己动手实现一个 Grid

Avalonia 是一款尚在开发中的基于 .NET Core 的跨平台 UI 框架。目前用在个人项目中还是不错的,不过还需要大家在开源社区中多多支持。

我为它写了一个全新的 Grid 布局算法,此算法是 WPF 在通常情况下的性能的两倍。本文将分享我在此项目中实现的算法的原理。