diff --git a/.azure-devops-macos.yml b/.azure-devops-macos.yml
new file mode 100644
index 000000000000..89cbd777f26c
--- /dev/null
+++ b/.azure-devops-macos.yml
@@ -0,0 +1,50 @@
+jobs:
+- job: macOS
+ variables:
+ CI_Build: true
+ SourceLinkEnabled: false
+
+ pool:
+ vmImage: 'macOS-10.14'
+
+ steps:
+ - checkout: self
+ clean: true
+
+ - bash: /bin/bash -c "sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh 5_18_1"
+ displayName: Select Xamarin Version
+
+ - task: NuGetToolInstaller@0
+ inputs:
+ versionSpec: 4.7.0
+ checkLatest: false
+
+ - task: MSBuild@1
+ inputs:
+ solution: src/SamplesApp/SamplesApp.macOS/SamplesApp.macOS.csproj
+ msbuildLocationMethod: version
+ msbuildVersion: latest
+ msbuildArchitecture: x86
+ msbuildArguments: /r /p:Configuration=Release /detailedsummary /bl:$(build.artifactstagingdirectory)/build-macos.binlog
+ clean: false
+ maximumCpuCount: true
+ restoreNugetPackages: false
+ logProjectEvents: false
+ createLogFile: false
+
+ - task: CopyFiles@2
+ displayName: 'Copy macOS artifacts'
+ inputs:
+ SourceFolder: $(build.sourcesdirectory)/src/SamplesApp/SamplesApp.macOS/bin/Release
+ Contents: '**/*.pkg'
+ TargetFolder: $(build.artifactstagingdirectory)
+ CleanTargetFolder: false
+ OverWrite: false
+ flattenFolders: false
+
+ - task: PublishBuildArtifacts@1
+ condition: always()
+ inputs:
+ PathtoPublish: $(build.artifactstagingdirectory)
+ ArtifactName: uno-macos-artifacts
+ ArtifactType: Container
diff --git a/.azure-devops-wasm-uitests.yml b/.azure-devops-wasm-uitests.yml
index 1ffd13241776..0835491fc03c 100644
--- a/.azure-devops-wasm-uitests.yml
+++ b/.azure-devops-wasm-uitests.yml
@@ -46,8 +46,6 @@ jobs:
flattenFolders: false
- task: PublishBuildArtifacts@1
- # https://developercommunity.visualstudio.com/content/problem/284991/public-vsts-previouw-cant-set-build-number-of-pr-b.html
- condition: eq(variables['System.PullRequest.IsFork'], 'False')
inputs:
PathtoPublish: $(build.artifactstagingdirectory)
ArtifactName: wasm-uitests
diff --git a/.vsts-ci.yml b/.vsts-ci.yml
index 1d8cb7b38a75..dbd16e00327b 100644
--- a/.vsts-ci.yml
+++ b/.vsts-ci.yml
@@ -5,6 +5,7 @@ resources:
jobs:
- template: .azure-devops-wasm-uitests.yml
+- template: .azure-devops-macos.yml
- job: VS_Latest
@@ -96,56 +97,6 @@ jobs:
ArtifactName: NugetPackages
ArtifactType: Container
-# Disabled until VS4Mac is updated to 7.7 or later.
-#- job: macOS
-# variables:
-# NUGET_PACKAGES: $(Agent.WorkFolder)\.nuget
-# NUGET_HTTP_CACHE_PATH: $(Agent.WorkFolder)\.nuget-http-cache
-# CombinedConfiguration: Release|Any CPU
-# CI_Build: true
-# SourceLinkEnabled: false
-#
-# queue:
-# name: Hosted macOS
-#
-# steps:
-# - checkout: self
-# clean: true
-#
-# - task: NuGetToolInstaller@0
-# inputs:
-# versionSpec: 4.7.0
-# checkLatest: false
-#
-# - task: NuGetCommand@2
-# inputs:
-# command: restore
-# solution: src/Uno.UI-vs4mac.sln
-# selectOrConfig: select
-# includeNuGetOrg: true
-# verbosityRestore: Normal
-#
-# - task: MSBuild@1
-# inputs:
-# solution: Build/Uno.UI.proj
-# msbuildLocationMethod: version
-# msbuildVersion: latest
-# msbuildArchitecture: x86
-# msbuildArguments: /r /p:CheckExclusions=True "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)/build-macos.binlog
-# clean: false
-# maximumCpuCount: true
-# restoreNugetPackages: false
-# logProjectEvents: false
-# createLogFile: false
-#
-# - task: PublishBuildArtifacts@1
-# # https://developercommunity.visualstudio.com/content/problem/284991/public-vsts-previouw-cant-set-build-number-of-pr-b.html
-# condition: eq(variables['System.PullRequest.IsFork'], 'False')
-# inputs:
-# PathtoPublish: $(build.artifactstagingdirectory)
-# ArtifactName: uno-macos-artifacts
-# ArtifactType: Container
-
- job: Documentation
pool:
diff --git a/build/PackageDiffIgnore.xml b/build/PackageDiffIgnore.xml
index c278dcaba528..0d7f51d479a6 100644
--- a/build/PackageDiffIgnore.xml
+++ b/build/PackageDiffIgnore.xml
@@ -64,7 +64,7 @@
reason="Removed as Routed Events implement it properly"/>
+ reason="Removed to improve the C#/JS call performance"/>
@@ -92,5 +92,18 @@
reason="Unused Uno specific property" />
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/Uno.UI.nuspec b/build/Uno.UI.nuspec
index 141975da8653..abfdd1f3a90a 100644
--- a/build/Uno.UI.nuspec
+++ b/build/Uno.UI.nuspec
@@ -42,6 +42,13 @@
+
+
+
+
+
+
+
@@ -57,9 +64,14 @@
+
+
+
+
+
@@ -82,6 +94,15 @@
+
+
+
+
+
+
+
+
+
@@ -139,8 +160,7 @@
-
-
+
@@ -151,6 +171,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -182,9 +213,11 @@
+
+
diff --git a/doc/ReleaseNotes/_ReleaseNotes.md b/doc/ReleaseNotes/_ReleaseNotes.md
index 87217139eaaf..29b9f394b976 100644
--- a/doc/ReleaseNotes/_ReleaseNotes.md
+++ b/doc/ReleaseNotes/_ReleaseNotes.md
@@ -35,6 +35,7 @@
* [Wasm] Add support of hardware/browser back button in `SystemNavigationManager.BackRequested`
* [Wasm] Added support for custom DOM events
* WebAssembly UI tests are now integrated in the CI
+* Enable support for macOS head development
### Breaking Changes
* The `WebAssemblyRuntime.InvokeJSUnmarshalled` method with three parameters has been removed.
diff --git a/doc/articles/debugging-uno-ui.md b/doc/articles/debugging-uno-ui.md
index 85ab727f8e9f..82c8ce2be936 100644
--- a/doc/articles/debugging-uno-ui.md
+++ b/doc/articles/debugging-uno-ui.md
@@ -66,17 +66,14 @@ to the documentation of the [Uno.PackageDiff tool](https://github.com/nventive/U
## Building Uno.UI for macOS using Visual Studio for Mac
-Building Uno.UI for the macOS platform using vs4mac requires Visual Studio for mac 7.7 preview or later.
+Building Uno.UI for the macOS platform using vs4mac requires Visual Studio for mac 8.0 or later.
A few steps to be able to build:
- The `xamarinmac20` Target Framework must be the first in the `TargetFrameworks` list of the `Uno.UI`, `Uno`, `Uno.Foundation` and `Uno.Xaml` projects. VS4Mac only builds the first Target Framework.
-- In both `Uno` and `Uno.UI` the ItemGroups containing references to `Xamarin.Android.Support.v4` and `Xamarin.Android.Support.v7.AppCompat` must be commented out.
-Failing to remove those groups will make the nuget restore fail, because VS4Mac does not support conditional package references.
- In `Uno.UI`, comment the project reference to the `Uno.UI.BindingHelper` project, because VS4Mac does not support conditional project references.
-- Disable both nuget restore features in Visual Studio for Mac configuration
To build and run:
-- In a shell in the `src/Uno.UI` folder, run `msbuild /r`. This will make the nuget restore work properly.
+- In a shell in the `src/Uno.UI` folder, run `msbuild /r`. This will make the nuget restore work faster.
- Once done, in VS4Mac, run the `SampleApp.macOS` project, which will build the dependencies and the app itself.
## Troubleshooting Source Generation
diff --git a/src/.vsconfig b/src/.vsconfig
index e2ed11bca9ca..d8ef0c08d3f5 100644
--- a/src/.vsconfig
+++ b/src/.vsconfig
@@ -56,23 +56,13 @@
"Microsoft.VisualStudio.Component.DockerTools",
"Microsoft.VisualStudio.Component.Web",
"Microsoft.VisualStudio.Component.Wcf.Tooling",
- "Microsoft.VisualStudio.Component.GraphDocument",
- "Microsoft.VisualStudio.Component.CodeMap",
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Component.VC.CoreIde",
- "Microsoft.VisualStudio.Component.VC.Redist.14.Latest",
"Microsoft.VisualStudio.Component.ClassDesigner",
- "Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Native",
- "Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.Windows10SDK.17763",
"Microsoft.VisualStudio.Component.Graphics.Tools",
- "Microsoft.VisualStudio.Component.VC.DiagnosticTools",
- "Microsoft.VisualStudio.Component.VC.CMake.Project",
"Microsoft.VisualStudio.Component.VC.ATL",
- "Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest",
- "Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest",
- "Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.Component.NetFX.Native",
"Microsoft.VisualStudio.ComponentGroup.UWP.NetCoreAndStandard",
"Microsoft.VisualStudio.Component.Graphics",
@@ -100,15 +90,6 @@
"Microsoft.VisualStudio.Component.AspNet45",
"Microsoft.VisualStudio.Component.WebDeploy",
"Microsoft.VisualStudio.Workload.NetWeb",
- "Microsoft.VisualStudio.ComponentGroup.Azure.Prerequisites",
- "Microsoft.VisualStudio.Component.Azure.Waverton.BuildTools",
- "Microsoft.VisualStudio.Component.Azure.Waverton",
- "Microsoft.Component.Azure.DataLake.Tools",
- "Microsoft.VisualStudio.Component.Azure.ResourceManager.Tools",
- "Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools",
- "Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices",
- "Microsoft.VisualStudio.Component.Azure.ServiceFabric.Tools",
- "Microsoft.VisualStudio.Workload.Azure",
"Microsoft.VisualStudio.Component.Node.Tools",
"Microsoft.VisualStudio.Workload.Node",
"Microsoft.VisualStudio.Component.MonoDebugger",
diff --git a/src/SamplesApp/SamplesApp.UWP/Package.appxmanifest b/src/SamplesApp/SamplesApp.UWP/Package.appxmanifest
index af0ec6e66da1..2ad36b27c31a 100644
--- a/src/SamplesApp/SamplesApp.UWP/Package.appxmanifest
+++ b/src/SamplesApp/SamplesApp.UWP/Package.appxmanifest
@@ -8,7 +8,7 @@
diff --git a/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP.csproj b/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP.csproj
index b30d4a05d4c2..3f8a47b4a7db 100644
--- a/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP.csproj
+++ b/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP.csproj
@@ -17,6 +17,7 @@
512
{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
SamplesApp.UWP_TemporaryKey.pfx
+ 8AE555112B5DF25CE67EF5BB90ADE081391BBC51
true
@@ -39,7 +40,7 @@
false
prompt
true
- true
+ false
true
@@ -62,7 +63,7 @@
false
prompt
true
- true
+ false
true
@@ -85,7 +86,7 @@
false
prompt
true
- true
+ false
diff --git a/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP_TemporaryKey.pfx b/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP_TemporaryKey.pfx
new file mode 100644
index 000000000000..31e165e48634
Binary files /dev/null and b/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP_TemporaryKey.pfx differ
diff --git a/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Presentation/SampleChooserViewModel.macOS.cs b/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Presentation/SampleChooserViewModel.macOS.cs
new file mode 100644
index 000000000000..6b5d4d76e9ba
--- /dev/null
+++ b/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Presentation/SampleChooserViewModel.macOS.cs
@@ -0,0 +1,106 @@
+#if __MACOS__
+using System;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Reflection;
+using System.Linq;
+using Uno.UI.Samples.Controls;
+using System.Collections;
+using System.Collections.Generic;
+using SampleControl.Entities;
+using Uno.Disposables;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using AppKit;
+using System.IO;
+using Foundation;
+using Windows.UI;
+using Uno.Extensions;
+using Uno.Logging;
+using Microsoft.Extensions.Logging;
+
+namespace SampleControl.Presentation
+{
+
+ public partial class SampleChooserViewModel
+ {
+ public void PrintViewHierarchy(AppKit.NSView vg, System.Text.StringBuilder sb, int level = 0)
+ {
+ for (int i = 0; i < vg.Subviews.Length; i++)
+ {
+ var v = vg.Subviews[i];
+ var vElement = v as IFrameworkElement;
+ var desc = string.Concat(Enumerable.Repeat(" |", level)) + $" [{i + 1}/{vg.Subviews.Length}] {v.Class.Name}";
+ if (vElement != null)
+ {
+ desc += $" -- ActualHeight:{vElement.ActualHeight}, ActualWidth:{vElement.ActualWidth}, Height:{vElement.Height}, Width:{vElement.Width}, DataContext:{(vElement as IDataContextProvider)?.DataContext?.GetType().FullName}";
+ var vTextBlock = vElement as TextBlock;
+ if (vTextBlock != null)
+ {
+ desc += $", Text: {vTextBlock.Text}";
+ }
+ }
+
+ sb.AppendLine(desc);
+ var childViewGroup = v as AppKit.NSView;
+ if (childViewGroup != null)
+ {
+ PrintViewHierarchy(childViewGroup, sb, level + 1);
+ }
+ }
+ }
+
+ private async Task DumpOutputFolderName(CancellationToken ct, string folderName)
+ {
+ var fullPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), folderName);
+
+ Console.WriteLine($"Output folder for tests: {fullPath}");
+ }
+
+ private async Task GenerateBitmap(CancellationToken ct, string folderName, string fileName, IFrameworkElement content)
+ {
+ throw new NotSupportedException($"GenerateBitmap is not supported by this platform");
+
+ //content.MinWidth = 400;
+ //content.MinHeight = 400;
+ //(content as AppKit.NSView).BackgroundColor = Colors.White;
+
+ //var size = (content as AppKit.NSView).SizeThatFits(new CoreGraphics.CGSize(1024, 1024));
+
+ //if (size.Width == nfloat.NaN || size.Height == nfloat.NaN)
+ //{
+ // size = new CoreGraphics.CGSize(1024, 1024);
+ //}
+
+ //NSGraphics.BeginImageContextWithOptions(size, true, 0);
+ //var ctx = NSGraphics.GetCurrentContext();
+
+ //(content as AppKit.NSView)?.Layer.RenderInContext(ctx);
+
+ //using (var img = UIGraphics.GetImageFromCurrentImageContext())
+ //{
+ // NSGraphics.EndImageContext();
+
+ // var fullPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), folderName);
+ // var filePath = Path.Combine(fullPath, fileName);
+
+ // Directory.CreateDirectory(fullPath);
+
+ // NSError error;
+ // img.AsPNG().Save(filePath, true, out error);
+
+ // if (error != null)
+ // {
+ // this.Log().Error(error.ToString());
+ // }
+
+ // if (this.Log().IsEnabled(LogLevel.Debug))
+ // {
+ // this.Log().Debug($"Wrote screenshot to {filePath}");
+ // }
+ //}
+ }
+ }
+}
+#endif
diff --git a/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Views/Controls/StarStackPanel.cs b/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Views/Controls/StarStackPanel.cs
index a2d826e2b5d7..3e91a76ca8be 100644
--- a/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Views/Controls/StarStackPanel.cs
+++ b/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Views/Controls/StarStackPanel.cs
@@ -5,7 +5,7 @@
using System.Linq;
using System.Text.RegularExpressions;
-#if !NETFX_CORE && !__ANDROID__ && !__IOS__ && !__WASM__
+#if !NETFX_CORE && !__ANDROID__ && !__IOS__ && !__WASM__ && !__MACOS__
using System.Windows;
using System.Windows.Controls;
#else
@@ -13,13 +13,15 @@
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
#endif
-#if __ANDROID__ || __IOS__ || __WASM__
+#if __ANDROID__ || __IOS__ || __WASM__ || __MACOS__
using DependencyObject = System.Object;
#endif
#if __ANDROID__
using UIElement = Android.Views.View;
#elif __IOS__
using UIElement = UIKit.UIView;
+#elif __MACOS__
+using UIElement = AppKit.NSView;
#endif
namespace Uno.UI.Samples.Controls
@@ -45,7 +47,7 @@ protected override Size MeasureOverride(Size availableSize)
double starTotal = 0;
var children = Children
-#if !NETFX_CORE && !__ANDROID__ && !__IOS__ // Useless operator (==overhead on UI thread) for Jupiter platform
+#if !NETFX_CORE && !__ANDROID__ && !__IOS__ && !__MACOS__ // Useless operator (==overhead on UI thread) for Jupiter platform
.Cast()
#endif
.OrderBy(GetPriority)
@@ -129,7 +131,7 @@ private void MesureChildAbsolute(UIElement child, Orientation orientation, Size
availableSize.Width = Math.Max(sizeHint.Value, 0);
}
-#if __ANDROID__ || __IOS__
+#if __ANDROID__ || __IOS__ || __MACOS__
var desiredSize = MeasureElement(child, availableSize);
#else
child.Measure(availableSize);
@@ -159,7 +161,7 @@ private void MesureChildAuto(UIElement child, Orientation orientation, Size avai
availableSize.Width = Math.Max(availableSize.Width - totalSize.Width, 0);
}
-#if __ANDROID__ || __IOS__
+#if __ANDROID__ || __IOS__ || __MACOS__
var desiredSize = MeasureElement(child, availableSize);
#else
child.Measure(availableSize);
@@ -197,7 +199,7 @@ private void MesureChildStar(UIElement child, Orientation orientation, Size avai
availableSize.Width *= portion;
}
-#if __ANDROID__ || __IOS__
+#if __ANDROID__ || __IOS__ || __MACOS__
var desiredSize = MeasureElement(child, availableSize);
#else
child.Measure(availableSize);
@@ -319,7 +321,7 @@ private Record ComputeChildSize(UIElement child, Orientation orientation, ref Si
private void ComputeChildAutoSize(UIElement child, Orientation orientation, ref Size finalSize, ref double totalLength, ref Size size)
{
-#if __ANDROID__ || __IOS__
+#if __ANDROID__ || __IOS__ || __MACOS__
var desiredSize = GetElementDesiredSize(child);
#else
var desiredSize = child.DesiredSize;
@@ -396,7 +398,7 @@ private void ArrangeChild(Record record, Orientation orientation, ref Size final
totalLength += size.Width;
}
-#if __ANDROID__ || __IOS__
+#if __ANDROID__ || __IOS__ || __MACOS__
ArrangeElement(record.Child, rect);
#else
record.Child.Arrange(rect);
@@ -436,7 +438,7 @@ private static void InvalidateLayoutOnChanged(DependencyObject d, DependencyProp
panel.InvalidateMeasure();
-#if !__ANDROID__ && !__IOS__
+#if !__ANDROID__ && !__IOS__ && !__MACOS__
panel.InvalidateArrange();
#endif
}
diff --git a/src/SamplesApp/SamplesApp.UnitTests.Shared/SamplesApp.UnitTests.Shared.projitems b/src/SamplesApp/SamplesApp.UnitTests.Shared/SamplesApp.UnitTests.Shared.projitems
index 3faabfb4b9d8..143cbde0accf 100644
--- a/src/SamplesApp/SamplesApp.UnitTests.Shared/SamplesApp.UnitTests.Shared.projitems
+++ b/src/SamplesApp/SamplesApp.UnitTests.Shared/SamplesApp.UnitTests.Shared.projitems
@@ -11,6 +11,7 @@
+
diff --git a/src/SamplesApp/SamplesApp.macOS/SamplesApp.macOS.csproj b/src/SamplesApp/SamplesApp.macOS/SamplesApp.macOS.csproj
index 0804b9bb54d1..1253aa52d7ee 100644
--- a/src/SamplesApp/SamplesApp.macOS/SamplesApp.macOS.csproj
+++ b/src/SamplesApp/SamplesApp.macOS/SamplesApp.macOS.csproj
@@ -68,6 +68,9 @@
+
+ 12.0.1
+
@@ -127,4 +130,4 @@
-
\ No newline at end of file
+
diff --git a/src/Uno.UI.sln b/src/Uno.UI.sln
index 64709b26b343..86bcc82557da 100644
--- a/src/Uno.UI.sln
+++ b/src/Uno.UI.sln
@@ -30,7 +30,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.UI.BindingHelper.Androi
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Uno.UI.AssemblyComparer", "Uno.UI.AssemblyComparer\Uno.UI.AssemblyComparer.csproj", "{2B899715-3B2E-4178-ACB5-70AB4B26EEDF}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Uno.UI.SourceGenerators", "SourceGenerators\Uno.UI.SourceGenerators\Uno.UI.SourceGenerators.csproj", "{68E667C4-AAED-4242-A47F-3D77C33C489E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.UI.SourceGenerators", "SourceGenerators\Uno.UI.SourceGenerators\Uno.UI.SourceGenerators.csproj", "{68E667C4-AAED-4242-A47F-3D77C33C489E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Uno.UI.Tasks", "SourceGenerators\Uno.UI.Tasks\Uno.UI.Tasks.csproj", "{946D318B-305A-4264-81A4-31698DCC22F7}"
EndProject
@@ -2985,6 +2985,7 @@ Global
{B71AE380-558C-4D6C-81D8-9C043B50262C}.Release_UWP|x86.ActiveCfg = AppStore|iPhone
{B71AE380-558C-4D6C-81D8-9C043B50262C}.Release_UWP|x86.Build.0 = AppStore|iPhone
{B71AE380-558C-4D6C-81D8-9C043B50262C}.Release|Any CPU.ActiveCfg = Release|iPhone
+ {B71AE380-558C-4D6C-81D8-9C043B50262C}.Release|Any CPU.Build.0 = Release|iPhone
{B71AE380-558C-4D6C-81D8-9C043B50262C}.Release|ARM.ActiveCfg = Release|iPhone
{B71AE380-558C-4D6C-81D8-9C043B50262C}.Release|iPhone.ActiveCfg = Release|iPhone
{B71AE380-558C-4D6C-81D8-9C043B50262C}.Release|iPhone.Build.0 = Release|iPhone
@@ -3113,6 +3114,7 @@ Global
{6C25BEB3-E332-48D3-B4DE-20A0B71935CD}.Release_UWP|x86.Build.0 = Release|x86
{6C25BEB3-E332-48D3-B4DE-20A0B71935CD}.Release_UWP|x86.Deploy.0 = Release|x86
{6C25BEB3-E332-48D3-B4DE-20A0B71935CD}.Release|Any CPU.ActiveCfg = Release|x86
+ {6C25BEB3-E332-48D3-B4DE-20A0B71935CD}.Release|Any CPU.Build.0 = Release|x86
{6C25BEB3-E332-48D3-B4DE-20A0B71935CD}.Release|ARM.ActiveCfg = Release|ARM
{6C25BEB3-E332-48D3-B4DE-20A0B71935CD}.Release|ARM.Build.0 = Release|ARM
{6C25BEB3-E332-48D3-B4DE-20A0B71935CD}.Release|ARM.Deploy.0 = Release|ARM
@@ -3589,6 +3591,7 @@ Global
{313FCF91-A6DB-4585-A23E-49BBEEF4784D}.Release_UWP|x86.ActiveCfg = Release|iPhoneSimulator
{313FCF91-A6DB-4585-A23E-49BBEEF4784D}.Release_UWP|x86.Build.0 = Release|iPhoneSimulator
{313FCF91-A6DB-4585-A23E-49BBEEF4784D}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
+ {313FCF91-A6DB-4585-A23E-49BBEEF4784D}.Release|Any CPU.Build.0 = Release|iPhoneSimulator
{313FCF91-A6DB-4585-A23E-49BBEEF4784D}.Release|ARM.ActiveCfg = Release|iPhoneSimulator
{313FCF91-A6DB-4585-A23E-49BBEEF4784D}.Release|iPhone.ActiveCfg = Release|iPhoneSimulator
{313FCF91-A6DB-4585-A23E-49BBEEF4784D}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
diff --git a/src/Uno.UI/Uno.UI.csproj b/src/Uno.UI/Uno.UI.csproj
index 2ecab293996a..3e7f3da6c036 100644
--- a/src/Uno.UI/Uno.UI.csproj
+++ b/src/Uno.UI/Uno.UI.csproj
@@ -28,11 +28,11 @@
-
+
-
+
@@ -62,14 +62,14 @@
DependencyPropertyMixins.tt
- FrameworkElementMixins.tt
- True
- True
+ FrameworkElementMixins.tt
+ True
+ True
- VisualStatesMixins.tt
- True
- True
+ VisualStatesMixins.tt
+ True
+ True
True
@@ -145,7 +145,7 @@
-
+
@@ -155,7 +155,7 @@
-
+
none
@@ -192,9 +192,9 @@
false
-
+
false
-
+
@@ -290,13 +290,13 @@
-
+
-
- $(MSBuildThisFileDirectory)..\SourceGenerators\Uno.UI.SourceGenerators\bin\$(Configuration)
+
+ $(MSBuildThisFileDirectory)..\SourceGenerators\Uno.UI.SourceGenerators\bin\$(Configuration)
$(MSBuildThisFileDirectory)..\SourceGenerators\Uno.UI.Tasks\bin\$(Configuration)_Shadow
-
+
@@ -338,15 +338,15 @@
-
+
-
- TextTemplatingFileGenerator
-
+
+ TextTemplatingFileGenerator
+
-
+
@@ -354,7 +354,24 @@
-
+
+
+
+
+ <_ReferenceToRemove
+ Include="@(Reference)"
+ Condition="'%(Reference.Identity)'=='System.Memory'" />
+
+
+
+
-