---
title: SAIF.NetCore.ErrorHandler dependencies
summary: Internal and external dependencies for this library.
status: draft
owner: Framework.NCore maintainers
last_reviewed: 2026-10-02
library: SAIF.NetCore.ErrorHandler
reference_type: package
---

# SAIF.NetCore.ErrorHandler dependencies

`SAIF.NetCore.ErrorHandler` depends only on the foundation `SAIF.NetCore.ServiceContracts` package for the exception types, interfaces, and event-args types it uses, carries an unused third-party package reference, and makes no outbound API calls of its own.

## Internal dependencies

| Dependency | Reference Type | Usage |
| --- | --- | --- |
| [SAIF.NetCore.ServiceContracts](../saif-netcore-servicecontracts/overview.md) | NuGet Package (same-repo) | Implements `IErrorHandleable` and `IWindowsServiceErrorHandler`; consumes `HttpStatusCodeException`, `SAIFException`, `ISaifLogService`, `ISaifWindowsServiceLogService` (via `ISaifLoggable`), `IEnvironmentClient`, `BeginErrorHandlingEventArgs`, `ErrorHandledEventArgs`, `ISpecialErrorAction`, `ISpecialErrorAction<T>`, `SpecialErrorActionResult`, `IErrorContextContainer`, `IWindowsServiceError`, and `ShutdownExemptExceptionType`. |

## External dependencies

| Dependency | Version | Usage |
| --- | --- | --- |
| `Newtonsoft.Json` | 12.0.3 | Referenced in `ErrorHandler.cs` imports but unused; no type from this package is referenced anywhere in the library* — a dead dependency. |
| `Microsoft.AspNetCore.App` | (shared framework, no NuGet version) | A `<FrameworkReference>`, not a `PackageReference` — it pulls ASP.NET Core assemblies from the installed shared framework matching the project's target framework moniker (`net8.0`/`net10.0`) rather than from a versioned NuGet package. Required because `ErrorHandler` depends on ASP.NET Core HTTP types (`HttpContext`, `HttpStatusCodeException` handling, etc.). |

## Dependency risks and notes
- This library makes no HTTP, SOAP, or other outbound API calls of its own; the SAIF Logging API call happens inside `SAIF.NetCore.Logging`'s own `ISaifLogService`/`ISaifWindowsServiceLogService` implementation, reached only through the ServiceContracts interface, not through any direct reference from this library.
- The library does not reference `SAIF.NetCore.Logging` or `SAIF.NetCore.EnvironmentClient`; it codes only against the ServiceContracts interfaces, and the host application supplies the concrete implementations at construction time*.
- The `Newtonsoft.Json` reference is unused dead weight and, at 12.0.3, is older than the 13.x line used elsewhere in the framework*.
- `WindowsServiceErrorHandler.HandleError` throws before logging when a `SAIFException`'s `LogDetails` is `null`, so a dependency on well-formed `SAIFException` instances from upstream callers is implicit*.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [API reference](api/index.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts.

## Sources
- `src/SAIF.NetCore.ErrorHandler/SAIF.NetCore.ErrorHandler/SAIF.NetCore.ErrorHandler/SAIF.NetCore.ErrorHandler.csproj`
- `src/SAIF.NetCore.ErrorHandler/SAIF.NetCore.ErrorHandler/SAIF.NetCore.ErrorHandler/ErrorHandler.cs`
- `src/SAIF.NetCore.ErrorHandler/SAIF.NetCore.ErrorHandler/SAIF.NetCore.ErrorHandler/WindowsService/WindowsServiceErrorHandler.cs`
- `src/SAIF.NetCore.ServiceContracts/SAIF.NetCore.ServiceContracts/SAIF.NetCore.ServiceContracts/IErrorHandleable.cs`, `ISaifLogService.cs`, `ISaifWindowsServiceLogService.cs`, `IEnvironmentClient.cs`
