Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Anatomy of a csproj: SDK-Style Projects, Common Properties, Items and Implicit Behaviors
An SDK-style csproj stays short thanks to the imports added by the Sdk attribute, Directory.Build.props and default globs such as **/*.cs; dotnet msbuild -getProperty shows a property's real value, -getItem shows items and -preprocess the whole file. We read Bookstore's project files, remove template duplication and show with real output why appsettings.json isn't copied in a console project, plus InvariantGlobalization, PrivateAssets and InternalsVisibleTo.
Installing C# and Your First Program: dotnet new console and the Project File
Installing the .NET 10 SDK, the first project with dotnet new console, top-level statements and the Main the compiler generates, TargetFramework, ImplicitUsings, Nullable and LangVersion in the csproj, dotnet run and build, choosing an IDE, and reading your first compiler error.