# Microsoft.Web.XmlTransform

**Kind:** Service

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

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

NuGet package dependency

`Microsoft.Web.XmlTransform` is a NuGet package dependency declared by `Pams/API/Pams.API/Pams.API.csproj`. It makes XML transformation tooling available during restore and build for configuration transform tasks in the Pams API project.

## Diagram

```mermaid
sequenceDiagram
    participant Developer
    participant Script as Build Script
    participant Dotnet as dotnet CLI
    participant Project as Pams.API.csproj
    participant NuGet
    participant Build as MSBuild

    Developer->>Script: Run build command
    Script->>Dotnet: dotnet restore project
    Dotnet->>Project: Read package dependency
    Project->>NuGet: Restore Microsoft.Web.XmlTransform
    NuGet-->>Dotnet: Return package assets
    Script->>Dotnet: dotnet build project
    Dotnet->>Build: Build project with restored assets
    Build-->>Developer: Produce build output
```

## Usage

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

const projectPath = "Pams/API/Pams.API/Pams.API.csproj";

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

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

## AI Coding Instructions

- Keep the `Microsoft.Web.XmlTransform` dependency declared in `Pams/API/Pams.API/Pams.API.csproj`.
- Run `dotnet restore` before building when package assets are not already available.
- Treat this package as a build-time .NET dependency; do not attempt to import it from TypeScript or JavaScript application code.
- Check XML transform files and build configuration when transformed settings do not appear in build output.

## Used by

1 reference from 1 file. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Injected or called by (1)

- `Pams.API` — `Pams/API/Pams.API/Pams.API.csproj`:1
