Add Visual Studio extension for Linux platform support
VSIX extension that adds: - "OpenMaui Linux App" project template in File → New → Project - Pre-configured launch profiles for Linux debugging - WSL integration for Windows developers - x64 and ARM64 build configurations Launch Profiles included: - Linux (Local) - Direct execution - Linux (WSL) - Run via WSL - Linux (x64 Release) - Release build for x64 - Linux (ARM64 Release) - Release build for ARM64 - Publish Linux x64/ARM64 - Self-contained publishing Build with: msbuild /p:Configuration=Release Output: OpenMaui.VisualStudio.vsix
This commit is contained in:
143
vsix/README.md
Normal file
143
vsix/README.md
Normal file
@@ -0,0 +1,143 @@
|
||||
# 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
|
||||
```bash
|
||||
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
|
||||
|
||||
### Via WSL (Recommended)
|
||||
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 LLC
|
||||
|
||||
---
|
||||
|
||||
*Developed by MarketAlly LLC • Lead Architect: David H. Friedel Jr.*
|
||||
Reference in New Issue
Block a user