IntelliTect.Multitool
1.5.2
dotnet add package IntelliTect.Multitool --version 1.5.2
NuGet\Install-Package IntelliTect.Multitool -Version 1.5.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="IntelliTect.Multitool" Version="1.5.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add IntelliTect.Multitool --version 1.5.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: IntelliTect.Multitool, 1.5.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install IntelliTect.Multitool as a Cake Addin #addin nuget:?package=IntelliTect.Multitool&version=1.5.2 // Install IntelliTect.Multitool as a Cake Tool #tool nuget:?package=IntelliTect.Multitool&version=1.5.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
IntelliTect.Multitool:
Install Instructions
- 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.Multitool
namespace. - 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
Samples:
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"
Miscellaneous Information:
- 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
ReleaseDateAttribute
to true within a property group in your project file. (<ReleaseDateAttribute>true</ReleaseDateAttribute>
)
RepositoryPaths - Provides consistent environment-independent normalized pathing within a git repository
Samples:
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");
Security
- ClaimsPrincipalExtensions: Extension methods to get a user ID and roles.
GetUserId
GetRoles
Extensions
- StringExtensions: Extension methods for
System.String
ValidateUrlString
: 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
- HttpExtensions: Extension methods for
System.Net.Http.HttpClient
ValidateUri
: Extension methods to validate a Uri by attempting to make a GET request to it. - 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>
Contributing
See the CONTRIBUTING.md file here.
If you have any problems, please feel free to check for existing issues or open a new issue.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.1
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on IntelliTect.Multitool:
Repository | Stars |
---|---|
IntelliTect/EssentialCSharp
This project contains the source code for the book Essential C# by Mark Michaelis (Addison-Wesley).
|