Files
logikonline 840ad0ce8f
All checks were successful
CI / Build (Linux) (pull_request) Successful in 23s
chore(perf): realign version to 9.0.0 to match .NET/MAUI versioning
Change version from 1.0.0 to 9.0.0 to align with .NET 9 / MAUI 9.0.x versioning convention. Update all package references, templates, and documentation. Change copyright holder from "MarketAlly LLC" to "MarketAlly Pte Ltd" across all files. Update CHANGELOG to document version realignment and mark 1.0.0 as deprecated. Update release notes to reflect 541 passing tests (up from 217) and include native resource leak fixes, SafeHandle wrappers, and performance benchmarks.
2026-03-07 00:14:47 -05:00
..

OpenMaui Visual Studio Extension

This Visual Studio extension adds Linux platform support for .NET MAUI applications.

Features

Project Templates

When installed, you'll see "OpenMaui Linux App" in Visual Studio's New Project dialog:

File → New → Project → Search "OpenMaui"

Launch Profiles

The template includes pre-configured launch profiles:

Profile Description
Linux (Local) Run directly (requires Linux or WSL with GUI)
Linux (WSL) Run via Windows Subsystem for Linux
Linux (x64 Release) Build and run release for x64
Linux (ARM64 Release) Build and run release for ARM64
Publish Linux x64 Create self-contained x64 package
Publish Linux ARM64 Create self-contained ARM64 package

How It Works

┌─────────────────────────────────────────────────────────┐
│                   Visual Studio                          │
├─────────────────────────────────────────────────────────┤
│  File → New → Project                                    │
│    └── OpenMaui Linux App  ←  This extension adds this  │
├─────────────────────────────────────────────────────────┤
│  Debug Dropdown                                          │
│    ├── Linux (Local)                                     │
│    ├── Linux (WSL)        ←  Launch profiles             │
│    ├── Linux (x64 Release)                               │
│    └── Publish Linux...                                  │
└─────────────────────────────────────────────────────────┘

Installation

From Visual Studio Marketplace

  1. Open Visual Studio 2022
  2. Extensions → Manage Extensions
  3. Search for "OpenMaui"
  4. Click Download and restart VS

From VSIX File

  1. Download OpenMaui.VisualStudio.vsix
  2. Double-click to install
  3. Restart Visual Studio

Building the Extension

Prerequisites

  • Visual Studio 2022 with "Visual Studio extension development" workload
  • .NET Framework 4.8 Developer Pack

Build Steps

cd vsix/OpenMaui.VisualStudio
dotnet restore
msbuild /p:Configuration=Release

The VSIX will be in bin/Release/OpenMaui.VisualStudio.vsix

Project Structure

vsix/
└── OpenMaui.VisualStudio/
    ├── OpenMaui.VisualStudio.csproj    # Extension project
    ├── source.extension.vsixmanifest   # VSIX metadata
    ├── ProjectTemplates/               # VS project templates
    │   └── OpenMauiLinuxApp/
    │       ├── OpenMauiLinuxApp.vstemplate
    │       ├── OpenMauiLinuxApp.csproj
    │       ├── Program.cs
    │       ├── App.cs
    │       ├── MainPage.cs
    │       ├── MainPage.xaml
    │       └── Properties/
    │           └── launchSettings.json
    └── Resources/
        ├── Icon.png
        └── Preview.png

Adding Linux to Existing MAUI Projects

If you have an existing MAUI project and want to add Linux support:

Option 1: Add Platform Folder

  1. Add Platforms/Linux/Program.cs to your project
  2. Add OpenMaui.Controls.Linux NuGet package
  3. Copy launchSettings.json from template to Properties/

Option 2: Create Companion Project

  1. Create new "OpenMaui Linux App" project
  2. Reference your shared MAUI library
  3. Build Linux version separately

Debugging on Linux

  1. Install WSL 2 with Ubuntu
  2. Install .NET SDK in WSL: sudo apt install dotnet-sdk-9.0
  3. Install X11 libs: sudo apt install libx11-6
  4. Select "Linux (WSL)" profile and press F5

Via Remote Machine

  1. Set up SSH access to Linux machine
  2. Install vsdbg on remote machine
  3. Configure remote debugging in VS

Via Virtual Machine

  1. Set up Linux VM (VMware, VirtualBox, Hyper-V)
  2. Share project folder with VM
  3. Build and run inside VM

Troubleshooting

"Cannot find 'wsl.exe'"

Install WSL: wsl --install in PowerShell (Admin)

"Display not found"

Ensure WSLg is enabled (Windows 11) or configure X server (Windows 10)

Template not appearing

  1. Clear template cache: devenv /updateconfiguration
  2. Restart Visual Studio

License

MIT License - Copyright (c) 2025 MarketAlly Pte Ltd


Developed by MarketAlly Pte Ltd • Lead Architect: David H. Friedel Jr.