doc/articles/uno-app-solution-structure.md
This guide briefly explains the structure of an app created with either the dotnet new unoapp template or the Uno Platform Template Wizard. It is particularly aimed at developers who have not worked with cross-platform codebases before.
After creating a new blank solution called MyApp, it will contain the following project:
The MyApp.csproj project supports Mobile (iOS/Android), WebAssembly, Desktop (macOS, Linux X11/Framebuffer, Windows 7+), and Windows App SDK targets.
You'll find below details about the contents of the solution.
The Platforms folder contains platform specific files for targets supported by Uno Platform:
Desktop uses the Uno Platform Skia Desktop support for Windows 7+, Linux, and macOSAndroid contains files and assets specific to Android Phones, Tablets, TVs, and watchesiOS targets Apple's iOS devices, Phones, and TabletsWebAssembly targets the browser using WebAssemblyWindows targets the Windows App SDK to run on WindowsThis folder contains the debug profile configuration. This is used to choose where to debug your Skia Desktop app (Local Windows or WSL), the Web Server for your WebAssembly app, or Package and Unpackaged modes for Windows App SDK.
This folder contains all the assets (images, splash screens, data, ...) that are published as part of the app.
App.xaml and App.xaml.cs are the common entry point for the app. The generic app setup runtime code generally goes here.MainPage.xaml and MainPage.xaml.cs contain the main UI of the app.GlobalUsings.cs contains the global usings define for the project.app.manifest contains Windows specific configuration for net10.0-desktop and net10.0-windows targets.Package.appxmanifest contains metadata about the application such as the app name and description.This solution folder contains the configuration for the whole solution:
global.json contains the .NET SDK configuration as well as the Uno.Sdk version to use. See our documentation on how to update it.Directory.Build.props and Directory.Build.targets contain common solution configurations applied to all projects.Directory.Packages.props contains the NuGet Central Package Management package versions.See additional guides on handling platform-specific C# code and XAML markup in an Uno Platform project.
Learn more about: