I am thrilled to announce the release of Spargine, my open-source assemblies, and NuGet packages designed for .NET 8 & 9! These assemblies encapsulate the foundational code I have been developing since the early days of .NET 2. I am not only a devoted user of these assemblies in all of my projects, but they are also currently in production at my current company.
GitHub: https://github.com/RealDotNetDave/dotNetTips.Spargine.10/
NuGet: http://bit.ly/dotNetDaveNuGet
Assemblies
Here is the list of assemblies, with more to come. Each assembly is accompanied by a brief description:
dotNetTips.Spargine.Core
This assembly contains crucial code that is utilized by all other assemblies. It encompasses a wide array of functionalities.
dotNetTips.Spargine.Extensions
This assembly contains a comprehensive collection of extension methods utilized by various assemblies.
dotNetTips.Spargine
dotNetTips.Spargine.Tester
This assembly was derived from DotNetTips.Utility.Core.Tester to facilitate unit tests and benchmarking tests. The primary class within this assembly is named RandomData, designed to assist in generating random data. It employs new record class types introduced in .NET 5, along with methods for data generation.
I find this assembly indispensable and utilize it extensively in all of my unit tests and benchmark tests!
dotNetTips.Spargine.Benchmarking
With the implementation of multiple benchmarking test projects using BenchMarkDotnet, a strategic decision was made to centralize the common code for these projects in a new assembly, namely DotNetTips.Spargine.Benchmarking. The key classes in this assembly are as follows:
- Benchmark: This class serves as the base class for all benchmark tests, offering essential common information and setting a default configuration through attributes. It facilitates the configuration of export formats and ordering for the benchmarks.
- CounterBenchmark: Featuring a counter, this class plays a crucial role in most of the benchmark tests. It enables the tests to run with multiple collection counts, which in turn generates data for testing purposes. Additionally, the CounterBenchmark class pre-creates several collections that are commonly used in testing.
- CollectionBenchmark: This class is utilized for all benchmark tests related to collection types.
Thanks to this new assembly, creating new benchmarking projects and classes becomes significantly easier and ensures consistency throughout the process!
Articles (Documentation)
Unit Testing
I am looking for more unit tests for these assemblies! If you are interested in contributing by writing unit tests, please feel free to reach out to me at dotnetdave@live.com. By participating, you will have the opportunity to have your name listed as a contributor, which could be a valuable addition to your job interviews. Additionally, I’ll send you some cool dotNetTips.com swag as a token of appreciation. If you reside in the United States, I’ll even send you one of my books (while supplies last).
On another note, I’ve been eagerly waiting for IntelliTests to work with .NET 7. It would have made my work much more efficient. If you share the same sentiment and want IntelliTests back in .NET 7, please show your support by voting at the following link: https://developercommunity.visualstudio.com/idea/359250/add-intellitest-support-for-net-corestandard.html.
Thank you for your support and contributions!
Call for Contributors!
Are you interested in contributing to our project? If you have some useful code that you’ve written and would like to share, we encourage you to participate! Simply download the source code, make your enhancements, and then submit a pull request.
Please ensure that you adhere to the coding standards outlined in my book to increase the chances of your contribution being accepted. If your pull request is accepted, you’ll receive some cool dotNetTips.com swag as a token of our appreciation. If you reside in the U.S., you might even receive one of my books (while supplies last). As I haven’t been able to speak in person for over a year, I have accumulated quite a bit of swag at home!
To start contributing, please visit our GitHub repository: https://github.com/RealDotNetDave/dotNetTips.Spargine
Summary
Please take a look at these assemblies. Keep an eye on this site for upcoming quarterly releases! If you have any comments or suggestions, feel free to share them below. I am constantly seeking new ideas for these open-source projects!
Spargine Dev Tool
Introducing the Spargine Dev Tool, a powerful utility designed specifically for Microsoft .NET developers like you. This indispensable tool has been crafted to enhance your daily development workflow, and I’m thrilled to share it with you!
Pick up any books by David McCarter by going to Amazon.com: http://bit.ly/RockYourCodeBooks
Make a one-time donation
Make a monthly donation
Make a yearly donation
Choose an amount
Or enter a custom amount
Your contribution is appreciated.
Your contribution is appreciated.
Your contribution is appreciated.
DonateDonate monthlyDonate yearlyIf you liked this article, please buy David a cup of Coffee by going here: https://www.buymeacoffee.com/dotnetdave
© The information in this article is copywritten and cannot be preproduced in any way without express permission from David McCarter.


You must be logged in to post a comment.