# Xceed.Words.NET

**Kind:** Service

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

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

NuGet package dependency

`Xceed.Words.NET` is a NuGet package dependency referenced by `Pams.Core.csproj`. Pams.Core calls the package from .NET code when handling legacy-format document operations.

## Diagram

```mermaid
sequenceDiagram
    participant Application
    participant PamsCore as Pams.Core
    participant XceedWords as Xceed.Words.NET

    Application->>PamsCore: Request document operation
    PamsCore->>XceedWords: Call package API
    XceedWords-->>PamsCore: Return document result
    PamsCore-->>Application: Return processed result
```

## Usage

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

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

const packages = execFileSync(
  "dotnet",
  ["list", projectPath, "package"],
  { encoding: "utf8" }
);

if (!packages.includes("Xceed.Words.NET")) {
  throw new Error("Xceed.Words.NET is not referenced by Pams.Core.");
}

console.log("Xceed.Words.NET is available to Pams.Core.");
```

## AI Coding Instructions

- Keep `Xceed.Words.NET` references in the Pams.Core .NET project rather than JavaScript or TypeScript code.
- Check `Pams.Core.csproj` when changing the package version or package reference.
- Route document operations through Pams.Core code that owns the package dependency.
- Treat legacy-format document handling as an integration boundary and preserve existing document processing behavior.

## 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.Core` — `Pams/Core/Pams.Core/Pams.Core.csproj`:1
