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'" /> + + + + -