# Microsoft.Threading.Tasks.Extensions

**Kind:** Service

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

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

NuGet package dependency

Microsoft.Threading.Tasks.Extensions is a NuGet package dependency for the `Pams.Email` project. During NuGet restore, it provides task-related extension types required by the email project and its target framework.

## Diagram

```mermaid
sequenceDiagram
    participant Developer
    participant PamsEmail as Pams.Email.csproj
    participant NuGet
    participant Package as Microsoft.Threading.Tasks.Extensions

    Developer->>NuGet: Restore Pams.Email project
    NuGet->>PamsEmail: Read package dependency
    NuGet->>Package: Resolve package
    Package-->>NuGet: Provide referenced assemblies
    NuGet-->>PamsEmail: Add dependency reference
```

## Usage

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

const projectFile = "Pams/Logic/Pams.Email/Pams.Email.csproj";

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

## AI Coding Instructions

- Keep `Microsoft.Threading.Tasks.Extensions` managed through the `Pams.Email.csproj` NuGet dependency configuration.
- Run `dotnet restore` after changing package references or restoring the repository on a new machine.
- Verify target framework compatibility before updating this package, especially when changing task-related APIs.
- Do not reference the package directly from TypeScript or JavaScript; it is resolved as part of the .NET project build.
