I've been using and writing about the Spectre.Console project to easily build console applications for a long time now. Read about building Spectre.Console apps here. As I've been working with this library, I have duplicated code in various projects that should really be shared... like the ITypeRegistrar and ITypeResolver for different Dependency Injection (DI) frameworks. … Continue reading Announcing Spectre.Console.Extensions Project
This article has great examples of using the CSS Isolation feature in on Blazor components. Being able to package up CSS closer to the actual component definitely makes it easier to layout your component the way you want without a huge css file in your project. It also helps with reuse because the CSS for … Continue reading CSS Isolation in Blazor Components
I was working on GitHub on a new project and wanted to build and locally publish some NuGet packages in that repository. While doing a bunch of searching on the web, I found this article by Andrew Craven extremely useful: A NuGet package workflow using GitHub Actions!
I had my machine upgraded to Windows 11. There are some cool changes in the new version, but one I definitely didn't like was the center-pinned taskbar. Luckily, I found this helpful article about how to move the taskbar back to the left corner: https://screenrant.com/windows-11-move-taskbar-left-how-tutorial/.
Blazor: learn to build simple UI with layout, components, data access, form fields with validation, and more. https://t.co/0K1flB8pkh
Blazor components and pages can have normal HTML hyperlinks and navigation driven in code. Both forms allow users to move between pages. Blazor has the NavigationManager which allows our code to perform URL navigations. And, bUnit provides a mock NavigationManager to allow test code to request a navigation without actually performing it. Under our test … Continue reading How-To: Verify Blazor Navigation in bUnit
As our logic continues to grow and our testing requirements increase, we will find that it is more efficient to separate our application logic from the rendering logic on pages. This split helps us separate these concerns and build cleaner pages. Also, having the logic within a separate C# class allows us to unit test … Continue reading How-To: Use Class File for Blazor Logic Code
Our Table repository is complete and tested, so now we need to surface this new repository to our game services. We will continue to follow the pattern we used throughout this chapter: create typed repository builders and add mapping data to the RepositoryFactory to get these new instances. However, because we are starting to get … Continue reading Lesson 6.7: Surface TableStorageReadRepository to Game Services
In Blazor, sometimes our page code becomes large and cumbersome. Rather than keep all of the HTML markup and C# code in the same .razor file, we can split our markup and code into separate files. Blazor supports creating code-behind files for the .razor file (similar to other .NET technologies like WinForms, ASP.NET, WPF, etc). … Continue reading How-To: Use Blazor Code-Behind File
Now that we have our game data in Azure Table Storage, we need a mechanism for loading that data into our services. To support this, we will implement a new instance IReadableRepository that encapsulates all of the logic for fetching data from Table Storage. The TableStorageReadRepository will follow the pattern that we developed for InMemoryReadRepository … Continue reading Lesson 6.6: Create Table Storage Repository