Building a NuGet Packages Architecture Part 6 - Enhancing your packages
Published 2 years ago
Welcome to the last episode in the article series on building a NuGet packages architecture for your own software development purposes. This is the last part in a series of 6 articles about building a software architecture based on NuGet packages and feeds. In this series you will see:
- How to refactor your codebase to make it work with packages
- How to build packages on your local machine
- How to build packages using an Azure build pipeline and add the generated packages to a feed
- How to consume your packages in your applications
- Different ways to improve usage of your packages and types with service registration methods
- Various tips and tricks to enhance your package and how to use them
You'll find all the articles in the series here:
In this article I'll wrap up the series by providing some additional tips and tricks to improve your packages, their usability and your development process using packages in general. In particular, I'll discuss:
- How to add additional metadata and an icon to your package
- How to add XML documentation for the types in your packages
- How to add unit tests and run them as part of your build pipeline
- How to debug the code in your packages
If you're interested in purchasing the entire article series now as a 60+ page PDF document, check out this post: Introducing a new article series: Building a NuGet packages architecture.
Read on ...Building a NuGet Packages Architecture Part 5 – Service Registration Methods
Published 2 years ago
This is part 5 in a series of 5 articles about building a software architecture based on NuGet packages and feeds. In this series you will see:
- How to refactor your codebase to make it work with packages
- How to build packages on your local machine
- How to build packages using an Azure build pipeline and add the generated packages to a feed
- How to consume your packages in your applications
- Different ways to improve usage of your packages and types with service registration methods
- Various tips and tricks to enhance your package and how to use them
You'll find all the articles in the series here:
In this part you see different ways to add service registration methods to your packages, making consuming and configuring your types simple and straightforward.
If you're interested in purchasing the entire article series now as a 60+ page PDF document, check out this post: Introducing a new article series: Building a NuGet packages architecture.
Read on ...Building a NuGet Packages Architecture Part 4 - Consuming packages and managing changes
Published 2 years ago
This is part 4 in a series of 6 articles about building a software architecture based on NuGet packages and feeds. In this series you will see:
- How to refactor your codebase to make it work with packages
- How to build packages on your local machine
- How to build packages using an Azure build pipeline and add the generated packages to a feed
- How to consume your packages in your applications
- Different ways to improve usage of your packages and types with service registration methods
- Various tips and tricks to enhance your package and how to use them
You'll find all the articles in the series here:
In this article I'll complete the process of migrating to a package-based architecture by updating the demo application. I'll remove all project references and replace them with a package reference instead.
If you're interested in purchasing the entire article series now as a 60+ page PDF document, check out this post: Introducing a new article series: Building a NuGet packages architecture.
Read on ...Building a NuGet Packages Architecture Part 3 - Adding packages to a feed using a pipeline in Azure DevOps
Published 2 years ago
This is part 3 in a series of 6 articles about building a software architecture based on NuGet packages and feeds. In this series you will see:
- How to refactor your codebase to make it work with packages
- How to build packages on your local machine
- How to build packages using an Azure build pipeline and add the generated packages to a feed
- How to consume your packages in your applications
- Different ways to improve usage of your packages and types with service registration methods
- Various tips and tricks to enhance your package and how to use them
You'll find all the articles in the series here:
In the previous article you saw how to create packages from your projects on your local machine. In this article I'll take these concepts a step further and set up a build pipeline in Azure DevOps to automatically build NuGet packages and publish them to a feed so they can be accessed by Visual Studio and other tools.
If you're interested in purchasing the entire article series now as a 60+ page PDF document, check out this post: Introducing a new article series: Building a NuGet packages architecture.
Read on ...Fixing the error "rzc rewritecss exited with code -2147450730."
Published 2 years ago
While working on an existing .NET Core project I ran into a number of SSL issues (where suddenly certain ports on my localhost would no longer serve up a site with a valid SSL certificate). In order to rule out an issue with my existing project, I created a new .NET Core 6.0 web application. However, that failed to compile and presented me with this error message:
rzc rewritecss exited with code -2147450730.
I searched Google and found a few references to this error but they all seemed to deal with .NET Core 3.x and none of the answers worked for me.
Read on ...Building a NuGet Packages Architecture Part 2 - Building packages
Published 2 years ago
This is part 2 in a series of 6 articles about building a software architecture based on NuGet packages and feeds. In this series you will see:
- How to refactor your codebase to make it work with packages
- How to build packages on your local machine
- How to build packages using an Azure build pipeline and add the generated packages to a feed
- How to consume your packages in your applications
- Different ways to improve usage of your packages and types with service registration methods
- Various tips and tricks to enhance your package and how to use them
You'll find all the articles in the series here:
In this second article, I'll take the application I refactored in part 1 and build packages locally from the projects I extracted out to a separate solution. I'll also show you how to test and use your packages locally. Part 3 then shows you how to automate this process with an Azure DevOps build pipeline.
If you're interested in purchasing the entire article series now as a 60+ page PDF document, check out this post: Introducing a new article series: Building a NuGet packages architecture.
Read on ...Building a NuGet Packages Architecture Part 1 - Introduction
Published 2 years ago
This is part 1 in a series of 6 articles about building a software architecture based on NuGet packages and feeds. In this series you will see:
- How to refactor your codebase to make it work with custom NuGet packages
- How to build packages on your local machine
- How to build packages using an Azure build pipeline and add the generated packages to a feed
- How to consume your packages in your applications
- Different ways to improve usage of your packages and types with service registration methods
- Various tips and tricks to enhance your package and how to use them
You'll find all the articles in the series here:
In this first article, I'll set the stage with an introduction to NuGet and the sample application I'll use throughout this article series. You'll see how I refactored my code so I can extract packages from it. In part 2 I'll then show you how to create packages from these refactored projects on your local machine. Later articles then show you how to build these packages automatically and add them to a feed using an automated Azure DevOps pipeline.
If you're interested in purchasing the entire article series now as a 60+ page PDF document, check out this post: Introducing a new article series: Building a NuGet packages architecture.
Read on ...Improving your ASP.NET Core site's file handling capabilities – part 2 – Data migration
Published 3 years ago
In part 1 of this article, I showed you how to hide file management in an ASP.NET Core application behind an interface and how to build concrete implementations of File Providers that target the local filesystem and Azure storage. With that setup, the application can work with files without knowing where they are stored. This in turn makes it easy to move away from files on the local filesystem to files in a remote location like Azure storage and also facilitates unit testing.
But how do you actually switch your data from one storage location to another? That's the topic of this article.
Read on ...Improving your ASP.NET Core site's file handling capabilities – part 1 – Introduction
Published 3 years ago
In a previous article I talked about hiding email capabilities behind an interface to make your code easier to unit test, to centralize configuration and to make it simple to switch to a completely different solution such as a cloud-based email handler like SendGrid, MailChimp or MailGun. Instead of newing up an SmtpClient directly, I created an interface called IMailSender and several concrete implementations that handle the sending of email differently (such as storing it on disk as .eml messages, sending it over SMTP or sending it with SendGrid).
In this article (and the next) I am going to talk about a similar improvement: handling files in a filesystem. I'll show you how to hide file handling - reading, writing and deleting files - behind an interface, similar to how I hid the emailing details behind IMailSender. I'll then create two concrete implementations: one using the local filesystem, the other using Azure storage. I'll then show you how to use dependency injection to inject one of the concrete classes at run-time to determine where your files are located and how to access them. With this setup, it's easy to write code to target yet another (remote) file storage solution like Box or OneDrive and plug that in without making any changes your application code.
Read on ...Building and auto-deploying an ASP.NET Core application - Part 7 - Improving your build and release processes
Published 3 years ago
This is the last part in a series of 7 articles showing you how to build a database-driven ASP.NET Core 5.0 app and deploy it to a remote web server using continuous integration and deployment with GitHub and Azure DevOps. In this final part I'll touch on two improvements you can make to the process you've seen in the earlier articles. In particular, I'll show you how to set up your own build agent to build your software on a custom server rather than on a standard Azure DevOps agent to speed up the build process. I'll also show you how you can minimize downtime when deploying your site to a Microsoft Azure App Service by using deployment slots. This article closes with a quick summary of all I've discussed in this series of articles.
If you haven't read the earlier parts in this series yet, you're encouraged to do that now. Here's the full list of the articles in the series:
- Introduction
- Creating the web application
- Using GitHub and managing change in your application
- Setting up a CI Pipeline in Azure DevOps
- Setting up a CD pipeline: Deploying with web deploy to a Virtual Machine or on-premises server
- Setting up a CD pipeline: Deploying to an Azure App Service
- Improving your builds with a custom build agent and Azure Deployment Slots (you're reading it now)
Mobile: False
Crawler: True
I: False