Skip to content

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.

License

Notifications You must be signed in to change notification settings

r8vnhill/echo-app-csharp

Repository files navigation

echo-app-csharp: A simple C# CLI to understand MSBuild and the .NET ecosystem

License: BSD-2-Clause C# Educational Status DIBS Site

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.

📖 Table of Contents

🎓 Lessons

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 and dotnet, 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.

🔍 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

See the lesson documentation for OS-specific install scripts.

Clone & Compile

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 to suggest improvements or report errors.
  2. Follow the Code of Conduct.
  3. Fork this repo and submit a pull request.

🛡️ License

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.

🌐 DIBS Website

The full course — Diseño e Implementación de Bibliotecas de Software — is available at:

👉 https://dibs.ravenhill.cl

There you'll find complete lessons, slides, exercises, and complementary resources (in Spanish).

About

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.

Topics

Resources

License

Contributing

Stars

Watchers

Forks