Сборка из исходников
bash
git clone https://github.com/TYWStudio/TML.git
cd TMLtext
TYW Launcher/ Windows (VB.NET + WPF)
TYWLauncher-Linux/ Linux (C# + Avalonia)
TYWLauncher-macOS/ macOS (тот же код, что Linux)
TYWLauncher-Android/ Android (Kotlin)
PCLCS/ общие компоненты
extensions/ SDK, примеры, упаковщикWindows
bash
msbuild "TYW Launcher.sln" /t:Restore /p:Configuration=Release /m:1
msbuild "TYW Launcher.sln" /t:Build /p:Configuration=Release /mИли скрипт (он же вставляет и восстанавливает адрес сервера):
bash
python _deploy/build.py Release Snapshot Debug| Конфигурация | Канал | Константа |
|---|---|---|
| Release | Стабильный | RELEASE |
| Snapshot | Снапшот | (нет) |
| Debug | Бета | BETA |
После переименования XAML-страниц
Удалите obj/Debug, obj/Release, obj/Snapshot перед сборкой, иначе MSBuild выдаст MC1000.
Linux
bash
cd TYWLauncher-Linux
dotnet publish src/TYW.Desktop -c Release -r linux-x64 --self-contained true \
-p:TYWChannel=Release -o out/linux-x64Для ARM: -r linux-arm64; канал: -p:TYWChannel=Snapshot|Beta.
macOS
bash
cd TYWLauncher-macOS
./packaging/build-macos.sh 1.1.37 arm64.dmg создаётся только на macOS через hdiutil. Сборки Apple Silicon должны быть ad-hoc подписаны (codesign -s -). CI: .github/workflows/build-macos.yml.
Android
bash
cd TYWLauncher-Android
./gradlew assembleReleaseРасширения
bash
python extensions/pack.py extensions/examples/hello-go -o dist/hello-go.zipСервер
Сервера в этом репозитории нет: исходники закрыты, способ сборки не публикуется. Сервер нужно реализовать самостоятельно — см. Примечание.
Адрес сервера
text
настройка ServerUrl
> переменная окружения TYW_SERVER
> server.txt рядом с программой / в каталоге данных
> константа BuiltInServerAddress (пустая по умолчанию)bash
export TYW_SERVER_URL=https://your-server/
python _deploy/build.py Release Snapshot DebugСкрипт меняет ModSecret.vb перед сборкой и восстанавливает после.
Проблемы сборки
| Симптом | Решение |
|---|---|
MC1000 не найден xaml | Очистить obj/* |
MSB3027 / MSB3021 файл занят | Закрыть лаунчер или задать OUTDIR |
| Ошибка восстановления NuGet | dotnet nuget locals all --clear |
NuGet.targets path1 null на Linux | Экспортировать SystemRoot, ProgramFiles, TEMP, NUGET_PACKAGES |
