Build: Dasher-Windows (Avalonia / .NET)
A Windows desktop frontend built with Avalonia and .NET 10.
This page is a quick start. The authoritative source is the repo README.
Prerequisites
- .NET 10 SDK
- CMake 3.20+
- Visual Studio 2026 (or Build Tools) with the Desktop development with C++ workload, CMake tools, and the Windows SDK
Build
git clone --recurse-submodules https://github.com/dasher-project/Dasher-Windows.git
cd Dasher-Windows
# 1. Build the DasherCore C API DLL
cd native
./build.cmd # or: build.ps1
cd ..
# 2. Run the app
cd src/Dasher.Windows
dotnet run
The build copies dasher.dll next to the app.
How DasherCore is consumed
DasherCore (as a submodule) is built via CMake into dasher.dll (the C API).
The C# frontend calls it directly through P/Invoke in
Engine/NativeBridge.cs:
[DllImport("dasher", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr dasher_create(int width, int height);
Architecture note: this frontend uses direct C API P/Invoke. (An earlier “command-buffer bridge” design has been retired.)
Packaging
installer/ produces an MSI and an MSIX via WiX v5; CI
(build-installer.yml) builds installers and publishes GitHub Releases on v*
tags.