Sitemap
Cem Dırman

Cem Dırman

Software Engineer @Atmosware || Java Lover || Traveller

Member-only story

C# & .NET for Java/Spring Developers-1

4 min readOct 26, 2026
Press enter or click to view image in full size

If you’ve spent years shipping Spring Boot services, C# and .NET will feel familiar within about ten minutes and then throw a few genuine surprises at you. Same C-family syntax, a mature dependency injection story, a strongly typed language with generics that actually work well. But the tooling, the project files, and a handful of language defaults are different enough to slow you down if nobody points them out first.

Project Files: .csproj vs pom.xml

Maven’s pom.xml and Gradle’s build.gradle both run pages long once a project has more than a handful of dependencies. A .NET SDK-style .csproj stays short because it only lists what differs from the SDK’s defaults.

<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>OrderService</RootNamespace>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Serilog.AspNetCore" Version="8.0.3" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.2" />
</ItemGroup>

</Project>

There’s no <sources> block and no explicit file list. Every .cs file under the project directory is compiled automatically, the same way Maven assumes src/main/java without you…

--

--

Cem Dırman
Cem Dırman

Written by Cem Dırman

Software Engineer @Atmosware || Java Lover || Traveller