This package is part of the "SingleFile.VB" collection that consists of small utilities in the form of VB.NET source files, usually two of them per package, namely the code file and the test file (Microsoft standard unit tests) as well as the license files that are shared over all "Single.VB" packages.

Some philosophy:

Extension methods and other static utility functions are not shared accross projects resp. assemblies but included wherever they are needed. For that reason they are declared "Friend" and namespace-less as they are supposed to be part of the project's current namespace.

Unit test files are added directly to the project and declared "Public" because of limitations of that framework, but they are only compiled in debug mode (through a compiler directive that checks for the "DEBUG" keyword). This allows to keep the tests very near to the code which simplifies access to internal members but does not bulk the published version. The reference to "Microsoft.​VisualStudio.​TestTools.​UnitTesting" (assembly "Microsoft.​VisualStudio.​QualityTools.​UnitTestFramework.dll") is only needed during development and may be declared with "Copy Local = False".

The NuGet package version is global across all "Single.VB" packages, and they always reference other packages of the same version (most recent at the time of publishing). This greatly simplifies my dependency handling and therefore improves the quality of the NuGet packages, but may leed to an updated package that does not contain any code change. I apologize for that inconvenience.