# System.Core

**Kind:** Service

**Source:** `Pams/Data/Pams.Data/Pams.Data.csproj` (line 1)

**Part of:** [Pams](subsystem-pams)

NuGet package dependency

`System.Core` is a NuGet package dependency declared by the `Pams.Data` project. It provides framework APIs that `Pams.Data` references during restore and build operations in the legacy project format.

## Diagram

```mermaid
flowchart LR
    Build[Build or restore command] --> DataProject[Pams.Data.csproj]
    DataProject --> NuGet[NuGet package resolution]
    NuGet --> SystemCore[System.Core]
    SystemCore --> DataAssembly[Pams.Data assembly]
```

## Usage

```ts
import { execFileSync } from "node:child_process";
import { resolve } from "node:path";

const projectFile = resolve("Pams/Data/Pams.Data/Pams.Data.csproj");

execFileSync("dotnet", ["restore", projectFile], {
  stdio: "inherit",
});

execFileSync("dotnet", ["build", projectFile], {
  stdio: "inherit",
});
```

## AI Coding Instructions

- Keep the `System.Core` package reference aligned with the APIs used by `Pams.Data`.
- Run NuGet restore before building the project so package dependencies are available.
- Treat this dependency as build-time project configuration, not as a JavaScript runtime service.
- Check the legacy project file format before changing package reference syntax or package management behavior.
