---
title: SAIF.Framework.Common.Files dependencies
summary: Internal and external dependencies for this library.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-15
library: SAIF.Framework.Common.Files
reference_type: package
---

# SAIF.Framework.Common.Files dependencies

`SAIF.Framework.Common.Files` has a single non-BCL dependency — the same-repo `SAIF.Framework.Common` package — consumed through a legacy `packages.config`/assembly-`<Reference>` project, plus a small set of standard .NET Framework BCL assembly references; it makes no API calls and has no other framework library or database/service dependency.

## Internal dependencies

| Dependency | Reference Type | Usage |
| --- | --- | --- |
| [SAIF.Framework.Common](../saif-framework-common/overview.md) | NuGet Package (same-repo) | Supplies `Sequence`/`SequenceGenerator<T>` (record and segment indexing), `Enforce.ArgumentNotNull`/`ArgumentNotNullOrWhiteSpace` (segment builder validation), `StringExtensions.IsNullOrEmpty`/`ConvertToDecimalOrZero` and `GenericExtensions.IsNull` (segment field guards), `IEnumerableExtensions.IsIn<T>` (control-segment detection in `EdiFile.Add`), and `ExpressionExtensions.GetPropertyInfo` (fluent `FileConfiguration<T>` property resolution). Consumed via `packages.config` and an assembly `<Reference>` with a `HintPath` to the built package (version `2.0.22068.1`), not a `<ProjectReference>`, even though the producing source lives in this repository at `Common\SAIF.Common\`. |

## External dependencies

| Dependency | Version | Usage |
| --- | --- | --- |
| `Microsoft.VisualBasic` | N/A (BCL assembly reference) | Supplies `Microsoft.VisualBasic.FileIO.TextFieldParser`, the delimited/fixed-width parsing engine used by `Core\FileReader.cs`. |
| `System` | N/A (BCL assembly reference) | Standard BCL reference declared in the `.csproj`. |
| `System.Core` | N/A (BCL assembly reference) | Standard BCL reference declared in the `.csproj`. |
| `System.Data` | N/A (BCL assembly reference) | Declared in the `.csproj`; no source file in the scanned tree uses it.* |
| `System.Data.DataSetExtensions` | N/A (BCL assembly reference) | Standard BCL reference declared in the `.csproj`. |
| `System.Xml` | N/A (BCL assembly reference) | Declared in the `.csproj`; no source file in the scanned tree uses it.* |
| `System.Xml.Linq` | N/A (BCL assembly reference) | Declared in the `.csproj`; no source file in the scanned tree uses it.* |
| `Microsoft.CSharp` | N/A (BCL assembly reference) | Declared in the `.csproj`; no source file in the scanned tree uses it.* |

## Dependency risks and notes
- `SAIF.Framework.Common` is consumed as a NuGet package produced by this same repository (`Common\SAIF.Common\`). Its published RAG/CLI documentation was not queried during the analysis; the delegated behaviour was traced directly from the in-repo source, which is authoritative for behaviour but may lag the pinned package version `2.0.22068.1`.**
- No transitive dependencies were identified — `SAIF.Framework.Common` was not reported as pulling in any further custom/internal package at runtime, and no API dependencies exist (no HTTP/service calls; all persistence is local file I/O via `File.ReadAllLines`/`File.WriteAllText`/`TextFieldParser`).
- The `.csproj` declares `<None Include="nuget.config">`, but no `nuget.config` file exists in `Common\SAIF.Common.Files\` — a stale project entry; the only `nuget.config` in the repository is the root `NuGet.config`.**
- `IncludeReferencedProjects = true` (set in `Pipelines\build-vars-common.files.yml`) has no additional bundling effect for this package because the `.csproj` declares no `<ProjectReference>` elements — `SAIF.Framework.Common` remains a package dependency rather than bundled content.*
- `AssemblyInfo.cs` identifies the assembly as `SAIF.Utilities` with company "Microsoft" and version `1.0.0.0`, inconsistent with the assembly name `SAIF.Framework.Common.Files` and the `.nuspec` version `1.0.0.3`; it is unknown whether the build pipeline's `build-version-dat.yml` step overwrites these values.**
- No project in this repository declares a `<ProjectReference>` to this library's `.csproj`; it is consumed downstream solely as the published NuGet package `SAIF.Framework.Common.Files`.

## 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. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- Common\SAIF.Common.Files\SAIF.Framework.Common.Files.csproj
- Common\SAIF.Common.Files\packages.config
- Common\SAIF.Common.Files\Properties\AssemblyInfo.cs
- Common\SAIF.Common.Files\SAIF.Framework.Common.Files.nuspec
- NuGet.config
- Pipelines\build-vars-common.files.yml
- Common\SAIF.Common\Classes\Sequence.cs
- Common\SAIF.Common\Classes\SequenceGenerator.cs
- Common\SAIF.Common\Classes\Enforce.cs
- Common\SAIF.Common\Extensions\StringExtensions.cs
- Common\SAIF.Common\Extensions\IEnumerableExtensions.cs
- Common\SAIF.Common\Extensions\GenericExtensions.cs
- Common\SAIF.Common\Extensions\ExpressionExtensions.cs
