| set -euo pipefail | |
| echo "📦 Setting up C# / .NET dependencies" | |
| echo "====================================" | |
| OS="$(uname -s)" | |
| case "${OS}" in | |
| Linux*) | |
| echo "Installing .NET 8 SDK..." | |
| if command -v apt &> /dev/null; then | |
| # Ubuntu/Debian | |
| wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb | |
| sudo dpkg -i packages-microsoft-prod.deb | |
| rm packages-microsoft-prod.deb | |
| sudo apt update | |
| sudo apt install -y dotnet-sdk-8.0 | |
| elif command -v dnf &> /dev/null; then | |
| # Fedora/RHEL | |
| sudo dnf install -y dotnet-sdk-8.0 | |
| elif command -v pacman &> /dev/null; then | |
| # Arch | |
| sudo pacman -S --needed dotnet-sdk | |
| fi | |
| ;; | |
| Darwin*) | |
| if command -v brew &> /dev/null; then | |
| echo "Installing .NET via Homebrew..." | |
| brew install dotnet | |
| else | |
| echo "Download from: https://dotnet.microsoft.com/download" | |
| fi | |
| ;; | |
| MINGW*|MSYS*|CYGWIN*) | |
| echo "Windows: Download from https://dotnet.microsoft.com/download" | |
| ;; | |
| *) | |
| echo "Unknown OS: ${OS}" | |
| ;; | |
| esac | |
| echo "" | |
| echo "✅ .NET setup complete" | |
| dotnet --version | |