This guide describes setup, linting/formatting, and deployment workflow for this .NET 10 WASM app with Android tooling.
- .NET SDK 10.x
- Android Studio (latest stable)
- Android SDK Build-Tools and platform tools
- ADB available on PATH
- Taskfile (
taskcommand): https://next.taskfile.dev/docs/getting-started - Wasmtime: https://wasmtime.dev/
- wasmCloud install docs: https://wasmcloud.com/docs/installation/
Install Taskfile using either winget or npm:
# Option 1 (Windows):
winget install Task.Task
# Option 2 (Node.js):
npm install -g @go-task/cliVerify installation:
task --version- Install Android Studio.
- Open SDK Manager and install:
- Android SDK Platform (latest)
- Android SDK Build-Tools
- Android SDK Command-line Tools
- Android Emulator (optional)
- Ensure
adbworks:
adb versionUse Taskfile commands:
task restore
task build
task build:all
task run
task run:server
task run:client
task test
task format
task lint
task clean- Client UI:
Pages/Chat.razor - API backend:
androidwasm.ChatServer - Persistence: SQLite via EF Core
- Database file:
androidwasm.ChatServer/chat-history.db
Run both apps in separate terminals:
# Terminal 1
task run:server
# Terminal 2
task run:clientDefault local URLs:
- Client:
https://localhost:7218 - Chat API:
https://localhost:7121
This repository uses dotnet format and compiler analyzers.
Install/update formatting and analysis tools:
# Ensure SDK workloads and tools are current
dotnet workload update
# Optional: install dotnet-format as a global tool if needed
dotnet tool install -g dotnet-format
# or update if already installed
dotnet tool update -g dotnet-format- Formatting:
task format- Lint/analyzers (warnings as errors):
task lintIf task format fails because dotnet format is missing, run:
dotnet format --versionThis project builds WASM assets under wwwroot/_framework. A common Android integration path is:
- Build app assets:
task build- Package generated static assets in an Android app container (WebView or WASM runtime-based host).
- Use ADB for deployment:
adb devices
adb install path/to/app-debug.apkUse this workflow when developing from an Azure Windows VM/Dev Box.
- Provision a Windows 11 VM (or Dev Box) with at least 4 vCPU and 16 GB RAM.
- Install Android Studio and .NET 10 SDK on the VM.
- Install Android SDK components from Android Studio SDK Manager:
- Android SDK Platform
- Android SDK Build-Tools
- Android SDK Platform-Tools
- Android SDK Command-line Tools
- Install Taskfile (
winget install Task.Taskornpm install -g @go-task/cli). - Open this repo in VS Code or Android Studio and run:
task restore
task build- For device testing from the VM:
- Preferred: connect a physical Android device over
adb tcpipon the same network/VPN. - Emulator note: nested virtualization and GPU acceleration may be limited depending on VM SKU/policy; if emulator performance is poor, use a physical device or an external test device farm.
- Deploy APK from VM:
adb devices
adb install path/to/app-debug.apk- SDK-first CLI workflow with
dotnet restore/build/test/format - Analyzer-driven quality gates via
-warnaserror - Test platform readiness in
TESTS.mdusing Microsoft Testing Platform guidance
- .NET 10 overview: https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/overview
- .NET 10 SDK: https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/sdk
- Wasmtime: https://wasmtime.dev/
- wasmCloud install: https://wasmcloud.com/docs/installation/