- Add package to project from nuget.org. More instructions to get started with consuming nuget packages can be found on learn.microsoft.com
 - All tools are under the 
IntelliTect.Multitoolnamespace. - That's it! Please open an issue if you have any problems with any of these steps or have other questions.
 
ReleaseDateAttribute - Gets an UTC DateTime of compile time. Allows us to determine the build date/time
Blog Post/Additional Information: How To Display the Build Date of a .NET Application
- 
Assignment of GetReleaseDate() to a local variable
DateTime? date = IntelliTect.Multitool.ReleaseDateAttribute.GetReleaseDate(); // Returns a datetime in UTC to date
 - 
Displaying GetReleaseDate() on a cshtml page
// This example is in cshtml. @IntelliTect.Multitool.ReleaseDateAttribute.GetReleaseDate() // Returns a datetime in UTC - 
Converting and displaying GetReleaseDate() on a cshtml page
// convert this UTC DateTime object into one for my local timezone that is formatted in a “d MMM, yyyy h:mm:ss tt” (ex: 8 Feb, 2023 11:36:31 AM). // The following code will format the date and convert it to my local time zone of Pacific Standard Time. Build: @if (IntelliTect.Multitool.ReleaseDateAttribute.GetReleaseDate() is DateTime date) { @TimeZoneInfo.ConvertTimeFromUtc(date, TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")).ToString("d MMM, yyyy h:mm:ss tt", CultureInfo.InvariantCulture) } // Result is "Build: 8 Feb, 2023 11:36:31 AM"
 
- To help hot reload in visual studio work properly, the release date attribute will be automatically be generated during compilation on a CI runner, but it won’t generate locally by default. If you want it to generate locally, set the 
ReleaseDateAttributeto true within a property group in your project file. (<ReleaseDateAttribute>true</ReleaseDateAttribute>) 
RepositoryPaths - Provides consistent environment-independent normalized pathing within a git repository
- 
Get file path from the root of a repository
// In this case, the GetDefaultRepoRoot() method can be used to get the root of a repository. string fullPathToTheFile = Path.Combine(IntelliTect.Multitool.RepositoryPaths.GetDefaultRepoRoot(), "TheFile.txt");
 
- StringExtensions: Extension methods for 
System.StringValidateUrlString: Extension method to validate a URL string by checking to make sure the string is formatted correctly.CreateUrlSlug: Extension method modify a string so that it is URL compatible
 - SystemLinqExtensions
WhereNotNull: Extension method to allow return of non-null value from a null object.- 
Sample:
List<string?> listWithSomeNullValues = ["this", null, "is", null, "my", null, "favorite", null]; List<string> listWithoutNullValues = listWithSomeNullValues.WhereNotNull().ToList(); // returns ["this", "is", "my", "favorite"]
 - 
On:
System.Linq.Generic.IEnumerable<T>
 
- 
 
 
See the CONTRIBUTING.md file here.
If you have any problems, please feel free to check for existing issues or open a new issue.