Arc4u.Dependency.Tool
1.0.0
Prefix Reserved
See the version list below for details.
dotnet add package Arc4u.Dependency.Tool --version 1.0.0
NuGet\Install-Package Arc4u.Dependency.Tool -Version 1.0.0
<PackageReference Include="Arc4u.Dependency.Tool" Version="1.0.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="Arc4u.Dependency.Tool" Version="1.0.0" />
<PackageReference Include="Arc4u.Dependency.Tool"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add Arc4u.Dependency.Tool --version 1.0.0
#r "nuget: Arc4u.Dependency.Tool, 1.0.0"
#:package Arc4u.Dependency.Tool@1.0.0
#addin nuget:?package=Arc4u.Dependency.Tool&version=1.0.0
#tool nuget:?package=Arc4u.Dependency.Tool&version=1.0.0
Arc4u.Dependency.Tool
The Arc4u.Dependency.Tool contains 2 code generators.
AttributeGenerator
This code generator will analyze the code and see if an ExportAttribute from Arc4u exits. If yes, the code will check if SharedAttribute or ScopedAttribute is present.
Based on this evaluation the code generator will generate the corresponding registration in IServiceCollection.
Example:
[Export(typeof(ITest), Scoped]
public Test : ITest
{
}
The Generator will generate:
services.AddTransient<ITest, Test>();
If a name is added to the export, we will have:
[Export("key", typeof(ITest), Scoped]
public Test : ITest
{
}
The Generator will generate:
services.AddKeyedTransient<ITest, Test>("key");
The name of the extension method is based on the name of the Assembly. Assembly name = xxx.Host ⇒ RegisterHostTypes.
GenerateRegisteredTypes
Arc4u.Dependency let you add types in a json file to register them in the IServiceCollection.
The same capability is offered but by inspecting the nuget packages dll and validating that the expected type is present, if yes the entry is generated.
Example:
{
"Application.Dependency": {
"Assemblies": [
],
"RegisterTypes": [
"Arc4u.Caching.Memory.MemoryCache, Arc4u.Caching.Memory"
]
}
}
The Arc4u MemoryCache is defined in the Arc4u.Caching.Memory package and contains the following ExportAttribute:
[Export("Memory", typeof(ICache))]
public class MemoryCache : BaseDistributeCache<MemoryCache>, ICache
{
}
The code generator will generate the following code:
services.AddKeyedTransient<Arc4u.Caching.ICache, Arc4u.Caching.Memory.MemoryCache>("Memory");
The extension method is named: RegisterTypes.
Attention. The target project must add an AddtionnalFile entry including the "Configs\appsettings.json".
<ItemGroup>
<AdditionalFiles Include="Configs\appsettings.json" />
</ItemGroup>
| 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 9.0.0-preview31 | 87 | 5/20/2026 |
| 9.0.0-preview30 | 90 | 5/19/2026 |
| 9.0.0-preview29 | 95 | 5/15/2026 |
| 9.0.0-preview28 | 86 | 5/15/2026 |
| 9.0.0-preview27 | 86 | 5/14/2026 |
| 9.0.0-preview26 | 86 | 5/14/2026 |
| 9.0.0-preview25 | 88 | 5/13/2026 |
| 9.0.0-preview24 | 88 | 5/6/2026 |
| 9.0.0-preview23 | 113 | 3/19/2026 |
| 9.0.0-preview22 | 108 | 3/18/2026 |
| 9.0.0-preview21 | 120 | 3/8/2026 |
| 9.0.0-preview20 | 119 | 2/11/2026 |
| 9.0.0-preview19 | 135 | 2/5/2026 |
| 9.0.0-preview18 | 115 | 2/4/2026 |
| 9.0.0-preview17 | 109 | 2/3/2026 |
| 9.0.0-preview16 | 129 | 1/19/2026 |
| 9.0.0-preview15 | 325 | 12/17/2025 |
| 9.0.0-preview14 | 285 | 12/16/2025 |
| 9.0.0-preview13 | 283 | 12/16/2025 |
| 1.0.0 | 217 | 9/11/2025 |