Franz.Common.Reflection
3.0.0
dotnet add package Franz.Common.Reflection --version 3.0.0
NuGet\Install-Package Franz.Common.Reflection -Version 3.0.0
<PackageReference Include="Franz.Common.Reflection" Version="3.0.0" />
<PackageVersion Include="Franz.Common.Reflection" Version="3.0.0" />
<PackageReference Include="Franz.Common.Reflection" />
paket add Franz.Common.Reflection --version 3.0.0
#r "nuget: Franz.Common.Reflection, 3.0.0"
#:package Franz.Common.Reflection@3.0.0
#addin nuget:?package=Franz.Common.Reflection&version=3.0.0
#tool nuget:?package=Franz.Common.Reflection&version=3.0.0
Franz.Common.Reflection
Focused reflection helpers, assembly wrappers, type-inspection extensions, and host assembly loading.
Overview
This package contains small reflection abstractions and helpers. It does not provide a general-purpose assembly scanning DI container or a service-registration convention engine.
Installation
dotnet add package Franz.Common.Reflection
Assembly abstractions
IAssemblyexposes the wrapped assembly's name and full name.AssemblyWrapperadapts aSystem.Reflection.Assembly.IAssemblyAccessorexposes the entry assembly abstraction.AssemblyAccessorWrapperresolvesAssembly.GetEntryAssembly(), falling back to the executing assembly.
AddCallingAssembly(assembly) registers an IAssemblyAccessor. The optional assembly parameter is currently not used to select the returned assembly; the accessor resolves the process entry assembly. Do not rely on that argument to override the entry assembly.
Host assembly loading
LoadAssemblyReferencedNotLoaded(entryAssembly) scans AppContext.BaseDirectory for DLL names matching the first two name components of the supplied entry assembly and loads those not already loaded.
This operation is explicitly marked as trimming- and Native AOT-incompatible because it discovers and loads assemblies at runtime. Prefer explicit compile-time registration and generated manifests in trimmed/AOT applications.
Type and assembly helpers
ReflectionHelper.GetCurrentAppDomainAssemblies(predicate)returns loaded, non-dynamic assemblies, optionally filtered.ReflectionHelper.GetAssemblyCompanyOrProductPredicate(optionalPredicate)creates a filter for matching company/product assembly names.Type.Implements<TInterface>()checks whether a type implements the specified interface.Type.DirectlyImplements<TInterface>()excludes interfaces inherited from the base class when evaluating direct implementation.IAssembly.ExtractParts(number, joinSeparator)returns the requested leading components of the wrapped assembly's full name and throws when the name has too few components.
License
MIT. See the repository LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Franz.Common (>= 3.0.0)
- Franz.Common.Errors (>= 3.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.14)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on Franz.Common.Reflection:
| Package | Downloads |
|---|---|
|
Franz.Common.DependencyInjection
Shared utility library for the Franz Framework. |
|
|
Franz.Common.Hosting
Shared utility library for the Franz Framework. |
|
|
Franz.Common.EntityFramework
Shared utility library for the Franz Framework. |
|
|
Franz.Common.Http.Documentation
Shared utility library for the Franz Framework. |
|
|
Franz.Common.Http.Client
Shared utility library for the Franz Framework. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0 | 100 | 11/10/2026 |
| 2.3.4 | 819 | 11/1/2026 |
| 2.3.3 | 698 | 10/28/2026 |
| 2.3.2 | 502 | 10/27/2026 |
| 2.3.1 | 558 | 10/26/2026 |
| 2.3.0 | 732 | 7/21/2026 |
| 2.2.19 | 564 | 7/19/2026 |
| 2.2.18 | 578 | 7/19/2026 |
| 2.2.17 | 851 | 7/12/2026 |
| 2.2.16 | 572 | 7/2/2026 |
| 2.2.15 | 571 | 6/29/2026 |
| 2.2.14 | 578 | 6/29/2026 |
| 2.2.13 | 573 | 6/29/2026 |
| 2.2.12 | 569 | 6/28/2026 |
| 2.2.11 | 572 | 6/28/2026 |
| 2.2.10 | 571 | 6/28/2026 |
| 2.2.9 | 569 | 6/28/2026 |
| 2.2.8 | 567 | 6/28/2026 |
| 2.2.7 | 578 | 6/7/2026 |
| 2.2.6 | 574 | 6/6/2026 |