# Google.Apis.PlatformServices

**Kind:** Service

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

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

NuGet package dependency

`Google.Apis.PlatformServices` is a NuGet package dependency declared for `Pams.Storage`. NuGet resolves the package during restore so the storage project can compile against its referenced assemblies.

## Diagram

```mermaid
sequenceDiagram
    participant Developer
    participant Project as Pams.Storage.csproj
    participant NuGet
    participant Build

    Developer->>Build: dotnet restore
    Build->>Project: Read package dependency
    Build->>NuGet: Resolve Google.Apis.PlatformServices
    NuGet-->>Build: Download resolved package
    Build-->>Developer: Restore completed
```

## Usage

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

const projectFile = "Pams/Logic/Pams.Storage/Pams.Storage.csproj";
const projectXml = readFileSync(projectFile, "utf8");

if (!projectXml.includes("Google.Apis.PlatformServices")) {
  throw new Error("Google.Apis.PlatformServices is not declared in Pams.Storage.");
}

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

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

## AI Coding Instructions

- Keep the `Google.Apis.PlatformServices` dependency declaration in the project file format already used by `Pams.Storage`.
- Run `dotnet restore` after changing package references or package versions.
- Check NuGet package sources and restore logs when dependency resolution fails.
- Do not treat this NuGet dependency as a TypeScript runtime package; access its assemblies through the .NET project.

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