A minimal command-line application written in C#, designed to introduce MSBuild and the .NET CLI through a clean, idiomatic, and reproducible example. This project accompanies lessons from the DIBS course, focused on building well-structured and maintainable software libraries.
Note
The course is taught in Spanish, but all repository content is in English to ensure accessibility and broader adoption.
This repository is part of the following DIBS course lesson:
- 📘 Creating a Basic C# Project with MSBuild
Learn how to install .NET, create a console project using MSBuild anddotnet
, understand the project layout, customize the.csproj
, and write your first C# program. - 📘 Modularizing your C# Project with MSBuild Explore how to structure a C# solution with multiple projects, including a reusable library and a console application, using MSBuild for modular design and clean architecture.
This application is intentionally simple — its purpose is not to showcase complex logic, but to serve as an educational scaffold to explore:
- The role of MSBuild and the
.sln
and.csproj
files - The structure of a modern .NET project
- How the
dotnet
CLI facilitates creation, compilation, and execution - Best practices for reproducible builds and configuration
The program simply echoes messages passed as arguments — but the lesson is in the setup, not the output.
- .NET SDK 9.0 or later
- PowerShell (Windows) or a terminal with
bash
- Git
See the lesson documentation for OS-specific install scripts.
git clone https://github.com/r8vnhill/echo-app-csharp.git
cd echo-app-csharp
dotnet run --project EchoApp -- `
"Is this the end of the beginning", `
"or the beginning of the end?"
You should see:
Is this the end of the beginning
or the beginning of the end?
This repository is part of a teaching resource and is not meant for production. That said, issues and improvements are welcome!
- Open an issue to suggest improvements or report errors.
- Follow the Code of Conduct.
- Fork this repo and submit a pull request.
Released under the BSD 2-Clause License.
You are free to use, adapt, and share this code in personal or educational contexts, as long as attribution is provided.
The full course — Diseño e Implementación de Bibliotecas de Software — is available at:
There you'll find complete lessons, slides, exercises, and complementary resources (in Spanish).