![]() |
Calculator Application with Library 2.1.2
A simple library for performing basic arithmetic operations with application
|
A C# / .NET solution template for course term projects: a class library, a thin console app, xUnit tests, code and documentation coverage generated with both ReportGenerator and the native lcov/genhtml tooling side by side, Doxygen and DocFX API docs — per platform (Windows and Linux/WSL) — a MkDocs Material site, and local + CI/CD release packaging, all driven by a handful of numbered scripts.
Live site: https://ucoruh.github.io/vs-net-core-template/ (English) · https://ucoruh.github.io/vs-net-core-template/tr/ (Türkçe) — one bilingual MkDocs Material site (mkdocs-static-i18n, language switcher in the header; the DocFX API reference lives under /native/).
ucoruh) and your team mates.A private repository on GitHub Free has no GitHub Pages: show your project locally instead (7-build-all + 9-open-site, plus the release/ folder) — see Showing your project without GitHub Pages · Türkçe. Releases work on private repositories.
*(Regenerated by 7-build-all; see Which report is which?.)*
9-open-site serves the built site at http://localhost:8080/; open that URL rather than double-clicking site/index.html, so the embedded report frames load. Everything is documented in the guides below.
project.envPROJECT_NAME=calculator, VERSION=2.1.2 (plus the solution/project paths). Every script and the CI workflow read this one file; rename your project there. Release assets are named <project>-<version>[-<platform>[-<arch>]]-<content>[-<tool>].<ext> (platform windows | linux | macos; WSL is linux).
| Script | Job |
|---|---|
1-configure-git-hooks-<platform> | install the pre-commit hook |
2-create-gitignore-<platform> | regenerate .gitignore (keeps the project section) |
3-install-package-manager-windows.bat | Chocolatey + Scoop (Windows only) |
4-install-tools-<platform> | .NET SDK, Doxygen, lcov, astyle, dotnet tools, MkDocs Material, coverxygen |
5-format-code-<platform> | astyle |
6-build-and-test-<platform> | fast: build + unit tests |
7-build-all-<platform> | + coverage (both families), doc coverage (both), Doxygen + DocFX, app, site, release/ |
8-run-app-<platform> | run the sample app |
9-open-site-<platform> | serve the site on localhost and open it |
10-release-<platform> [--dry-run] | publish release/ as a GitHub Release with gh |
11-clean-<platform> | delete every generated folder |
<platform> is windows (.bat) or linux (.sh; native Linux and WSL). Helpers live in scripts/.
| Old | New |
|---|---|
1-pre-commit | scripts/hooks/pre-commit |
2-create-git-ignore.bat/.sh | 2-create-gitignore-windows.bat / -linux.sh |
3-install-package-manager.bat (.sh) | 3-install-package-manager-windows.bat (.sh folded into 4-install-tools-linux.sh) |
4-install-dotnet-sdk, 4-install-astyle, 4-install-coverxygen, 4-install-lcov, 6-install-docfx-and-report-tools | 4-install-tools-windows.bat / -linux.sh |
5-format-code.bat/.sh | 5-format-code-windows.bat / -linux.sh |
7-build-app.bat/.sh | 7-build-all-windows.bat / -linux.sh (new fast loop: 6-build-and-test-*) |
8-run-app.bat/.sh | 8-run-app-windows.bat / -linux.sh |
9-open-site.bat/.sh | 9-open-site-windows.bat / -linux.sh |
10-release.bat/.sh | 10-release-windows.bat / -linux.sh |
dotnet-env.bat/.sh | scripts/dotnet-env-windows.bat / -linux.sh |
VERSION | project.env |
build/<platform>-<config>/ · publish/<platform>-<arch>/ · reports/<platform>/<kind>-<tool>/ (tests-trx, coverage-reportgenerator, coverage-lcov, doccoverage-reportgenerator, doccoverage-lcov, api-doxygen, api-docfx) · site/ (MkDocs) · site-native/ (DocFX) · release/ (every release asset, same names as on GitHub).
Written for a student who has never used this toolchain, in English and Turkish:
| Guide | EN | TR |
|---|---|---|
| Install everything | install.en.md | install.tr.md |
| Use this template (private repo) | use-the-template.en.md | use-the-template.tr.md |
| From a project topic to your own project | from-topic-to-project.en.md | from-topic-to-project.tr.md |
| Daily workflow (+ old→new names) | daily-workflow.en.md | daily-workflow.tr.md |
| Which report is which? | reports-explained.en.md | reports-explained.tr.md |
| Showing an HTML report inside your site | embed-html-in-site.en.md | embed-html-in-site.tr.md |
| Showing your project without GitHub Pages | showing-without-pages.en.md | showing-without-pages.tr.md |
| Releases & private repositories | releases-and-private-repos.en.md | releases-and-private-repos.tr.md |
| Troubleshooting | troubleshooting.en.md | troubleshooting.tr.md |