https://github.com/r8vnhill/echo-app-csharp
A minimal and idiomatic C# CLI project to explore MSBuild, .NET CLI, and modular solution design. Created as part of the DIBS course on reusable software libraries.
https://github.com/r8vnhill/echo-app-csharp
console-app csharp dibs-course dotnet dotnet-cli educational example-project modular-design msbuild software-design teaching
Last synced: 2 months ago
JSON representation
A minimal and idiomatic C# CLI project to explore MSBuild, .NET CLI, and modular solution design. Created as part of the DIBS course on reusable software libraries.
- Host: GitHub
- URL: https://github.com/r8vnhill/echo-app-csharp
- Owner: r8vnhill
- License: bsd-2-clause
- Created: 2025-07-03T18:45:26.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-07-06T22:27:57.000Z (6 months ago)
- Last Synced: 2025-07-06T23:28:45.662Z (6 months ago)
- Topics: console-app, csharp, dibs-course, dotnet, dotnet-cli, educational, example-project, modular-design, msbuild, software-design, teaching
- Language: Shell
- Homepage: https://dibs.ravenhill.cl
- Size: 19.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# echo-app-csharp: A simple C# CLI to understand MSBuild and the .NET ecosystem
[](./LICENSE)
[](https://learn.microsoft.com/dotnet/csharp/)
[](https://dibs.ravenhill.cl)
[]()
[](https://dibs.ravenhill.cl)
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](https://dibs.ravenhill.cl), 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.
## π Table of Contents
- [echo-app-csharp: A simple C# CLI to understand MSBuild and the .NET ecosystem](#echo-app-csharp-a-simple-c-cli-to-understand-msbuild-and-the-net-ecosystem)
- [π Table of Contents](#-table-of-contents)
- [π Lessons](#-lessons)
- [π Overview](#-overview)
- [π Getting Started](#-getting-started)
- [Prerequisites](#prerequisites)
- [Clone \& Compile](#clone--compile)
- [π€ Contributing](#-contributing)
- [How to Contribute](#how-to-contribute)
- [π‘οΈ License](#οΈ-license)
- [π DIBS Website](#-dibs-website)
## π Lessons
This repository is part of the following DIBS course lesson:
- π **[Creating a Basic C# Project with MSBuild](https://dibs.ravenhill.cl/docs/build-systems/init/msbuild)**
Learn how to install .NET, create a console project using MSBuild and `dotnet`, understand the project layout,
customize the `.csproj`, and write your first C# program.
- π **[Modularizing your C# Project with MSBuild](https://dibs.ravenhill.cl/docs/build-systems/modular-design/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.
## π Overview
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.
## π Getting Started
### Prerequisites
- [.NET SDK 9.0 or later](https://dotnet.microsoft.com/download)
- PowerShell (Windows) or a terminal with `bash`
- Git
> See the [lesson documentation](https://dibs.ravenhill.cl/docs/build-systems/init/msbuild) for OS-specific install
> scripts.
### Clone & Compile
```bash
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?
```
## π€ Contributing
This repository is part of a teaching resource and is not meant for production. That said, issues and improvements are
welcome!
### How to Contribute
1. [Open an issue](https://github.com/r8vnhill/echo-app-csharp/issues) to suggest improvements or report errors.
2. Follow the [Code of Conduct](./CONTRIBUTING.md).
3. Fork this repo and submit a pull request.
## π‘οΈ License
Released under the **[BSD 2-Clause License](./LICENSE)**.
You are free to use, adapt, and share this code in personal or educational contexts, as long as attribution is provided.
## π DIBS Website
The full course β *DiseΓ±o e ImplementaciΓ³n de Bibliotecas de Software* β is available at:
π [https://dibs.ravenhill.cl](https://dibs.ravenhill.cl)
There you'll find complete lessons, slides, exercises, and complementary resources (in Spanish).