# Microsoft.Web.Infrastructure

**Kind:** Service

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

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

NuGet package dependency

`Microsoft.Web.Infrastructure` is a NuGet dependency declared by the legacy-format `Pams.Business.csproj` project. It supports ASP.NET web infrastructure features used by the application and is resolved during the .NET build and deployment process.

## Diagram

```mermaid
sequenceDiagram
    participant Build as .NET Build
    participant Project as Pams.Business.csproj
    participant NuGet as NuGet Restore
    participant Package as Microsoft.Web.Infrastructure
    participant App as ASP.NET Application

    Build->>Project: Read package dependency
    Project->>NuGet: Request package restore
    NuGet->>Package: Download dependency
    Package-->>NuGet: Return assembly files
    NuGet-->>Build: Make assembly available
    Build->>App: Deploy with referenced infrastructure assembly
```

## Usage

```javascript
import { readFileSync } from "node:fs";

const projectFile = "Pams/Logic/Pams.Business/Pams.Business.csproj";
const projectContents = readFileSync(projectFile, "utf8");

const packageName = "Microsoft.Web.Infrastructure";

if (!projectContents.includes(packageName)) {
  throw new Error(`${packageName} is not declared in ${projectFile}`);
}

console.log(`${packageName} dependency found.`);
```

## AI Coding Instructions

- Treat `Microsoft.Web.Infrastructure` as a .NET project dependency, not a JavaScript or TypeScript runtime package.
- Preserve the existing legacy package-reference format when editing `Pams.Business.csproj`.
- Restore NuGet packages before building projects that reference this dependency.
- Check dependent ASP.NET projects before removing or changing this package reference.

## Used by

4 references from 4 files. 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 (4)

- `Pams.API` — `Pams/API/Pams.API/Pams.API.csproj`:1
- `Pams.Core` — `Pams/Core/Pams.Core/Pams.Core.csproj`:1
- `Pams.Security` — `Pams/Core/Pams.Security/Pams.Security.csproj`:1
- `Pams.Business` — `Pams/Logic/Pams.Business/Pams.Business.csproj`:1
