Overview
This guide walks you through deploying .NET applications to mobile platforms using Xamarin, MAUI, and .NET 8+. Learn how to configure your development environment, build your app, and publish it to the appropriate app stores.
Prerequisites
- Visual Studio 2022 ≥ 17.6 (Windows) or Visual Studio for Mac ≥ 8.12
- .NET SDK 8.0 or later
- Android SDK & Android Studio (for Android builds)
- Xcode 15+ (for iOS builds, macOS required)
- Windows 10/11 (for UWP/WinUI) or Windows 10/11 with Hyper‑V for emulators
Ensure all components are up‑to‑date via the Visual Studio Installer and platform‑specific SDK managers.
Deploy to Android
1. Configure the Android Project
<PropertyGroup>
<TargetFramework>net8.0-android</TargetFramework>
<AndroidPackageFormat>aab</AndroidPackageFormat>
<AndroidKeyStore>True</AndroidKeyStore>
<SigningKeyStore>$(ProjectDir)keystore.jks</SigningKeyStore>
<SigningKeyAlias>mykey</SigningKeyAlias>
<SigningKeyPass><!-- secure pass --></SigningKeyPass>
</PropertyGroup>
2. Build the App Bundle
3. Publish to Google Play
- Sign in to Google Play Console.
- Create a new release, upload the generated
.aab
file. - Complete the store listing and roll out.
Deploy to iOS
1. Set Up Signing
Open the iOS project in Xcode, add your Apple Developer certificate and provisioning profile.
2. Build the IPA
dotnet build -c Release -f net8.0-ios /p:RuntimeIdentifier=ios-arm64
3. Upload to App Store Connect
- Open
Transporter
(available on macOS). - Drag the generated
.ipa
file and submit. - Complete the App Store metadata in App Store Connect.
Deploy to Windows Mobile
1. Choose the Target
For UWP/WinUI, set TargetFramework
to net8.0-windows10.0.19041.0
. For ARM devices, use win10-arm64
.
2. Build the MSIX Package
dotnet build -c Release -f net8.0-windows10.0.19041.0 /p:PackageType=Msix
3. Deploy
- Use
winappdeploycmd
to push the package to a device. - Or upload to the Microsoft Store via Partner Center.
Common Issues
- Signing errors – Verify keystore passwords and certificate validity.
- Missing SDK – Run
vswhere -latest -products * -requires Microsoft.Component.MSBuild
to ensure all components are installed. - Emulator not starting – Enable Hyper‑V (Windows) or HAXM (macOS) and restart.
- App store rejection – Review store guidelines for each platform.