Skip to content

Development Setup

Isaac M. Good edited this page Sep 19, 2026 · 2 revisions

Development Setup

Prerequisites

Clone

git clone https://github.com/Fuggschen/DVModManager.git
cd DVModManager

Build & Run

cd DVModManager
dotnet restore
dotnet publish

Warning

Do not use dotnet run!

This will cause specific functions like Drag & Drop to not work. Always do a dotnet publish and run the generated executable for all features to work

Build only:

dotnet build DVModManager.slnx

Output: DVModManager/bin/Release/net8.0/<rid>/publish/

Building DVModProfiles

DVModProfiles targets .NET Framework 4.8 and needs references to Derail Valley's game assemblies:

  1. Have Derail Valley with UMM installed
  2. Create DVModProfiles/Directory.Build.targets:
    <Project>
      <PropertyGroup>
        <ReferencePath>PATH_TO_DERAIL_VALLEY/DerailValley_Data/Managed</ReferencePath>
      </PropertyGroup>
    </Project>
  3. Build:
    cd DVModProfiles
    dotnet build DVModProfiles.slnx

See DVModProfiles/README.md for packaging and debug deploy scripts.

Project Structure

DVModManager/
  DVModManager.slnx          Solution (desktop app only)
  DVModManager/
    DVModManager.csproj       Project file (net8.0)
    Program.cs                Entry point
    App.axaml / .cs           DI setup, app lifecycle
    Models/                   Data models
    Services/                 Service interfaces + implementations
    ViewModels/               MVVM view models
    Views/                    Avalonia XAML views
    Converters/               XAML value converters
    Helpers/                  Utility classes
    Resources/                Localization CSV

DVModProfiles/
  DVModProfiles.slnx          Separate solution
  DVModProfiles.csproj        Project file (net48)
  Main.cs                     UMM mod entry point
  Profiles/                   Profile reading, sync, settings
  UI/                         In-game UI (IMGUI)

IDE Setup

Any IDE with .NET 8 support works:

  • Visual Studio 2022: open DVModManager.slnx
  • JetBrains Rider: open DVModManager.slnx
  • VS Code: install the C# Dev Kit extension

See Also

Clone this wiki locally