diff --git a/src/Avalonia.DotNetCoreRuntime/AppBuilder.cs b/src/Avalonia.DotNetCoreRuntime/AppBuilder.cs index 2b9b3083b1..2ce0ee32fb 100644 --- a/src/Avalonia.DotNetCoreRuntime/AppBuilder.cs +++ b/src/Avalonia.DotNetCoreRuntime/AppBuilder.cs @@ -37,12 +37,15 @@ namespace Avalonia /// An instance. public AppBuilder UsePlatformDetect() { + var os = RuntimePlatform.GetRuntimeInfo().OperatingSystem; //We don't have the ability to load every assembly right now, so we are //stuck with manual configuration here //Helpers are extracted to separate methods to take the advantage of the fact //that CLR doesn't try to load dependencies before referencing method is jitted - if (RuntimePlatform.GetRuntimeInfo().OperatingSystem == OperatingSystemType.WinNT) + if (os == OperatingSystemType.WinNT) LoadWin32(); + else if(os==OperatingSystemType.OSX) + LoadMonoMac(); else LoadGtk3(); this.UseSkia(); @@ -50,6 +53,7 @@ namespace Avalonia return this; } + void LoadMonoMac() => this.UseMonoMac(); void LoadWin32() => this.UseWin32(); void LoadGtk3() => this.UseGtk3(); } diff --git a/src/OSX/Avalonia.MonoMac/AssemblyInfo.cs b/src/OSX/Avalonia.MonoMac/AssemblyInfo.cs new file mode 100644 index 0000000000..7aeb12b1de --- /dev/null +++ b/src/OSX/Avalonia.MonoMac/AssemblyInfo.cs @@ -0,0 +1,5 @@ +using System; +using System.Collections.Generic; +using System.Text;using Avalonia.MonoMac; +using Avalonia.Platform; +[assembly: ExportWindowingSubsystem(OperatingSystemType.OSX, 1, "MonoMac", typeof(MonoMacPlatform), nameof(MonoMacPlatform.Initialize))]] \ No newline at end of file diff --git a/src/OSX/Avalonia.MonoMac/Avalonia.MonoMac.csproj b/src/OSX/Avalonia.MonoMac/Avalonia.MonoMac.csproj index d5aa038b0e..3a279c05fb 100644 --- a/src/OSX/Avalonia.MonoMac/Avalonia.MonoMac.csproj +++ b/src/OSX/Avalonia.MonoMac/Avalonia.MonoMac.csproj @@ -2,8 +2,10 @@ netstandard2.0 True + false +