# System.Xml

**Kind:** Service

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

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

NuGet package dependency

`System.Xml` is a NuGet package dependency declared by `Pams/HelperTool/HelperTool.csproj`. The HelperTool project references it for .NET XML APIs when reading, writing, or transforming XML data used by the tool.

## Diagram

```mermaid
sequenceDiagram
    participant Build as Build process
    participant Project as HelperTool.csproj
    participant NuGet as NuGet
    participant Tool as HelperTool

    Build->>Project: Restore project dependencies
    Project->>NuGet: Request System.Xml package
    NuGet-->>Project: Resolve package reference
    Project-->>Tool: Make System.Xml APIs available
```

## Usage

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

const projectFile = "Pams/HelperTool/HelperTool.csproj";

// Restore the NuGet dependency before building or running HelperTool.
execFileSync("dotnet", ["restore", projectFile], {
  stdio: "inherit",
});

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

## AI Coding Instructions

- Keep the `System.Xml` package reference in `Pams/HelperTool/HelperTool.csproj` when code depends on .NET XML APIs.
- Restore NuGet dependencies before building HelperTool in local scripts and CI jobs.
- Treat this dependency as part of the project’s legacy package format; avoid changing package metadata without checking the project’s existing dependency conventions.
- Add XML parsing and serialization code in the .NET HelperTool project rather than attempting to import `System.Xml` from TypeScript or JavaScript.
