Build from source
bash
git clone https://github.com/TYWStudio/TML.git
cd TMLtext
TYW Launcher/ Windows (VB.NET + WPF, .NET Framework 4.8)
TYWLauncher-Linux/ Linux (C# + Avalonia, .NET 8)
TYWLauncher-macOS/ macOS (same codebase as Linux)
TYWLauncher-Android/ Android (Kotlin)
PCLCS/ shared components
extensions/ SDK, samples, packerWindows
bash
msbuild "TYW Launcher.sln" /t:Restore /p:Configuration=Release /m:1
msbuild "TYW Launcher.sln" /t:Build /p:Configuration=Release /mOr the helper script, which also injects and restores the server address:
bash
python _deploy/build.py Release Snapshot Debug| Configuration | Channel | Constant |
|---|---|---|
| Release | Stable | RELEASE |
| Snapshot | Snapshot | (none) |
| Debug | Beta | BETA |
After renaming or deleting a XAML page
Delete obj/Debug, obj/Release, obj/Snapshot before building, otherwise MSBuild reports MC1000: could not find xxx.xaml.
Linux
bash
cd TYWLauncher-Linux
dotnet publish src/TYW.Desktop -c Release -r linux-x64 --self-contained true \
-p:TYWChannel=Release -o out/linux-x64Use -r linux-arm64 for ARM, and -p:TYWChannel=Snapshot|Beta for other channels.
macOS
bash
cd TYWLauncher-macOS
./packaging/build-macos.sh 1.1.37 arm64.dmg can only be produced on macOS with hdiutil; cross-compiling on Windows yields a zip only. Apple Silicon builds must be ad-hoc signed (codesign -s -). CI: .github/workflows/build-macos.yml.
Android
bash
cd TYWLauncher-Android
./gradlew assembleReleaseExtensions
bash
python extensions/pack.py extensions/examples/hello-go -o dist/hello-go.zipCI: .github/workflows/extensions.yml.
Server
The server is not part of this repository: its source is closed and no build steps are published. You have to implement your own — see Notice.
Server address injection
Resolution order:
text
setting ServerUrl
> TYW_SERVER environment variable
> server.txt next to the binary / in the data directory
> compile-time BuiltInServerAddress (empty by default)Official builds:
bash
export TYW_SERVER_URL=https://your-server/
python _deploy/build.py Release Snapshot DebugTroubleshooting
| Symptom | Fix |
|---|---|
MC1000 missing xaml | Clear obj/* and rebuild |
MSB3027 / MSB3021 file locked | Close the running launcher or use OUTDIR |
| NuGet restore fails | dotnet nuget locals all --clear |
NuGet.targets path1 null on Linux | Export SystemRoot, ProgramFiles, TEMP, NUGET_PACKAGES |
| macOS app crashes on M-series | It is not signed; re-sign with codesign -s - |
