# WindowsBase

**Kind:** Service

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

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

NuGet package dependency

`WindowsBase` is a dependency declared by `Pams.API.csproj`. It supplies .NET framework types required by the Pams API project during compilation and runtime.

## Diagram

```mermaid
sequenceDiagram
    participant Build as MSBuild
    participant Project as Pams.API.csproj
    participant WindowsBase as WindowsBase
    participant Api as Pams.API

    Build->>Project: Read dependency declaration
    Project->>WindowsBase: Resolve assembly reference
    WindowsBase-->>Build: Assembly metadata
    Build->>Api: Compile Pams API
```

## Usage

```typescript
import { execFileSync } from "node:child_process";

execFileSync(
  "dotnet",
  ["build", "Pams/API/Pams.API/Pams.API.csproj"],
  { stdio: "inherit" }
);
```

## AI Coding Instructions

- Keep the `WindowsBase` dependency declaration in `Pams.API.csproj` when editing project references.
- Check whether the project uses legacy `<Reference>` entries before converting dependencies to `PackageReference`.
- Run `dotnet build` against `Pams.API.csproj` after changing dependency metadata.
- Avoid adding JavaScript or TypeScript imports for `WindowsBase`; it is resolved by the .NET project build.
