ViceSharp.Host.MacOS
1.1.0
dotnet add package ViceSharp.Host.MacOS --version 1.1.0
NuGet\Install-Package ViceSharp.Host.MacOS -Version 1.1.0
<PackageReference Include="ViceSharp.Host.MacOS" Version="1.1.0" />
<PackageVersion Include="ViceSharp.Host.MacOS" Version="1.1.0" />
<PackageReference Include="ViceSharp.Host.MacOS" />
paket add ViceSharp.Host.MacOS --version 1.1.0
#r "nuget: ViceSharp.Host.MacOS, 1.1.0"
#:package ViceSharp.Host.MacOS@1.1.0
#addin nuget:?package=ViceSharp.Host.MacOS&version=1.1.0
#tool nuget:?package=ViceSharp.Host.MacOS&version=1.1.0
ViceSharp.Host.MacOS
PLATFORM-CROSS-001 macOS host shell for ViceSharp.
This is the macOS-native shell project. It is intentionally a thin wrapper:
the actual UI (views, view-models, gRPC host plumbing) is provided by
ViceSharp.Avalonia, and the in-process emulator host composition comes from
ViceSharp.Host. This project just supplies the macOS-flavoured entrypoint
(Program.cs) and bundle metadata (Info.plist, csproj CFBundle*
properties) so we can produce an .app bundle on a macOS build host.
Build
# From the repo root.
dotnet build src/ViceSharp.Host.MacOS/ViceSharp.Host.MacOS.csproj -c Release
The project targets net10.0 (cross-platform), so the build runs on Windows,
Linux, and macOS hosts equally. macOS-specific bundling kicks in when you
build with a macOS RuntimeIdentifier:
# Apple Silicon.
dotnet publish src/ViceSharp.Host.MacOS/ViceSharp.Host.MacOS.csproj \
-c Release -r osx-arm64 --self-contained true
# Intel.
dotnet publish src/ViceSharp.Host.MacOS/ViceSharp.Host.MacOS.csproj \
-c Release -r osx-x64 --self-contained true
Run (macOS host)
dotnet run --project src/ViceSharp.Host.MacOS/ViceSharp.Host.MacOS.csproj -c Release
Prerequisites
- .NET 10 SDK (
dotnet --version>= 10.0.200). - For producing an actual macOS
.appbundle: a macOS build host. Cross-builds on Windows / Linux produce a portablenet10.0binary but do not codesign or bundle (those steps are macOS-only). - The macOS
.NETworkload is optional for the Phase 1 closeout scaffold: the TFM is the cross-platformnet10.0, so nomacosworkload is required to compile this csproj. The workload becomes relevant when we promote tonet10.0-macoslater for codesigning and entitlements work.
Bundle id
com.sharpninja.vicesharp.macos
Set in both the csproj (<CFBundleIdentifier>) and Info.plist. Keep them in
sync if you ever change it.
What this project does NOT do
- It does not contain any UI XAML, view-models, or view code; that all lives
in
ViceSharp.Avaloniaand must not be duplicated here. - It does not contain any emulator runtime code; that all lives in
ViceSharp.Host(composition) and the lower-tier runtime projects (ViceSharp.Core,ViceSharp.Chips,ViceSharp.Architectures,ViceSharp.RomFetch, etc.). This shell only referencesViceSharp.AvaloniaandViceSharp.Host, preserving the host boundary enforced byAvaloniaBoundaryTests.
See also
src/ViceSharp.Avalonia/- shared Avalonia UI (App, MainWindow, views, view-models).src/ViceSharp.Host/- in-process emulator + gRPC composition.tests/ViceSharp.TestHarness/HostShells/MacOSHostShellTests.cs- scaffold smoke test that pins the public surface of this project.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Avalonia (>= 12.0.5)
- Avalonia.Desktop (>= 12.0.5)
- Avalonia.Fonts.Inter (>= 12.0.5)
- Avalonia.Themes.Fluent (>= 12.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.