# System.Web.Mvc

**Kind:** Service

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

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

NuGet package dependency

`System.Web.Mvc` is a NuGet package dependency referenced by the legacy-format `Pams.Business` project file. It makes ASP.NET MVC types available to business-layer code that depends on MVC contracts or framework integration.

## Diagram

```mermaid
sequenceDiagram
    participant Project as Pams.Business.csproj
    participant NuGet as NuGet package restore
    participant MVC as System.Web.Mvc

    Project->>NuGet: Resolve package reference
    NuGet-->>Project: Restore System.Web.Mvc assembly
    Project->>MVC: Reference MVC types during build
```

## Usage

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

// Restore the NuGet dependency declared in Pams.Business.csproj.
execFileSync("nuget", ["restore", "Pams/Logic/Pams.Business/Pams.Business.csproj"], {
  stdio: "inherit",
});

// Build code that references System.Web.Mvc.
execFileSync("msbuild", ["Pams/Logic/Pams.Business/Pams.Business.csproj"], {
  stdio: "inherit",
});
```

## AI Coding Instructions

- Keep the `System.Web.Mvc` package reference compatible with the legacy project-file format.
- Restore NuGet packages before building `Pams.Business`.
- Do not add ASP.NET Core MVC packages as replacements without migrating MVC namespaces and project configuration.
- Check MVC type references in `Pams.Business` when changing the package version or package source.

## Used by

3 references from 3 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 (3)

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