Skip to content

Build from Source

Codex edited this page Sep 19, 2026 · 6 revisions

Сборка из исходников

Home · BASIC · UO API · A–Z · Examples · Languages

Навигация по разделу

Тема Подробнее
Build from Source Сборка через CMD
SDK Requirements SDK и окружение
Project Structure Исходники
Dependencies Theia · Восстановление .NET
Native DLLs NativeAOT · BASIC Declare
Build Scripts BUILD_WINDOWS.cmd и TEST_WINDOWS.cmd
GitHub Actions Проверки перед публикацией
Packaging Два проекта и два клиента · Проверка архива

Требования

  • Windows x64;
  • Windows PowerShell 5.1 или совместимое окружение PowerShell для сценариев;
  • .NET SDK, точно указанный в global.json (rollForward отключён);
  • доступный NuGet cache либо сеть для восстановления пакетов;
  • Node.js и npm для пересборки Eclipse Theia, если менялась IDE;
  • достаточно свободного места для NativeAOT и двух редакций.

Версия SDK закреплена в global.json.

Быстрый путь

Из корня полной редакции запустите:

.\BUILD_WINDOWS.cmd

Сценарий выполняет проверку окружения, тесты, сборку и контроль выходного каталога. Результат помещается в client внутри выбранного проекта. OutputDirectory задаёт другой каталог; UoDirectory указывает данные игры для smoke test. TEST_WINDOWS.cmd запускает проверки отдельно. BUILD_TEST_WINDOWS.cmd включает тестовый режим сборки; он не заменяет финальные проверки документации.

Ручная проверка .NET

dotnet --version
dotnet restore .\ClassicUO.sln -p:NuGetAudit=false
dotnet test .\tests\ClassicUO.UnitTests\ClassicUO.UnitTests.csproj -c Release
dotnet test .\external\InjectionScript\src\InjectionScript.Tests\InjectionScript.Tests.csproj -c Release
dotnet test .\external\InjectionScript\src\InjectionScript.Lsp.Tests\InjectionScript.Lsp.Tests.csproj -c Release

Eclipse Theia

Пакет IDE находится в external\YokoTheia; базовая платформа — Eclipse Theia.

cd .\external\YokoTheia
npm install
npm run build

Не заменяйте lockfile и версии Theia без повторного полного тестирования IDE.

NativeAOT

Финальный Windows-клиент проверяется как NativeAOT x64. Для графического smoke test нужны локальные игровые данные Ultima Online; они не входят в репозиторий.

Редакция без Basic

Редакция Classic полностью отключает Bad Newbie и Basic IDE, включая runtime, скрипты и AutoLoad. Её собирают и проверяют отдельно: успешная сборка Full не подтверждает корректность Classic. См. состав пакета.

Clone this wiki locally