Kind: Service
Source: Pams/Logic/Pams.Business/Pams.Business.csproj (line 1)
Part of: Pams
NuGet package dependency
Microsoft.CSharp is a NuGet package dependency declared by the legacy-format Pams.Business.csproj project. It supplies C# runtime binder support for code in Pams.Business that uses dynamic C# operations.
Diagram
mermaidflowchart LR Project[Pams.Business.csproj] --> Package[Microsoft.CSharp package] Package --> Binder[C# runtime binder] Binder --> DynamicCode[Dynamic C# operations]
Usage
tsimport { readFileSync } from "node:fs";
const projectFile = "Pams/Logic/Pams.Business/Pams.Business.csproj";
const projectXml = readFileSync(projectFile, "utf8");
const hasMicrosoftCSharp = projectXml.includes("Microsoft.CSharp");
if (!hasMicrosoftCSharp) {
throw new Error("Microsoft.CSharp dependency is missing from Pams.Business.csproj");
}
console.log("Microsoft.CSharp dependency is declared.");
AI Coding Instructions
- Keep
Microsoft.CSharpdeclared inPams.Business.csprojwhen code depends on dynamic C# binding behavior. - Treat this dependency as project-level configuration rather than an application service with a runtime endpoint.
- Check the legacy project file format before changing package references or migrating dependency declarations.
- Avoid removing the package only because no direct namespace import appears in source files; dynamic operations can require the runtime binder.
Was this page helpful?