Fridathon: unstructured learning or hacking you can opt-in to do on any random Friday.
In this second installment of the series, I showcase the basic core concepts in MSBuild that will get you up and running quickly, with concrete examples to try out the various constructs.
Building like a Pro: Introduction
This is the first of a series of posts where I intend to explore the challenges and showcase approaches to building a product using MSBuild, beyond just building a `.csproj` or `.sln` of course ;).
Serverless custom Visual Studio gallery with Azure Functions
How to create a custom Visual Studio extensions gallery leveraging Azure Functions.
How to migrate CallContext to .NETStandard and .NETCore
If you need to flow data out of band like CallContext did in .NET, here's how in the new world.
Developer Command Prompt in Visual Studio Code Integrated Terminal
How to configure the VS Code integrated terminal to launch into a VS developer command prompt by default.
Leveraging Azure Functions for MIT AppInventor Web Interactions
The MIT AppInventor platform is awesome to teach kids programming concepts while building an actual Android app. Interacting with the web is super painful, however, and Azure Functions can provide the missing link.
How to nuke the Visual Studio MEF component model cache from an MSI
Sometimes Visual Studio just won't refresh the MEF cache properly after you install a new extension via an MSI. This is how you can nuke the cache cleanly.
Access Git Information from MSBuild and Code
Leveraging Git information can be quite useful for generating version numbers, logging information at runtime, embedding it in assemblies and so on. Here's one way to do it easily and in a cross-platform way.
Xamarin Mac Build Host Versioning
How Xamarin versions the build host across Visual Studio versions to make it future-proof in a side-by-side world.
XBuild Achilles Heels
XBuild at first seems like a pretty usable implementation of MSBuild for *nix. Its shortcomings are too many to ignore though. Here are my 'favorites'...