sudo apt-get install -y dotnet-sdk-8.0
sudo apt-get install -y dotnet-runtime-8.0
-
OpenIPC
- This appears to be the core or shared library project that other platform-specific projects reference.
- It likely contains shared code, models, services, or ViewModels that can be used across all platforms (Desktop, Android, Browser, iOS).
-
OpenIPC.Desktop
- This project is intended for desktop platforms (Windows, macOS, and Linux).
- In Avalonia, a "Desktop" project can target multiple operating systems using
net7.0-windows
,net7.0-macos
, andnet7.0-linux
. - You can configure it to build for any or all of these desktop operating systems.
-
OpenIPC.Android
- This project targets Android devices.
- It will have Android-specific configurations and might use
net8.0-android
ornet7.0-android
as theTargetFramework
. - Contains Android-specific files and setup, like Android permissions, manifest configurations, etc.
-
OpenIPC.Browser
- This project is meant for web applications, targeting WebAssembly (WASM) using Avalonia's browser support.
- The target framework is typically
net8.0-browser
. - This allows you to run the app in a web browser, making use of WebAssembly technology to execute .NET code in a web environment.
-
OpenIPC.iOS
- This project is intended for iOS devices (iPhones and iPads).
- Uses a target framework like
net8.0-ios
ornet7.0-ios
with iOS-specific configurations. - Contains iOS-specific files such as
Info.plist
for app metadata,Entitlements.plist
for permissions, andAppDelegate.cs
for application lifecycle management.
Project | Target Platform(s) | Description |
---|---|---|
OpenIPC | Shared (all platforms) | Core library or shared code used across all platform-specific projects. |
OpenIPC.Desktop | Windows, macOS, Linux | Targets desktop OSs, can be configured to support win-x64 , osx-arm64 , linux-x64 , etc. |
OpenIPC.Android | Android | Targets Android devices with net8.0-android or net7.0-android . |
OpenIPC.Browser | Browser (WebAssembly) | Targets web browsers with WebAssembly using net8.0-browser . |
OpenIPC.iOS | iOS | Targets iOS devices with net8.0-ios or net7.0-ios . |
To build each project, navigate to the specific project folder and run the dotnet publish
command with the appropriate runtime identifier for that platform.
For example:
-
macOS Desktop: Go to
OpenIPC.Desktop
and run:dotnet publish -c Release -r osx-arm64 --self-contained