Year: 2018

CI / CD Pipeline – Part 3

Last time we finished a complete CI / CD pipeline capable of detecting source code changes in a GITHUB repository then building those changes on an APPVEYOR builder server and deploying them to a NUGET account. This time I thought […]

CI / CD Pipeline – Part 2

Photo by Martin Brechtl on Unsplash In this series of articles I am discussing the CI / CD process I use to automatically build and deploy any changes I make to my various NUGET projects. We finished last time by creating a Visual […]

CI / CD Pipeline – Part 1

Most of the code that I publish here on CODEGATOR is packaged up as NUGET packages. That’s because NUGET packages are easy to build, easy to publish, easy to download, and the Package Manager takes care of little things like […]

Temporary File Stream

Photo by Dil Assi on Unsplash One of the tools I use for generating temporary files is a class I wrote about eight years ago called TempFileStream. The class combines several useful aspects of working with temporary files, including: (1) code to generate […]

Mixed Base Formatter

Photo by Ales Nesetril on Unsplash Introduction The .NET framework provides a variety of options for converting objects, enums and structs into string representations. The trusty ToString method is always handy and, of course, there are plenty of variants that allow for the […]

Plugin – part 3

Review Last time I covered the internals of the CG.Plugin.FileSystem NUGET package, which contains a loader strategy for the CG.Plugin NUGET package. This time I’ll cover another loader strategy, this time one from the CG.Plugin.Reflection package. That package uses reflection […]

Plugin – part 2

Review Last time I covered the internals of the CG.Plugin NUGET package, which contains a plugin mechanism for .NET applications. In that article I left out the implementation of the loader strategies, which is the code that loads the command […]

Plugin – part 1

Background The concept of a software plugin is something that’s been around since at least the early ‘70s – maybe longer. I personally remember writing plugins in C and C++ as far back as the late ‘80s or early ‘90s. […]

Configuration – Part 2

Review Last time we covered the construction of a .NET Core based REST web application that served up a shared collection of configuration values. The service also used a backchannel based on SignalR, for notifying clients about any changes to […]