tia-csharp-commonlisted
Install: claude install-skill Czarnak/totally-integrated-claude
# TIA Portal Openness C# — Common Foundation
Source: TIA Portal Openness General Functions Manual (03/2026, V21);
V21 IntelliSense XML documentation files (PublicAPI\V21\net48\*.xml)
---
## V21 modular assembly architecture
V21 splits the API across multiple DLLs instead of a single `Siemens.Engineering.dll`.
Every project needs `Siemens.Engineering.Base.dll`; add domain DLLs as required.
Referencing the wrong DLL (or omitting one) causes `TypeLoadException` at runtime.
> **Full mapping:** See `references/assembly-namespace-map.md` for the exhaustive
> namespace → DLL → domain skill table, cross-assembly warnings, and csproj patterns.
### Namespaces by assembly
Only import what is actually used. The list below covers the most commonly needed
namespaces. The mapping file documents all 80+ namespaces across 15 DLLs.
**Siemens.Engineering.Base.dll** (always required):
```csharp
using Siemens.Engineering; // TiaPortal, Project, ExclusiveAccess, Transaction, events, exceptions
using Siemens.Engineering.Compiler; // CompilerResult
using Siemens.Engineering.Compare; // CompareResult
using Siemens.Engineering.Connection; // connection objects between devices
using Siemens.Engineering.CrossReference; // cross-reference queries
using Siemens.Engineering.Download; // DownloadProvider, DownloadConfiguration
using Siemens.Engineering.Download.Configurations; // device-specific down