Runtime and Language Standard
AIC Standard
AIC uses modern .NET as its default engineering platform.
Production baseline
.NET 10 LTS
Production language
C# 14
Future / preview evaluation
.NET 11 preview, C# 15
Legacy compatibility
Only where required and documented
Desktop Windows
WPF on modern .NET
Cross-platform mobile or desktop
.NET MAUI where justified
Web API
ASP.NET Core on .NET 10
Data access
EF Core 10 unless another approach is justified
Mandatory Rules
New production projects MUST target
net10.0unless an exception is approved.C# production language version MUST align with the target framework.
Do not force
LangVersion=latestin production repositories unless specifically approved.Preview SDKs MUST NOT be used in production build agents.
.NET 11 and C# 15 MAY be used for spikes, prototypes, accelerators or approved non-production work.
All repositories MUST include
global.json.Build images MUST install only approved SDKs.
Dockerfiles MUST use supported runtime and SDK images.
Target Framework Guidance
Use single-targeting unless there is a real compatibility reason to multi-target.
Use multi-targeting only where necessary, for example a reusable library consumed by multiple supported applications:
Multi-targeting increases test effort, package complexity and compatibility risk. It requires an ADR.
Language Version Guidance
Default approach:
Avoid:
latest can make builds change unexpectedly when developer machines or build agents update. Use a specific version unless the repository is explicitly a preview or language exploration project.
Required Project Properties
Production projects SHOULD define or inherit:
Runtime Upgrade Rules
Runtime upgrades require:
review of Microsoft breaking changes
update to SDK pin
update to build image
dependency compatibility check
test run across all supported projects
performance smoke test for sensitive services
security scan
ADR or upgrade record
customer approval where contractually required
Legacy Rule
Legacy .NET Framework, .NET Core 3.1, .NET 5, .NET 6 and .NET 7 MUST NOT be used for greenfield delivery. Legacy systems may be maintained only with a documented containment, migration or customer-approved support plan.
Was this helpful?

