Skip to content

Microsoft.CSharp

reference
1 min readUpdated

Kind: Service

Source: Pams/Data/Pams.Data/Pams.Data.csproj (line 1)

Part of: Pams

NuGet package dependency

Microsoft.CSharp is a NuGet package dependency declared by Pams.Data.csproj. It supplies C# runtime binder support for dynamic C# operations in the Pams.Data project and is restored during the .NET build.

Diagram

mermaid
sequenceDiagram
    participant Developer
    participant Project as Pams.Data.csproj
    participant Dotnet as dotnet CLI
    participant NuGet
    participant Package as Microsoft.CSharp

    Developer->>Project: Run build for Pams.Data
    Project->>Dotnet: Declare Microsoft.CSharp dependency
    Dotnet->>NuGet: Restore package
    NuGet-->>Dotnet: Return Microsoft.CSharp package
    Dotnet->>Package: Resolve runtime binder references
    Dotnet-->>Developer: Build Pams.Data assembly

Usage

ts
import { spawnSync } from "node:child_process";

const project = "Pams/Data/Pams.Data/Pams.Data.csproj";

const build = spawnSync("dotnet", ["build", project], {
  stdio: "inherit",
});

if (build.error || build.status) {
  throw new Error("Pams.Data build failed.");
}

AI Coding Instructions

  • Keep the Microsoft.CSharp package reference in Pams/Data/Pams.Data/Pams.Data.csproj.
  • Treat this as a .NET NuGet dependency; do not import it from TypeScript or JavaScript.
  • Run dotnet restore or dotnet build after changing package references or dynamic C# code.
  • Check dynamic C# call sites when changing this dependency, since they may require runtime binder support.

Was this page helpful?

Download as PDF