J4JSoftware.DependencyInjection 2.3.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package J4JSoftware.DependencyInjection --version 2.3.1                
NuGet\Install-Package J4JSoftware.DependencyInjection -Version 2.3.1                
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="J4JSoftware.DependencyInjection" Version="2.3.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add J4JSoftware.DependencyInjection --version 2.3.1                
#r "nuget: J4JSoftware.DependencyInjection, 2.3.1"                
#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 J4JSoftware.DependencyInjection as a Cake Addin
#addin nuget:?package=J4JSoftware.DependencyInjection&version=2.3.1

// Install J4JSoftware.DependencyInjection as a Cake Tool
#tool nuget:?package=J4JSoftware.DependencyInjection&version=2.3.1                

J4JSoftware.DependencyInjection

The J4JHostConfiguration API allows you to create objects implementing the IJ4JHost interface. That interface extends Microsoft's IHost interface to include:

  • the app publisher's name;
  • the application name;
  • the path to where user configuration files are stored (and the paths to individual user configuration files);
  • the path to where application configuration files are storedf (and the paths to individual application configuration files);
  • a flag indicating whether or not the operating system the code is running on has a case sensitive filesystem;
  • various items related to how the command line is parsed:
    • the StringComparison object used to compare text entered on the command line to programmatic values;
    • (optional) the text tokens that serve as lexical elements (e.g., the key prefix, the character(s) used to demarcate strings, etc.) on the command line;
    • the options defined for command line processing;
  • the operating system the code is running on; and,
  • the environment in which the code is running (e.g., console, WPF, WPF in design mode, etc.)

The IJ4JHost instance provides a number of useful services:

  • (optional) logging (via J4JLogger)
  • simple data protection (i.e., encryption and decryption of strings, via Microsoft.AspNetCore.DataProtection)
  • (optional) command line parsing (via J4JCommandLine)
  • dependency injection (via Autofac)

This assembly targets Net 7 and has nullability enabled.

The repository is available online at github.

Sandboxed refers to whether or not the app has, potentially, unfettered access to the filesystem. Modern desktop apps (e.g., Windows Application v3 aka WinApp3, and, I think, UWP) are sandboxed, at least so far as storing application data is concerned. Older desktop environments (e.g., Windows Forms, WPF) are not sandboxed.

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on J4JSoftware.DependencyInjection:

Package Downloads
J4JSoftware.GeoProcessor

a library for processing GPX, KML and KMZ files, and snapping GPS tracks to roadways

J4JSoftware.WPFUtilities

utilities for console applications

J4JSoftware.GeoProcessorApp

a console application for processing GPX, KML and KMZ files, and snapping GPS tracks to roadways

J4JSoftware.GeoProcessorWPF

a WPF application for processing GPX, KML and KMZ files, and snapping GPS tracks to roadways

J4JSoftware.DeusWinApp

provides J4JDeusEx support for Windows Apps (WinUI 3)

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.6.0 203 5/2/2023
2.5.1 216 4/11/2023
2.5.0 195 4/4/2023
2.4.0 305 1/15/2023
2.3.3 298 1/8/2023
2.3.2 299 1/8/2023
2.3.1 292 1/1/2023
2.3.0 291 12/27/2022
2.2.0 440 2/28/2022
2.1.1 568 11/21/2021
2.1.0 303 11/12/2021
2.0.1 929 9/29/2021
2.0.0 1,023 9/28/2021
1.1.0 1,016 2/3/2021
1.0.0 438 1/21/2021
0.8.0 370 1/9/2021

make file system case sensitivity configurable but set by default