diff --git a/.gitignore b/.gitignore index ca39706b101e..7ed3d08b1787 100644 --- a/.gitignore +++ b/.gitignore @@ -3,10 +3,8 @@ ## ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore -.nuspec/**/*.dll -.nuspec/**/*.dylib -.nuspec/**/*.so -.XamarinFormsVersionFile.txt +.nuspec/ +.buildtasks/ templatesTest/ # User-specific files diff --git a/.nuspec/AutoImport.InTree.props b/.nuspec/AutoImport.InTree.props deleted file mode 100644 index 449b9845588e..000000000000 --- a/.nuspec/AutoImport.InTree.props +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - Designer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MSBuild:Compile - $(DefaultXamlRuntime) - - - MSBuild:Compile - $(DefaultXamlRuntime) - - - MSBuild:Compile - $(DefaultXamlRuntime) - - - - \ No newline at end of file diff --git a/.nuspec/Microsoft.Maui.Controls.DualScreen.nuspec b/.nuspec/Microsoft.Maui.Controls.DualScreen.nuspec deleted file mode 100644 index 6391725e89f6..000000000000 --- a/.nuspec/Microsoft.Maui.Controls.DualScreen.nuspec +++ /dev/null @@ -1,49 +0,0 @@ - - - - Xamarin.Forms.DualScreen - $version$ - Microsoft - microsoft xamarin - xamarin forms twopaneview DualScreen xamarinforms xamarinformsdualscreen xamarin.forms.dualscreen - MIT - Assets\xamarin_128x128.png - http://xamarin.com/forms - - true - DualScreen support for Xamarin.Forms - © Microsoft Corporation. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.nuspec/Microsoft.Maui.Controls.SingleProject.props b/.nuspec/Microsoft.Maui.Controls.SingleProject.props deleted file mode 100644 index feeed761bb20..000000000000 --- a/.nuspec/Microsoft.Maui.Controls.SingleProject.props +++ /dev/null @@ -1,29 +0,0 @@ - - - - WinExe - MSIX - true - false - - false - true - true - <_SingleProjectRIDRequired Condition="'$(OutputType)' == 'WinExe'">true - <_SingleProjectRIDSpecified Condition="'$(RuntimeIdentifier)' != '' or '$(RuntimeIdentifiers)' != ''">true - - - - <_SingleProjectHostArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture) - <_SingleProjectHostArchitecture>$(_SingleProjectHostArchitecture.ToLower()) - win10-$(_SingleProjectHostArchitecture) - <_MauiUsingDefaultRuntimeIdentifier>true - - - - - - - - - diff --git a/.nuspec/Microsoft.Maui.Core.props b/.nuspec/Microsoft.Maui.Core.props deleted file mode 100644 index 805beb40223e..000000000000 --- a/.nuspec/Microsoft.Maui.Core.props +++ /dev/null @@ -1,10 +0,0 @@ - - - - true - $(EnableMsixTooling) - true - false - - - diff --git a/.nuspec/Microsoft.Maui.Core.targets b/.nuspec/Microsoft.Maui.Core.targets deleted file mode 100644 index faf2349bae2d..000000000000 --- a/.nuspec/Microsoft.Maui.Core.targets +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/.nuspec/_._ b/.nuspec/_._ deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/Directory.Build.props b/Directory.Build.props index e6afd81ad960..6ce5fef63f46 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -14,13 +14,21 @@ <_MauiPreviousDotNetTfm Condition="'$(_MauiPreviousDotNetTfm)' == ''">net$(_MauiPreviousDotNetVersion) <_MauiTargetPlatformIdentifier>$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) + <_MauiNoTargetPlatform>false <_MauiNoTargetPlatform Condition="'$(_MauiTargetPlatformIdentifier)' == ''">True + <_MauiTargetPlatformIsAndroid>false <_MauiTargetPlatformIsAndroid Condition="'$(_MauiTargetPlatformIdentifier)' == 'android'">True + <_MauiTargetPlatformIsiOS>false <_MauiTargetPlatformIsiOS Condition="'$(_MauiTargetPlatformIdentifier)' == 'ios'">True + <_MauiTargetPlatformIsMacCatalyst>false <_MauiTargetPlatformIsMacCatalyst Condition="'$(_MauiTargetPlatformIdentifier)' == 'maccatalyst'">True + <_MauiTargetPlatformIsmacOS>false <_MauiTargetPlatformIsmacOS Condition="'$(_MauiTargetPlatformIdentifier)' == 'macos'">True + <_MauiTargetPlatformIstvOS>false <_MauiTargetPlatformIstvOS Condition="'$(_MauiTargetPlatformIdentifier)' == 'tvos'">True + <_MauiTargetPlatformIsWindows>false <_MauiTargetPlatformIsWindows Condition="$(_MauiTargetPlatformIdentifier.Contains('windows')) == 'True'">True + <_MauiTargetPlatformIsTizen>false <_MauiTargetPlatformIsTizen Condition="'$(_MauiTargetPlatformIdentifier)' == 'tizen'">True @@ -109,7 +117,6 @@ $(MSBuildThisFileDirectory) $(MSBuildThisFileDirectory)src/ - $(MSBuildThisFileDirectory).nuspec/ $(MSBuildThisFileDirectory)bin/ $(DotNetOutputPath)temp/ $(DotNetOutputPath)dotnet/ @@ -119,7 +126,8 @@ $(DotNetDirectory)sdk-manifests/$(DotNetSdkManifestsFolder)/ $(DotNetDirectory)template-packs/ <_MauiBuildTasksLocation>$(_MauiBuildTasksLocation) - <_MauiBuildTasksLocation Condition="'$(_MauiBuildTasksLocation)' == ''">$(MSBuildThisFileDirectory).nuspec\ + <_MauiBuildTasksLocation Condition="'$(_MauiBuildTasksLocation)' == ''">$(MSBuildThisFileDirectory).buildtasks\ + <_MauiAOTProfileLocation>$(MauiSrcDirectory)Controls\src\Build.Tasks\nuget\buildTransitive\netstandard2.0\ true portable true diff --git a/Directory.Build.targets b/Directory.Build.targets index 7aa05840c828..6878b73497ae 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -76,7 +76,7 @@ - + diff --git a/Microsoft.Maui-mac.slnf b/Microsoft.Maui-mac.slnf index c5f706d0729a..8578bcd290cd 100644 --- a/Microsoft.Maui-mac.slnf +++ b/Microsoft.Maui-mac.slnf @@ -27,6 +27,7 @@ "src\\Controls\\src\\Build.Tasks\\Controls.Build.Tasks.csproj", "src\\Controls\\src\\Core.Design\\Controls.Core.Design.csproj", "src\\Controls\\src\\Core\\Controls.Core.csproj", + "src\\Controls\\src\\NuGet\\Controls.NuGet.csproj", "src\\Controls\\src\\SourceGen\\Controls.SourceGen.csproj", "src\\Controls\\src\\Xaml.Design\\Controls.Xaml.Design.csproj", "src\\Controls\\src\\Xaml\\Controls.Xaml.csproj", @@ -57,12 +58,6 @@ "src\\TestUtils\\src\\DeviceTests.Runners\\TestUtils.DeviceTests.Runners.csproj", "src\\TestUtils\\src\\DeviceTests\\TestUtils.DeviceTests.csproj", "src\\TestUtils\\src\\TestUtils\\TestUtils.csproj", - "src\\Workload\\Microsoft.Maui.Controls.Ref\\Microsoft.Maui.Controls.Ref.csproj", - "src\\Workload\\Microsoft.Maui.Controls.Runtime\\Microsoft.Maui.Controls.Runtime.csproj", - "src\\Workload\\Microsoft.Maui.Core.Ref\\Microsoft.Maui.Core.Ref.csproj", - "src\\Workload\\Microsoft.Maui.Core.Runtime\\Microsoft.Maui.Core.Runtime.csproj", - "src\\Workload\\Microsoft.Maui.Essentials.Ref\\Microsoft.Maui.Essentials.Ref.csproj", - "src\\Workload\\Microsoft.Maui.Essentials.Runtime\\Microsoft.Maui.Essentials.Runtime.csproj", "src\\Workload\\Microsoft.Maui.Sdk\\Microsoft.Maui.Sdk.csproj", "src\\Workload\\Microsoft.NET.Sdk.Maui\\Microsoft.NET.Sdk.Maui.csproj" ] diff --git a/Microsoft.Maui.BuildTasks.slnf b/Microsoft.Maui.BuildTasks.slnf index 80af361012ad..820dd1bbcdc9 100644 --- a/Microsoft.Maui.BuildTasks.slnf +++ b/Microsoft.Maui.BuildTasks.slnf @@ -4,7 +4,10 @@ "projects": [ "src\\Graphics\\src\\Graphics\\Graphics.csproj", "src\\Controls\\src\\Build.Tasks\\Controls.Build.Tasks.csproj", + "src\\Controls\\src\\Core.Design\\Controls.Core.Design.csproj", "src\\Controls\\src\\Core\\Controls.Core.csproj", + "src\\Controls\\src\\NuGet\\Controls.NuGet.csproj", + "src\\Controls\\src\\Xaml.Design\\Controls.Xaml.Design.csproj", "src\\Controls\\src\\Xaml\\Controls.Xaml.csproj", "src\\Core\\src\\Core.csproj", "src\\SingleProject\\Resizetizer\\src\\Resizetizer.csproj" diff --git a/Microsoft.Maui.Packages-mac.slnf b/Microsoft.Maui.Packages-mac.slnf index bfb2f5c21bcf..51c79fd590b2 100644 --- a/Microsoft.Maui.Packages-mac.slnf +++ b/Microsoft.Maui.Packages-mac.slnf @@ -9,6 +9,7 @@ "src\\Controls\\src\\Build.Tasks\\Controls.Build.Tasks.csproj", "src\\Controls\\src\\Core.Design\\Controls.Core.Design.csproj", "src\\Controls\\src\\Core\\Controls.Core.csproj", + "src\\Controls\\src\\NuGet\\Controls.NuGet.csproj", "src\\Controls\\src\\SourceGen\\Controls.SourceGen.csproj", "src\\Controls\\src\\Xaml.Design\\Controls.Xaml.Design.csproj", "src\\Controls\\src\\Xaml\\Controls.Xaml.csproj", @@ -20,13 +21,7 @@ "src\\Graphics\\src\\Text.Markdig\\Graphics.Text.Markdig.csproj", "src\\SingleProject\\Resizetizer\\src\\Resizetizer.csproj", "src\\Templates\\src\\Microsoft.Maui.Templates.csproj", - "src\\Workload\\Microsoft.Maui.Controls.Ref\\Microsoft.Maui.Controls.Ref.csproj", - "src\\Workload\\Microsoft.Maui.Controls.Runtime\\Microsoft.Maui.Controls.Runtime.csproj", "src\\Workload\\Microsoft.Maui.Sdk\\Microsoft.Maui.Sdk.csproj", - "src\\Workload\\Microsoft.Maui.Core.Ref\\Microsoft.Maui.Core.Ref.csproj", - "src\\Workload\\Microsoft.Maui.Core.Runtime\\Microsoft.Maui.Core.Runtime.csproj", - "src\\Workload\\Microsoft.Maui.Essentials.Ref\\Microsoft.Maui.Essentials.Ref.csproj", - "src\\Workload\\Microsoft.Maui.Essentials.Runtime\\Microsoft.Maui.Essentials.Runtime.csproj", "src\\Workload\\Microsoft.NET.Sdk.Maui\\Microsoft.NET.Sdk.Maui.csproj" ] } diff --git a/Microsoft.Maui.Packages.slnf b/Microsoft.Maui.Packages.slnf index c28b36f80843..76bd81f1b7bb 100644 --- a/Microsoft.Maui.Packages.slnf +++ b/Microsoft.Maui.Packages.slnf @@ -11,6 +11,7 @@ "src\\Controls\\src\\Build.Tasks\\Controls.Build.Tasks.csproj", "src\\Controls\\src\\Core.Design\\Controls.Core.Design.csproj", "src\\Controls\\src\\Core\\Controls.Core.csproj", + "src\\Controls\\src\\NuGet\\Controls.NuGet.csproj", "src\\Controls\\src\\SourceGen\\Controls.SourceGen.csproj", "src\\Controls\\src\\Xaml.Design\\Controls.Xaml.Design.csproj", "src\\Controls\\src\\Xaml\\Controls.Xaml.csproj", @@ -23,14 +24,7 @@ "src\\Essentials\\src\\Essentials.csproj", "src\\SingleProject\\Resizetizer\\src\\Resizetizer.csproj", "src\\Templates\\src\\Microsoft.Maui.Templates.csproj", - "src\\Workload\\Microsoft.Maui.Controls.Ref\\Microsoft.Maui.Controls.Ref.csproj", - "src\\Workload\\Microsoft.Maui.Controls.Runtime\\Microsoft.Maui.Controls.Runtime.csproj", "src\\Workload\\Microsoft.Maui.Sdk\\Microsoft.Maui.Sdk.csproj", - "src\\Workload\\Microsoft.Maui.Core.Ref\\Microsoft.Maui.Core.Ref.csproj", - "src\\Workload\\Microsoft.Maui.Core.Runtime\\Microsoft.Maui.Core.Runtime.csproj", - "src\\Workload\\Microsoft.Maui.Essentials.Ref\\Microsoft.Maui.Essentials.Ref.csproj", - "src\\Workload\\Microsoft.Maui.Essentials.Runtime\\Microsoft.Maui.Essentials.Runtime.csproj", - "src\\Workload\\Microsoft.Maui.Resizetizer.Sdk\\Microsoft.Maui.Resizetizer.Sdk.csproj", "src\\Workload\\Microsoft.NET.Sdk.Maui\\Microsoft.NET.Sdk.Maui.csproj" ] } diff --git a/Microsoft.Maui.sln b/Microsoft.Maui.sln index 59a9f74842cc..c57fc12d4936 100644 --- a/Microsoft.Maui.sln +++ b/Microsoft.Maui.sln @@ -70,22 +70,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebViewAppShared", "src\Bla EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Workload", "Workload", "{EC63FD88-5E12-46D7-B440-68F70241D987}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Maui.Controls.Ref", "src\Workload\Microsoft.Maui.Controls.Ref\Microsoft.Maui.Controls.Ref.csproj", "{91B7E807-1026-4238-A7C2-D7A02C66F141}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Maui.Controls.Runtime", "src\Workload\Microsoft.Maui.Controls.Runtime\Microsoft.Maui.Controls.Runtime.csproj", "{9D8171BD-0F66-4D97-9A38-46800FC6B710}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Maui.Sdk", "src\Workload\Microsoft.Maui.Sdk\Microsoft.Maui.Sdk.csproj", "{C5C434A7-4E1F-456F-A23A-F2566C98301A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Maui.Core.Ref", "src\Workload\Microsoft.Maui.Core.Ref\Microsoft.Maui.Core.Ref.csproj", "{359FFDAC-3E3C-4A78-98EE-9070841E5792}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Maui.Core.Runtime", "src\Workload\Microsoft.Maui.Core.Runtime\Microsoft.Maui.Core.Runtime.csproj", "{73075C7E-AA0A-4FD6-BBD7-6BD3B43BC2A9}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Maui.Essentials.Ref", "src\Workload\Microsoft.Maui.Essentials.Ref\Microsoft.Maui.Essentials.Ref.csproj", "{28B1E6A8-4EB7-4B82-9552-10C418692496}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Maui.Essentials.Runtime", "src\Workload\Microsoft.Maui.Essentials.Runtime\Microsoft.Maui.Essentials.Runtime.csproj", "{C69336DF-EE56-4236-8188-06B2A8AD8A36}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Maui.Resizetizer.Sdk", "src\Workload\Microsoft.Maui.Resizetizer.Sdk\Microsoft.Maui.Resizetizer.Sdk.csproj", "{02414DF4-FBE9-400B-8F3F-40DDC7F8FEFC}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.NET.Sdk.Maui", "src\Workload\Microsoft.NET.Sdk.Maui\Microsoft.NET.Sdk.Maui.csproj", "{081EE5E5-69D4-493C-9EB4-47423C4728AB}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils.DeviceTests.Runners", "src\TestUtils\src\DeviceTests.Runners\TestUtils.DeviceTests.Runners.csproj", "{316C0861-069B-4572-879F-F01E568F33A2}" @@ -253,6 +239,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GraphicsTester.Skia.Gtk", " EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Core.Design.UnitTests", "src\Controls\tests\Core.Design.UnitTests\Controls.Core.Design.UnitTests.csproj", "{F68932B0-81A2-4CC3-A4F7-28091EE91B23}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.NuGet", "src\Controls\src\NuGet\Controls.NuGet.csproj", "{4A6930AE-B67C-4D29-B1A8-ED9EB7F923A7}" +EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.DeviceTests.Shared", "src\Core\tests\DeviceTests.Shared\Core.DeviceTests.Shared.csproj", "{66CC98E3-6A1A-4C44-A23C-B575E82106EC}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Graphics.DeviceTests", "src\Graphics\tests\DeviceTests\Graphics.DeviceTests.csproj", "{34969E49-FA6E-41BB-9813-5689BB14021E}" @@ -337,38 +325,10 @@ Global {9F1E0CE0-BF56-433F-8238-6C2B880EEF18}.Debug|Any CPU.Build.0 = Debug|Any CPU {9F1E0CE0-BF56-433F-8238-6C2B880EEF18}.Release|Any CPU.ActiveCfg = Release|Any CPU {9F1E0CE0-BF56-433F-8238-6C2B880EEF18}.Release|Any CPU.Build.0 = Release|Any CPU - {91B7E807-1026-4238-A7C2-D7A02C66F141}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {91B7E807-1026-4238-A7C2-D7A02C66F141}.Debug|Any CPU.Build.0 = Debug|Any CPU - {91B7E807-1026-4238-A7C2-D7A02C66F141}.Release|Any CPU.ActiveCfg = Release|Any CPU - {91B7E807-1026-4238-A7C2-D7A02C66F141}.Release|Any CPU.Build.0 = Release|Any CPU - {9D8171BD-0F66-4D97-9A38-46800FC6B710}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9D8171BD-0F66-4D97-9A38-46800FC6B710}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9D8171BD-0F66-4D97-9A38-46800FC6B710}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9D8171BD-0F66-4D97-9A38-46800FC6B710}.Release|Any CPU.Build.0 = Release|Any CPU {C5C434A7-4E1F-456F-A23A-F2566C98301A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C5C434A7-4E1F-456F-A23A-F2566C98301A}.Debug|Any CPU.Build.0 = Debug|Any CPU {C5C434A7-4E1F-456F-A23A-F2566C98301A}.Release|Any CPU.ActiveCfg = Release|Any CPU {C5C434A7-4E1F-456F-A23A-F2566C98301A}.Release|Any CPU.Build.0 = Release|Any CPU - {359FFDAC-3E3C-4A78-98EE-9070841E5792}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {359FFDAC-3E3C-4A78-98EE-9070841E5792}.Debug|Any CPU.Build.0 = Debug|Any CPU - {359FFDAC-3E3C-4A78-98EE-9070841E5792}.Release|Any CPU.ActiveCfg = Release|Any CPU - {359FFDAC-3E3C-4A78-98EE-9070841E5792}.Release|Any CPU.Build.0 = Release|Any CPU - {73075C7E-AA0A-4FD6-BBD7-6BD3B43BC2A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {73075C7E-AA0A-4FD6-BBD7-6BD3B43BC2A9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {73075C7E-AA0A-4FD6-BBD7-6BD3B43BC2A9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {73075C7E-AA0A-4FD6-BBD7-6BD3B43BC2A9}.Release|Any CPU.Build.0 = Release|Any CPU - {28B1E6A8-4EB7-4B82-9552-10C418692496}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {28B1E6A8-4EB7-4B82-9552-10C418692496}.Debug|Any CPU.Build.0 = Debug|Any CPU - {28B1E6A8-4EB7-4B82-9552-10C418692496}.Release|Any CPU.ActiveCfg = Release|Any CPU - {28B1E6A8-4EB7-4B82-9552-10C418692496}.Release|Any CPU.Build.0 = Release|Any CPU - {C69336DF-EE56-4236-8188-06B2A8AD8A36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C69336DF-EE56-4236-8188-06B2A8AD8A36}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C69336DF-EE56-4236-8188-06B2A8AD8A36}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C69336DF-EE56-4236-8188-06B2A8AD8A36}.Release|Any CPU.Build.0 = Release|Any CPU - {02414DF4-FBE9-400B-8F3F-40DDC7F8FEFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {02414DF4-FBE9-400B-8F3F-40DDC7F8FEFC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {02414DF4-FBE9-400B-8F3F-40DDC7F8FEFC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {02414DF4-FBE9-400B-8F3F-40DDC7F8FEFC}.Release|Any CPU.Build.0 = Release|Any CPU {081EE5E5-69D4-493C-9EB4-47423C4728AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {081EE5E5-69D4-493C-9EB4-47423C4728AB}.Debug|Any CPU.Build.0 = Debug|Any CPU {081EE5E5-69D4-493C-9EB4-47423C4728AB}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -635,6 +595,10 @@ Global {F68932B0-81A2-4CC3-A4F7-28091EE91B23}.Debug|Any CPU.Build.0 = Debug|Any CPU {F68932B0-81A2-4CC3-A4F7-28091EE91B23}.Release|Any CPU.ActiveCfg = Release|Any CPU {F68932B0-81A2-4CC3-A4F7-28091EE91B23}.Release|Any CPU.Build.0 = Release|Any CPU + {4A6930AE-B67C-4D29-B1A8-ED9EB7F923A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4A6930AE-B67C-4D29-B1A8-ED9EB7F923A7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4A6930AE-B67C-4D29-B1A8-ED9EB7F923A7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4A6930AE-B67C-4D29-B1A8-ED9EB7F923A7}.Release|Any CPU.Build.0 = Release|Any CPU {66CC98E3-6A1A-4C44-A23C-B575E82106EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {66CC98E3-6A1A-4C44-A23C-B575E82106EC}.Debug|Any CPU.Build.0 = Debug|Any CPU {66CC98E3-6A1A-4C44-A23C-B575E82106EC}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -675,14 +639,7 @@ Global {05DB57B8-D0A5-499B-AD35-7093C2E9C9D7} = {E25E7929-2423-4C8A-9B03-DC4C8B19A2E5} {A8E9400E-70DD-421F-8609-1C2FA4AE8E71} = {1614D1A4-5C3D-4D5B-8C89-426E37A564EF} {9F1E0CE0-BF56-433F-8238-6C2B880EEF18} = {A8E9400E-70DD-421F-8609-1C2FA4AE8E71} - {91B7E807-1026-4238-A7C2-D7A02C66F141} = {EC63FD88-5E12-46D7-B440-68F70241D987} - {9D8171BD-0F66-4D97-9A38-46800FC6B710} = {EC63FD88-5E12-46D7-B440-68F70241D987} {C5C434A7-4E1F-456F-A23A-F2566C98301A} = {EC63FD88-5E12-46D7-B440-68F70241D987} - {359FFDAC-3E3C-4A78-98EE-9070841E5792} = {EC63FD88-5E12-46D7-B440-68F70241D987} - {73075C7E-AA0A-4FD6-BBD7-6BD3B43BC2A9} = {EC63FD88-5E12-46D7-B440-68F70241D987} - {28B1E6A8-4EB7-4B82-9552-10C418692496} = {EC63FD88-5E12-46D7-B440-68F70241D987} - {C69336DF-EE56-4236-8188-06B2A8AD8A36} = {EC63FD88-5E12-46D7-B440-68F70241D987} - {02414DF4-FBE9-400B-8F3F-40DDC7F8FEFC} = {EC63FD88-5E12-46D7-B440-68F70241D987} {081EE5E5-69D4-493C-9EB4-47423C4728AB} = {EC63FD88-5E12-46D7-B440-68F70241D987} {316C0861-069B-4572-879F-F01E568F33A2} = {7AC28763-9C68-4BF9-A1BA-25CBFFD2D15C} {E87D865B-4EA8-4A30-B6C1-572D2061D707} = {7AC28763-9C68-4BF9-A1BA-25CBFFD2D15C} @@ -762,6 +719,7 @@ Global {F26D31D3-CE4C-4F32-A77F-E2905C948674} = {42AB9AE1-631D-4AD4-85B7-910FF0940BDB} {F351A992-18E4-473C-8ADD-2BA0BAA7B5A2} = {1BA0121E-0B83-4C8F-81BE-C293E7E35DCE} {F68932B0-81A2-4CC3-A4F7-28091EE91B23} = {25D0D27A-C5FE-443D-8B65-D6C987F4A80E} + {4A6930AE-B67C-4D29-B1A8-ED9EB7F923A7} = {50C758FE-4E10-409A-94F5-A75480960864} {66CC98E3-6A1A-4C44-A23C-B575E82106EC} = {C564DDD6-DE79-45CD-88EA-3F690481572A} {34969E49-FA6E-41BB-9813-5689BB14021E} = {936C47A9-A7EA-4FBD-8733-CED1D4100E69} EndGlobalSection diff --git a/cSpell.json b/cSpell.json index 980bfd275013..026be1843be9 100644 --- a/cSpell.json +++ b/cSpell.json @@ -2,7 +2,11 @@ "version": "0.2", "language": "en", "words": [ - "Blazor" + "Blazor", + "Skia", + "Resizetizer", + "nugets", + "netstandard" ], "ignoreWords": [], "patterns": [ diff --git a/docs/design/NuGets.md b/docs/design/NuGets.md new file mode 100644 index 000000000000..7db4653f76d5 --- /dev/null +++ b/docs/design/NuGets.md @@ -0,0 +1,158 @@ +# .NET MAUI NuGet Structure + +There are several artifacts in the .NET MAUI "universe": + +* Workload packages: + * `Microsoft.NET.Sdk.Maui.Manifest` - The workload manifest for the .NET SDK + * `Microsoft.Maui.Sdk` - The actual .NET MAUI workload SDK + * `Microsoft.Maui.Templates.net*` - The current set of templates for this build of .NET MAUI +* .NET MAUI framework: + * `Microsoft.Maui.Controls` - The super/root package of .NET MAUI Controls + * `Microsoft.Maui.Controls.Core` - The Controls assemblies + * `Microsoft.Maui.Controls.Xaml` - The XAML parser + * `Microsoft.Maui.Controls.Build.Tasks` - The real set of XAML[C|G] targets and globs + * `Microsoft.Maui.Resizetizer` - The framework-and-platform-agnostic asset generator and integrator + * `Microsoft.Maui.Core` - The base interfaces and handlers for all .NET MAUI things + * `Microsoft.Maui.Essentials` - The core set of framework-agnostic, cross-platform APIs + * `Microsoft.Maui.Controls.Compatibility` - The set of compatibility APIs for Xamarin.Forms +* .NET MAUI maps support: + * `Microsoft.Maui.Controls.Maps` - The set of XAML-based map controls + * `Microsoft.Maui.Maps` - The set of handlers and interfaces for mapping controls +* .NET MAUI dual-screen / foldable support: + * `Microsoft.Maui.Controls.Foldable` - The set of APIs and controls needed for dual-screen support +* .NET MAUI graphics: + * `Microsoft.Maui.Graphics` - The core graphics engine of .NET MAUI + * `Microsoft.Maui.Graphics.Win2D.WinUI.Desktop` - The Win2D-based version of the graphics engine (soon to be merged with the core engine) + * `Microsoft.Maui.Graphics.Skia` - The SkiaSharp-based version of the graphics engine + * `Microsoft.Maui.Graphics.Text.Markdig` - The markdown support for the graphics engine +* ASP.NET Blazor desktop/mobile support: + * `Microsoft.AspNetCore.Components.WebView.Maui` - The BlazorWebView for .NET MAUI apps + * `Microsoft.AspNetCore.Components.WebView.WindowsForms` - The BlazorWebView for Windows Forms apps + * `Microsoft.AspNetCore.Components.WebView.Wpf` - The BlazorWebView for WPF apps + +## Handling .targets and .props + +A typical workload has all the targets in the "SDK" portion and then pulls in a bunch of RID-specific NuGet packages, but for MAUI this is not necessary as the size of the entire workload with all the packs is about 60MB - with about 38MB actually just being SkiaSharp for all the platforms in the Resizetizer SDK. + +For MAUI, we decided to reduce the number of pack and msi downloads and just go with almost a 1 to 1 csproj to nuget. + +Most nugets do not contain or need targets and/or props files, but some do. These include: + + - Workload + - Manifest - `Microsoft.NET.Sdk.Maui.Manifest` + - SDK - `Microsoft.Maui.Sdk` + - NuGet Packages + - Controls - `Microsoft.Maui.Controls.Build.Tasks` + - Core - `Microsoft.Maui.Core` + - Resizetizer - `Microsoft.Maui.Resizetizer` + +### Structure of .props & .targets Files + +In most cases, there are 4 types of targets/props files: + + - `.props` + This file runs before anything and everything (except the `Directory.Build.props`) and can set defaults for the csproj to use. + - `.targets` + This is the actual start of the targets for the pack. It does at least 2 things: + 1. Imports the `.Before.targets` file that runs before any targets run (but after all props have run). + 2. Queues up the `.After.targets` file in the `$(AfterMicrosoftNETSdkTargets)` MSBuild property to run after all the targets have been imported. If a nuget needs to have some targets run at this point, then that nuget can append the file to the property: + ```xml + + $(AfterMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)Microsoft.Maui.[something].After.targets + + ``` + - `.Before.targets` + This file includes anything that is needed in the main targets file, but before any core SDK/platform targets have run. This is often used to set defaults based on values the user has set in the csproj. + _This file technically could be merged into `.targets`, but is split out to make the organization of the targets easier._ + - `.After.targets` + This file runs after most of the targets have run - including the core SDK and workloads. This can be used to override any SDK targets or tasks. + +### Targets in the Workload + +There are 2 components in the workload: + - Manifest - `Microsoft.NET.Sdk.Maui.Manifest` + - SDK - `Microsoft.Maui.Sdk` + +The workload manifest contains the `WorkloadManifest.json` and the `WorkloadManifest.targets` as required by .NET. The .json file is just a tree of all the various components and pack IDs that are needed as part of the MAUI workload. The .targets file is just the entrypoint to the SDK and contains the SDK pack imports for MSBuild. + +The SDK pack contains the actual targets and props files. Using a structure similar to the section above, it includes the main parts of the workload things. + +There are 2 key files that must be present in a workload: + - `AutoImport.props` + This file is empty as this is just needed by MSBuild. + - `Sdk.targets` + This file imports the `BundledVersions.targets` and `Microsoft.Maui.Sdk.targets` files depending on the `UseXxx` MSBuild properties. + +The targets file can then import all the SDK: + - `BundledVersions.targets` + This file sets various version properties and then implicitly imports all the required NuGet packages depending on the `UseXxx` MSBuild properties. + - `Microsoft.Maui.Sdk.targets` + This is the actual start of the targets for the MAUI framework. It does a few things: + 1. Imports the `Microsoft.Maui.Sdk.Before.targets` file that runs before any MAUI targets run (but after all props have run). + 2. Imports any targets from the nugets that need to run after the .csproj but before the nuget .targets using the `$(MicrosoftMauiSdkPlatformTargets)` MSBuild property. If a nuget needs to have some targets run at this point, then that nuget can append the file to the property: + ```xml + + $(MicrosoftMauiSdkPlatformTargets);$(MSBuildThisFileDirectory)Microsoft.Maui.Sdk.[platform].targets + + ``` + 3. Queues up the `Microsoft.Maui.Sdk.After.targets` file to run after all the targets have been imported. + - `Microsoft.Maui.Sdk.Before.targets` + This file sets any pre-nuget-restore properties required by the framework. This currently includes anything that NuGet will use as part of the restore - such as RIDs and R2R values. These properties cannot be in the nugets as restoring the nugets will make it such that the restore state is now invalidated. + _This file technically could be merged into `Microsoft.Maui.Sdk.targets`, but is split out to make the organization of the targets easier. + - `Microsoft.Maui.Sdk.After.targets` + This file runs after most of the targets have run and currently just ensures all the `ProjectCapability` items are included based on the `UseXxx` MSBuild properties. These values are used by the IDE to determine what to do and how to restore. So, these must also be on disk prior to any nuget install. + +### Targets in the Packs + +There are 3 packs today that need targets: + + - Controls - `Microsoft.Maui.Controls.Build.Tasks` + - Core - `Microsoft.Maui.Core` + - Resizetizer - `Microsoft.Maui.Resizetizer` + +#### Targets in Controls + +The Controls section of MAUI is the main set of libraries that a MAUI app uses. The targets and props needed but MAUI mostly live in the `Microsoft.Maui.Controls.Build.Tasks` nuget. This is mainly because of the dependency structure of MAUI. + +Controls is the "library name" as well as the assembly name - but the bits we need for the MSBuild tasks depend on this. We _could_ do some funky magic and merge all the components of Controls into a single NuGet, but this is maybe not as worth it. Right now we have a empty NuGet that just pulls in all the things. + +But for the targets, this is very similar to the structure mentioned above, but with some platform targets too. + +For the files we use, there are 3 areas: + - platform targets that set some properties and then import the netstandard targets + - netstandard targets that represent the real work + - targets as the root that catch any platforms that are not counted as netstandard and just import the netstandard targets + +**Platform Files** + +If NuGet detects a platform folder in the nuget, then it skips all other imports and just uses the files in there. As a result, the targets files are just dummy/redirection to import the netstandard targets. the props files are where the real customization comes from and is used to set some platform-specific details. + +When the targets were all in the workload, they all ran at a point where the TFM could be used. But, when in a NuGet, they run too early so we use the NuGet feature of the TFM loading. + +**.NET Standard Files** + +This is the real work folder and is just `netstandard` because that is the TFM of the build tasks assembly - and that is just because this needs to be loaded by both the full MSBuild and the dotnet core MSBuild. + +These targets follow the structure outlined above with some props files and then the targets files importing a before and after targets. Some of the things that these files do is set the globs and include the various XAML compiler tasks. It also hooks up the analyzers and AOT profiles. + +**Root Files** + +Some platforms do not count netstandard as part of net7 - such as Windows - so it falls back to nothing. Not sure if this is a bug or a feature, but having files at the root makes sure that _all_ things get _something_. + +#### Targets in Core + +The targets and props for Core all live in the root of the buildTransitive so that all platforms can have access to them without having to have duplicates or files importing them per TFM. Windows is the exception to this because it has to set some platform-specific properties. There are some Windows-specific targets and tasks in the root, but they are conditioned to the Windows TFM. This makes maintenance easier if everything is in a single file. + +Since we have added a Windows TFM folder, NuGet stops looking at the root of the buildTransitive folder for targets and props. As a result, the Windows targets and props just import the root files after setting any platform-specific properties. + +The targets and tasks in this NuGet are pretty minimal and really just set some core platform defaults - mainly Windows App SDK properties to control how we want projects to work in .NET MAUI. It also adds some Windows App SDK workarounds for bugs that have not yet reached the public releases. + +#### Targets in Resizetizer + +The targets and props in Resizetizer are pretty standard and really all fit into 1 file. However, to be consistent we have the 4 base files. + +The properties, targets and tasks are all imported on all platforms and are conditioned per TFM. + +#### Targets in Blazor WebView + +The targets and props in the Blazor nugets are maintained by the Blazor team and they just have a single targets and props file for all platforms to share. diff --git a/eng/Microsoft.Extensions.targets b/eng/Microsoft.Extensions.targets index 931798a7942d..e1d2b8192c69 100644 --- a/eng/Microsoft.Extensions.targets +++ b/eng/Microsoft.Extensions.targets @@ -20,6 +20,26 @@ Update="System.Numerics.Vectors" Version="$(SystemNumericsVectorsVersion)" /> + + + + + + + + 3.3.4 3.3.4 4.5.0 + 4.5.5 + 4.5.1 + 7.0.1 + 7.0.0 + 7.0.0 + 4.3.0 + 4.3.0 + 6.0.0 <_MicrosoftWebWebView2Version>1.0.1518.46 diff --git a/eng/cake/dotnet.cake b/eng/cake/dotnet.cake index f3695e719aa3..be53b01fac6e 100644 --- a/eng/cake/dotnet.cake +++ b/eng/cake/dotnet.cake @@ -15,9 +15,10 @@ if (TestTFM == "default") Exception pendingException = null; var NuGetOnlyPackages = new string[] { - "Microsoft.Maui.Controls.Foldable.*.nupkg", + "Microsoft.Maui.Controls.*.nupkg", + "Microsoft.Maui.Core.*.nupkg", + "Microsoft.Maui.Essentials.*.nupkg", "Microsoft.Maui.Graphics.*.nupkg", - "Microsoft.Maui.Controls.Maps.*.nupkg", "Microsoft.Maui.Maps.*.nupkg", "Microsoft.AspNetCore.Components.WebView.*.nupkg", }; @@ -115,7 +116,7 @@ Task("dotnet-samples") ["UseWorkload"] = "true", // ["GenerateAppxPackageOnBuild"] = "true", ["RestoreConfigFile"] = tempDir.CombineWithFilePath("NuGet.config").FullPath, - }, maxCpuCount: 1); + }, maxCpuCount: 1, binlogPrefix: "sample-"); }); Task("dotnet-templates") @@ -205,13 +206,13 @@ Task("dotnet-templates") ""); // Build - RunMSBuildWithDotNet(projectName, properties, warningsAsError: true, forceDotNetBuild: forceDotNetBuild); + RunMSBuildWithDotNet(projectName, properties, warningsAsError: true, forceDotNetBuild: forceDotNetBuild, binlogPrefix: "template-"); // Pack if (alsoPack.Contains(templateName)) { var packProperties = new Dictionary(properties); packProperties["PackageVersion"] = FileReadText("GitInfo.txt").Trim(); - RunMSBuildWithDotNet(projectName, packProperties, warningsAsError: true, forceDotNetBuild: forceDotNetBuild, target: "Pack"); + RunMSBuildWithDotNet(projectName, packProperties, warningsAsError: true, forceDotNetBuild: forceDotNetBuild, target: "Pack", binlogPrefix: "template-"); } } } @@ -592,7 +593,6 @@ void StartVisualStudioForDotNet6() if(localDotnet) { SetDotNetEnvironmentVariables(); - SetEnvironmentVariable("_ExcludeMauiProjectCapability", "true"); } if (IsRunningOnWindows()) @@ -620,15 +620,16 @@ void RunMSBuildWithDotNet( bool restore = true, string targetFramework = null, bool forceDotNetBuild = false, - int maxCpuCount = 0) + int maxCpuCount = 0, + string binlogPrefix = null) { var useDotNetBuild = forceDotNetBuild || !IsRunningOnWindows() || target == "Run"; var name = System.IO.Path.GetFileNameWithoutExtension(sln); var type = useDotNetBuild ? "dotnet" : "msbuild"; var binlog = string.IsNullOrEmpty(targetFramework) ? - $"\"{GetLogDirectory()}/{name}-{configuration}-{target}-{type}.binlog\"" : - $"\"{GetLogDirectory()}/{name}-{configuration}-{target}-{targetFramework}-{type}.binlog\""; + $"\"{GetLogDirectory()}/{binlogPrefix}{name}-{configuration}-{target}-{type}.binlog\"" : + $"\"{GetLogDirectory()}/{binlogPrefix}{name}-{configuration}-{target}-{targetFramework}-{type}.binlog\""; if(localDotnet) SetDotNetEnvironmentVariables(); diff --git a/omnisharp.json b/omnisharp.json index 45c2fd43b9a1..1ee58fcfe53d 100644 --- a/omnisharp.json +++ b/omnisharp.json @@ -25,10 +25,6 @@ "src/Controls/Foldable/**", "src/Core/tests/Benchmarks/Core.Benchmarks.csproj", "src/Templates/**", - "src/Workload/Microsoft.Maui.Controls.Ref/Microsoft.Maui.Controls.Ref.csproj", - "src/Workload/Microsoft.Maui.Controls.Runtime/Microsoft.Maui.Controls.Runtime.csproj", - "src/Workload/Microsoft.Maui.Core.Runtime/Microsoft.Maui.Core.Runtime.csproj", - "src/Workload/Microsoft.Maui.Essentials.Ref/Microsoft.Maui.Essentials.Ref.csproj", "Microsoft.Maui.Packages.slnf", "Microsoft.Maui.Samples.slnf", "Microsoft.Maui.sln", diff --git a/src/BlazorWebView/src/Maui/Microsoft.AspNetCore.Components.WebView.Maui.csproj b/src/BlazorWebView/src/Maui/Microsoft.AspNetCore.Components.WebView.Maui.csproj index 6c4121361c66..d3ab5b3d1c28 100644 --- a/src/BlazorWebView/src/Maui/Microsoft.AspNetCore.Components.WebView.Maui.csproj +++ b/src/BlazorWebView/src/Maui/Microsoft.AspNetCore.Components.WebView.Maui.csproj @@ -8,7 +8,7 @@ true - + diff --git a/src/BlazorWebView/tests/MauiDeviceTests/Directory.Build.targets b/src/BlazorWebView/tests/MauiDeviceTests/Directory.Build.targets index e170c0e72789..ee0f29e9005c 100644 --- a/src/BlazorWebView/tests/MauiDeviceTests/Directory.Build.targets +++ b/src/BlazorWebView/tests/MauiDeviceTests/Directory.Build.targets @@ -1,7 +1,7 @@ - + \ No newline at end of file diff --git a/src/Compatibility/Core/src/Compatibility.csproj b/src/Compatibility/Core/src/Compatibility.csproj index dc6d71ae5f07..2d17ae183546 100644 --- a/src/Compatibility/Core/src/Compatibility.csproj +++ b/src/Compatibility/Core/src/Compatibility.csproj @@ -8,7 +8,7 @@ iOS\ Windows\ Tizen\ - false + true true true $(NoWarn);CS1591 @@ -19,7 +19,7 @@ $(DefineConstants);WINDOWS - + @@ -56,4 +56,6 @@ + + diff --git a/src/Controls/Foldable/src/Controls.Foldable.csproj b/src/Controls/Foldable/src/Controls.Foldable.csproj index 48cc66a92b56..05d41821f0c9 100644 --- a/src/Controls/Foldable/src/Controls.Foldable.csproj +++ b/src/Controls/Foldable/src/Controls.Foldable.csproj @@ -17,7 +17,7 @@ .NET MAUI Foldable provides additional APIs to better support foldable mobile devices. icon.png - + @@ -41,4 +41,6 @@ + + diff --git a/src/Controls/Maps/src/Controls.Maps.csproj b/src/Controls/Maps/src/Controls.Maps.csproj index a1e02d622a5e..f9ae195f6822 100644 --- a/src/Controls/Maps/src/Controls.Maps.csproj +++ b/src/Controls/Maps/src/Controls.Maps.csproj @@ -31,4 +31,7 @@ + + + \ No newline at end of file diff --git a/src/Controls/src/Build.Tasks/Controls.Build.Tasks.csproj b/src/Controls/src/Build.Tasks/Controls.Build.Tasks.csproj index b0d8ba9038cc..cc550a4c2210 100644 --- a/src/Controls/src/Build.Tasks/Controls.Build.Tasks.csproj +++ b/src/Controls/src/Build.Tasks/Controls.Build.Tasks.csproj @@ -1,5 +1,4 @@ - - + Microsoft.Maui.Controls.Build.Tasks @@ -7,16 +6,21 @@ Microsoft.Maui.Controls.Build.Tasks .NET MAUI MSBuild tasks. Enabled via <UseMaui>true</UseMaui>. netstandard2.0 + true + + true + + buildTransitive + true - false - - - - - + + + + + @@ -24,32 +28,60 @@ - + + + + + True True ErrorMessages.resx - - - ResXFileCodeGenerator ErrorMessages.Designer.cs - + - <_CopyItems Include="$(TargetDir)*.dll" Exclude="$(TargetDir)System.*.dll" /> + <_CopyItems Include="nuget\buildTransitive\**" Exclude="nuget\buildTransitive\*;nuget\buildTransitive\netstandard2.0\**" /> + <_CopyItems Include="nuget\buildTransitive\netstandard2.0\**" /> + <_CopyItems Include="$(TargetDir)*.dll" Exclude="$(TargetDir)System.*.dll;$(TargetDir)Microsoft.Build.*" /> + <_CopyItems Include="$(TargetDir)*.pdb" Exclude="$(TargetDir)System.*.pdb;$(TargetDir)Microsoft.Build.*" /> - + - - - - - + + + + $(TargetsForTfmSpecificBuildOutput); + _MauiPackAdditionalAssemblies + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Controls/src/Build.Tasks/nuget/buildTransitive/Microsoft.Maui.Controls.Build.Tasks.props b/src/Controls/src/Build.Tasks/nuget/buildTransitive/Microsoft.Maui.Controls.Build.Tasks.props new file mode 100644 index 000000000000..0d2bd1af724c --- /dev/null +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/Microsoft.Maui.Controls.Build.Tasks.props @@ -0,0 +1,5 @@ + + + + + diff --git a/src/Controls/src/Build.Tasks/nuget/buildTransitive/Microsoft.Maui.Controls.Build.Tasks.targets b/src/Controls/src/Build.Tasks/nuget/buildTransitive/Microsoft.Maui.Controls.Build.Tasks.targets new file mode 100644 index 000000000000..5fe8e7e82028 --- /dev/null +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/Microsoft.Maui.Controls.Build.Tasks.targets @@ -0,0 +1,5 @@ + + + + + diff --git a/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.Build.Tasks.props b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.Build.Tasks.props new file mode 100644 index 000000000000..286993f36469 --- /dev/null +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.Build.Tasks.props @@ -0,0 +1,9 @@ + + + + <_MicrosoftMauiControlsPlatformTargets>$(MSBuildThisFileDirectory)Microsoft.Maui.Controls.iOS.targets + + + + + diff --git a/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.Build.Tasks.targets b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.Build.Tasks.targets new file mode 100644 index 000000000000..963cdb5e4125 --- /dev/null +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.Build.Tasks.targets @@ -0,0 +1,5 @@ + + + + + diff --git a/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.iOS.targets b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.iOS.targets new file mode 100644 index 000000000000..09b77ba44420 --- /dev/null +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.iOS.targets @@ -0,0 +1,7 @@ + + + + None + + + diff --git a/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-maccatalyst13.1/Microsoft.Maui.Controls.Build.Tasks.props b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-maccatalyst13.1/Microsoft.Maui.Controls.Build.Tasks.props new file mode 100644 index 000000000000..cc541c53d708 --- /dev/null +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-maccatalyst13.1/Microsoft.Maui.Controls.Build.Tasks.props @@ -0,0 +1,9 @@ + + + + <_MicrosoftMauiControlsPlatformTargets>$(MSBuildThisFileDirectory)Microsoft.Maui.Controls.MacCatalyst.targets + + + + + diff --git a/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-maccatalyst13.1/Microsoft.Maui.Controls.Build.Tasks.targets b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-maccatalyst13.1/Microsoft.Maui.Controls.Build.Tasks.targets new file mode 100644 index 000000000000..963cdb5e4125 --- /dev/null +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-maccatalyst13.1/Microsoft.Maui.Controls.Build.Tasks.targets @@ -0,0 +1,5 @@ + + + + + diff --git a/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-maccatalyst13.1/Microsoft.Maui.Controls.MacCatalyst.targets b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-maccatalyst13.1/Microsoft.Maui.Controls.MacCatalyst.targets new file mode 100644 index 000000000000..09b77ba44420 --- /dev/null +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-maccatalyst13.1/Microsoft.Maui.Controls.MacCatalyst.targets @@ -0,0 +1,7 @@ + + + + None + + + diff --git a/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Controls.Build.Tasks.props b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Controls.Build.Tasks.props new file mode 100644 index 000000000000..60ea3465b646 --- /dev/null +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Controls.Build.Tasks.props @@ -0,0 +1,9 @@ + + + + $(MicrosoftMauiSdkPlatformTargets);$(MSBuildThisFileDirectory)Microsoft.Maui.Sdk.Windows.targets + + + + + diff --git a/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Controls.Build.Tasks.targets b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Controls.Build.Tasks.targets new file mode 100644 index 000000000000..963cdb5e4125 --- /dev/null +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Controls.Build.Tasks.targets @@ -0,0 +1,5 @@ + + + + + diff --git a/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Sdk.Windows.targets b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Sdk.Windows.targets new file mode 100644 index 000000000000..d1eef4fefd01 --- /dev/null +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Sdk.Windows.targets @@ -0,0 +1,16 @@ + + + + + MSIX + + true + + false + + false + + true + + + diff --git a/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Controls.Sdk.After.targets b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Build.Tasks.After.targets similarity index 100% rename from src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Controls.Sdk.After.targets rename to src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Build.Tasks.After.targets diff --git a/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Build.Tasks.Before.targets b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Build.Tasks.Before.targets new file mode 100644 index 000000000000..f122c6362cb8 --- /dev/null +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Build.Tasks.Before.targets @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Build.Tasks.props b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Build.Tasks.props new file mode 100644 index 000000000000..164975bf0283 --- /dev/null +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Build.Tasks.props @@ -0,0 +1,10 @@ + + + + + <_MauiSkipSdkAutoImport>true + + + + + diff --git a/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Build.Tasks.targets b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Build.Tasks.targets new file mode 100644 index 000000000000..d77cfba900d8 --- /dev/null +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Build.Tasks.targets @@ -0,0 +1,13 @@ + + + + true + + + + + + $(AfterMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)Microsoft.Maui.Controls.Build.Tasks.After.targets + + + \ No newline at end of file diff --git a/.nuspec/Microsoft.Maui.Controls.props b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Common.targets similarity index 81% rename from .nuspec/Microsoft.Maui.Controls.props rename to src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Common.targets index 79ed0e9a0e40..d86238a61e44 100644 --- a/.nuspec/Microsoft.Maui.Controls.props +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Common.targets @@ -1,12 +1,9 @@ - - <_IsHotRestartDefined>$([System.Text.RegularExpressions.Regex]::IsMatch('$(DefineConstants.Trim())', '(^|;)HOTRESTART($|;)')) HOTRESTART;$(DefineConstants) True - None diff --git a/.nuspec/Microsoft.Maui.Controls.DefaultItems.targets b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.DefaultItems.targets similarity index 99% rename from .nuspec/Microsoft.Maui.Controls.DefaultItems.targets rename to src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.DefaultItems.targets index 98969304935f..3b8a7fa304e1 100644 --- a/.nuspec/Microsoft.Maui.Controls.DefaultItems.targets +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.DefaultItems.targets @@ -11,7 +11,7 @@ - + diff --git a/src/Workload/Microsoft.Maui.Sdk/Sdk/AutoImport.in.props b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Globs.props similarity index 76% rename from src/Workload/Microsoft.Maui.Sdk/Sdk/AutoImport.in.props rename to src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Globs.props index a03491409cde..70e85541920f 100644 --- a/src/Workload/Microsoft.Maui.Sdk/Sdk/AutoImport.in.props +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.Globs.props @@ -1,5 +1,4 @@ - @@ -8,7 +7,7 @@ - + @@ -31,7 +30,7 @@ - + @@ -42,7 +41,7 @@ --> - + @@ -56,7 +55,7 @@ - + - + - + @@ -153,4 +152,14 @@ + + + + + + diff --git a/.nuspec/Microsoft.Maui.Controls.SingleProject.targets b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.SingleProject.targets similarity index 85% rename from .nuspec/Microsoft.Maui.Controls.SingleProject.targets rename to src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.SingleProject.targets index 628e932bee6d..0a64616ac8db 100644 --- a/.nuspec/Microsoft.Maui.Controls.SingleProject.targets +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.SingleProject.targets @@ -128,40 +128,10 @@ - - - - - - - <_MauiAppxManifest Include="@(AppxManifest)" /> - - - - - $(MSBuildExtensionsPath)\Microsoft\VisualStudio\Maui\Maui.DesignTime.targets - - - - - - - - - - - - diff --git a/.nuspec/Microsoft.Maui.Controls.targets b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.targets similarity index 94% rename from .nuspec/Microsoft.Maui.Controls.targets rename to src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.targets index afbfa45a65e3..8831437fc278 100644 --- a/.nuspec/Microsoft.Maui.Controls.targets +++ b/src/Controls/src/Build.Tasks/nuget/buildTransitive/netstandard2.0/Microsoft.Maui.Controls.targets @@ -3,7 +3,6 @@ - <_MinimumMauiWorkloadVersion>6.0.200 true True True @@ -14,7 +13,6 @@ - @@ -46,9 +44,6 @@ - - - + + diff --git a/src/Controls/src/Core/Controls.Core.csproj b/src/Controls/src/Core/Controls.Core.csproj index ccd3f5ed2819..c9d57ec781b0 100644 --- a/src/Controls/src/Core/Controls.Core.csproj +++ b/src/Controls/src/Core/Controls.Core.csproj @@ -1,10 +1,12 @@ + netstandard2.1;netstandard2.0;$(_MauiDotNetTfm);$(MauiPlatforms) Microsoft.Maui.Controls Microsoft.Maui.Controls + Microsoft.Maui.Controls.Core enable - false + true false <_MauiDesignDllBuild Condition=" '$(OS)' != 'Unix' ">True high @@ -13,7 +15,7 @@ $(NoWarn);CA1420 - + @@ -25,6 +27,10 @@ + + + + @@ -40,11 +46,11 @@ $(TargetsForTfmSpecificBuildOutput); - _MauiPackXamlDesignAssemblies + _MauiPackDesignAssemblies - + Design\Microsoft.Maui.Controls.DesignTools.dll @@ -55,6 +61,8 @@ + + diff --git a/src/Controls/src/NuGet/Controls.NuGet.csproj b/src/Controls/src/NuGet/Controls.NuGet.csproj new file mode 100644 index 000000000000..df229b5ea1e7 --- /dev/null +++ b/src/Controls/src/NuGet/Controls.NuGet.csproj @@ -0,0 +1,22 @@ + + + + netstandard2.1;netstandard2.0;$(_MauiDotNetTfm);$(MauiPlatforms) + true + Microsoft.Maui.Controls + + true + + false + + + + + + + + + + + + diff --git a/src/Controls/src/SourceGen/Controls.SourceGen.csproj b/src/Controls/src/SourceGen/Controls.SourceGen.csproj index a4d7b6ffee5d..de304d1e3b82 100644 --- a/src/Controls/src/SourceGen/Controls.SourceGen.csproj +++ b/src/Controls/src/SourceGen/Controls.SourceGen.csproj @@ -5,6 +5,7 @@ enable Microsoft.Maui.Controls.SourceGen Microsoft.Maui.Controls.SourceGen + Microsoft.Maui.Controls.SourceGen false $(NoWarn);NU5128; @@ -31,10 +32,6 @@ - - - - @@ -45,9 +42,6 @@ True MauiGResources.resx - - - ResXFileCodeGenerator MauiGResources.Designer.cs @@ -58,8 +52,13 @@ - - + + + + <_CopyItems Include="$(TargetDir)*.dll" Exclude="$(TargetDir)System.*.dll" /> + <_CopyItems Include="$(TargetDir)*.pdb" Exclude="$(TargetDir)System.*.pdb" /> + + diff --git a/src/Controls/src/Xaml.Design/Controls.Xaml.Design.csproj b/src/Controls/src/Xaml.Design/Controls.Xaml.Design.csproj index 47c415798e3a..095b3456c6d3 100644 --- a/src/Controls/src/Xaml.Design/Controls.Xaml.Design.csproj +++ b/src/Controls/src/Xaml.Design/Controls.Xaml.Design.csproj @@ -12,8 +12,6 @@ - - 17.4.33103.184 - + \ No newline at end of file diff --git a/src/Controls/src/Xaml/Controls.Xaml.csproj b/src/Controls/src/Xaml/Controls.Xaml.csproj index 707ac8830adb..fdbdb523d462 100644 --- a/src/Controls/src/Xaml/Controls.Xaml.csproj +++ b/src/Controls/src/Xaml/Controls.Xaml.csproj @@ -4,7 +4,7 @@ netstandard2.1;netstandard2.0;$(_MauiDotNetTfm);$(MauiPlatforms) Microsoft.Maui.Controls.Xaml Microsoft.Maui.Controls.Xaml - false + true false <_MauiDesignDllBuild Condition=" '$(OS)' != 'Unix' ">True $(NoWarn);CA2200;CS1591;RS0041 @@ -18,22 +18,26 @@ - + + + + + - - $(TargetsForTfmSpecificBuildOutput); - _MauiPackXamlDesignAssemblies - + + $(TargetsForTfmSpecificBuildOutput); + _MauiPackDesignAssemblies + - + Design\Microsoft.Maui.Controls.Xaml.DesignTools.dll @@ -44,6 +48,8 @@ + + diff --git a/src/Controls/tests/DeviceTests/Directory.Build.targets b/src/Controls/tests/DeviceTests/Directory.Build.targets index e170c0e72789..ee0f29e9005c 100644 --- a/src/Controls/tests/DeviceTests/Directory.Build.targets +++ b/src/Controls/tests/DeviceTests/Directory.Build.targets @@ -1,7 +1,7 @@ - + \ No newline at end of file diff --git a/src/Controls/tests/Xaml.UnitTests/Directory.Build.targets b/src/Controls/tests/Xaml.UnitTests/Directory.Build.targets index 69bce6743021..dace2da70514 100644 --- a/src/Controls/tests/Xaml.UnitTests/Directory.Build.targets +++ b/src/Controls/tests/Xaml.UnitTests/Directory.Build.targets @@ -1,5 +1,5 @@ + + - - diff --git a/src/Controls/tests/Xaml.UnitTests/MSBuild/MSBuildTests.cs b/src/Controls/tests/Xaml.UnitTests/MSBuild/MSBuildTests.cs index 9bfa95f68ad5..060a97ba8b56 100644 --- a/src/Controls/tests/Xaml.UnitTests/MSBuild/MSBuildTests.cs +++ b/src/Controls/tests/Xaml.UnitTests/MSBuild/MSBuildTests.cs @@ -79,28 +79,12 @@ public void SetUp() //copy _Directory.Build.[props|targets] in test/ var props = IOPath.Combine(testDirectory, "..", "..", "..", "MSBuild", "_Directory.Build.props"); var targets = IOPath.Combine(testDirectory, "..", "..", "..", "MSBuild", "_Directory.Build.targets"); + if (!File.Exists(props)) { //NOTE: VSTS may be running tests in a staging directory, so we can use an environment variable to find the source //https://docs.microsoft.com/en-us/vsts/build-release/concepts/definitions/build/variables?view=vsts&tabs=batch#buildsourcesdirectory - var sourcesDirectory = Environment.GetEnvironmentVariable("BUILD_SOURCESDIRECTORY"); - if (!string.IsNullOrEmpty(sourcesDirectory)) - { - props = IOPath.Combine(sourcesDirectory, "Microsoft.Maui.Controls.Xaml.UnitTests", "MSBuild", "_Directory.Build.props"); - targets = IOPath.Combine(sourcesDirectory, "Microsoft.Maui.Controls.Xaml.UnitTests", "MSBuild", "_Directory.Build.targets"); - - if (!File.Exists(props)) - Assert.Fail("Unable to find _Directory.Build.props at path: " + props); - } - else - Assert.Fail("Unable to find _Directory.Build.props at path: " + props); - - Directory.CreateDirectory(IOPath.Combine(testDirectory, "..", "..", "..", "..", ".nuspec")); - foreach (var file in Directory.GetFiles(IOPath.Combine(sourcesDirectory, ".nuspec"), "*.targets")) - File.Copy(file, IOPath.Combine(testDirectory, "..", "..", "..", "..", ".nuspec", IOPath.GetFileName(file)), true); - foreach (var file in Directory.GetFiles(IOPath.Combine(sourcesDirectory, ".nuspec"), "*.props")) - File.Copy(file, IOPath.Combine(testDirectory, "..", "..", "..", "..", ".nuspec", IOPath.GetFileName(file)), true); - File.Copy(IOPath.Combine(sourcesDirectory, "Directory.Build.props"), IOPath.Combine(testDirectory, "..", "..", "..", "..", "Directory.Build.props"), true); + Assert.Fail("Unable to find _Directory.Build.props at path: " + props); } File.Copy(props, IOPath.Combine(tempDirectory, "Directory.Build.props"), true); @@ -146,7 +130,6 @@ XElement NewProject() //NOTE: we don't want SDK-style projects to auto-add files, tests should be able to control this propertyGroup.Add(NewElement("EnableDefaultCompileItems").WithValue("False")); propertyGroup.Add(NewElement("EnableDefaultEmbeddedResourceItems").WithValue("False")); - propertyGroup.Add(NewElement("_MauiBuildTasksLocation").WithValue($"{testDirectory}\\")); project.Add(propertyGroup); var itemGroup = NewElement("ItemGroup"); diff --git a/src/Controls/tests/Xaml.UnitTests/MSBuild/_Directory.Build.props b/src/Controls/tests/Xaml.UnitTests/MSBuild/_Directory.Build.props index 92050d052153..db32c485ca56 100644 --- a/src/Controls/tests/Xaml.UnitTests/MSBuild/_Directory.Build.props +++ b/src/Controls/tests/Xaml.UnitTests/MSBuild/_Directory.Build.props @@ -1,6 +1,11 @@ - - - - + + + $(MSBuildThisFileDirectory)..\..\..\..\..\..\..\..\..\ + $(MauiRootDirectory)src\ + <_MauiBuildTasksLocation>$(MauiRootDirectory).buildtasks\ + + + + diff --git a/src/Controls/tests/Xaml.UnitTests/MSBuild/_Directory.Build.targets b/src/Controls/tests/Xaml.UnitTests/MSBuild/_Directory.Build.targets index 6d5b3aede5a5..106f918bc9a9 100644 --- a/src/Controls/tests/Xaml.UnitTests/MSBuild/_Directory.Build.targets +++ b/src/Controls/tests/Xaml.UnitTests/MSBuild/_Directory.Build.targets @@ -1,7 +1,5 @@ - - - - - + + + diff --git a/src/Core/maps/src/Maps.csproj b/src/Core/maps/src/Maps.csproj index 62b1c8b7d085..b0d433df3fd1 100644 --- a/src/Core/maps/src/Maps.csproj +++ b/src/Core/maps/src/Maps.csproj @@ -18,7 +18,7 @@ icon.png - + @@ -41,4 +41,7 @@ + + + diff --git a/src/Core/src/Core.csproj b/src/Core/src/Core.csproj index 98c4f3987089..82797bf897c2 100644 --- a/src/Core/src/Core.csproj +++ b/src/Core/src/Core.csproj @@ -1,15 +1,19 @@  + netstandard2.1;netstandard2.0;$(_MauiDotNetTfm);$(MauiPlatforms) Microsoft.Maui Microsoft.Maui + Microsoft.Maui.Core enable - false + true false true $(NoWarn);CS1591;RS0041;RS0026;RS0027 - + + + @@ -41,5 +45,20 @@ + + + + + + + + <_CopyItems Include="nuget\buildTransitive\**" /> + + + + + + + diff --git a/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Core.Sdk.After.targets b/src/Core/src/nuget/buildTransitive/Microsoft.Maui.Core.After.targets similarity index 94% rename from src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Core.Sdk.After.targets rename to src/Core/src/nuget/buildTransitive/Microsoft.Maui.Core.After.targets index 41069aa1b56f..a37d82a42a42 100644 --- a/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Core.Sdk.After.targets +++ b/src/Core/src/nuget/buildTransitive/Microsoft.Maui.Core.After.targets @@ -13,6 +13,4 @@ --> - - \ No newline at end of file diff --git a/src/Core/src/nuget/buildTransitive/Microsoft.Maui.Core.Before.targets b/src/Core/src/nuget/buildTransitive/Microsoft.Maui.Core.Before.targets new file mode 100644 index 000000000000..c2881143b2cf --- /dev/null +++ b/src/Core/src/nuget/buildTransitive/Microsoft.Maui.Core.Before.targets @@ -0,0 +1,8 @@ + + + + + true + + + \ No newline at end of file diff --git a/src/Core/src/nuget/buildTransitive/Microsoft.Maui.Core.props b/src/Core/src/nuget/buildTransitive/Microsoft.Maui.Core.props new file mode 100644 index 000000000000..058246e40862 --- /dev/null +++ b/src/Core/src/nuget/buildTransitive/Microsoft.Maui.Core.props @@ -0,0 +1 @@ + diff --git a/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Core.Sdk.targets b/src/Core/src/nuget/buildTransitive/Microsoft.Maui.Core.targets similarity index 56% rename from src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Core.Sdk.targets rename to src/Core/src/nuget/buildTransitive/Microsoft.Maui.Core.targets index 952194a9aa39..337db9f84f00 100644 --- a/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Core.Sdk.targets +++ b/src/Core/src/nuget/buildTransitive/Microsoft.Maui.Core.targets @@ -4,11 +4,10 @@ true - + - - $(AfterMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)Microsoft.Maui.Core.Sdk.After.targets + $(AfterMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)Microsoft.Maui.Core.After.targets \ No newline at end of file diff --git a/src/Workload/Microsoft.Maui.Sdk/Sdk/WinUI.Unpackaged.targets b/src/Core/src/nuget/buildTransitive/WinUI.Unpackaged.targets similarity index 100% rename from src/Workload/Microsoft.Maui.Sdk/Sdk/WinUI.Unpackaged.targets rename to src/Core/src/nuget/buildTransitive/WinUI.Unpackaged.targets diff --git a/src/Workload/Microsoft.Maui.Sdk/Sdk/WinUI.targets b/src/Core/src/nuget/buildTransitive/WinUI.targets similarity index 100% rename from src/Workload/Microsoft.Maui.Sdk/Sdk/WinUI.targets rename to src/Core/src/nuget/buildTransitive/WinUI.targets diff --git a/src/Core/src/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Core.props b/src/Core/src/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Core.props new file mode 100644 index 000000000000..28406ccb7d5e --- /dev/null +++ b/src/Core/src/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Core.props @@ -0,0 +1,12 @@ + + + + + true + + false + + + + + \ No newline at end of file diff --git a/src/Core/src/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Core.targets b/src/Core/src/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Core.targets new file mode 100644 index 000000000000..05f86306a1d3 --- /dev/null +++ b/src/Core/src/nuget/buildTransitive/net6.0-windows10.0.17763.0/Microsoft.Maui.Core.targets @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/Core/tests/DeviceTests.Shared/Core.DeviceTests.Shared.csproj b/src/Core/tests/DeviceTests.Shared/Core.DeviceTests.Shared.csproj index 72fbfe71ffaf..984b5fc65e37 100644 --- a/src/Core/tests/DeviceTests.Shared/Core.DeviceTests.Shared.csproj +++ b/src/Core/tests/DeviceTests.Shared/Core.DeviceTests.Shared.csproj @@ -9,6 +9,7 @@ $(NoWarn),CA1416 + @@ -28,6 +29,5 @@ - diff --git a/src/Core/tests/DeviceTests/Directory.Build.targets b/src/Core/tests/DeviceTests/Directory.Build.targets index e170c0e72789..ee0f29e9005c 100644 --- a/src/Core/tests/DeviceTests/Directory.Build.targets +++ b/src/Core/tests/DeviceTests/Directory.Build.targets @@ -1,7 +1,7 @@ - + \ No newline at end of file diff --git a/src/Essentials/src/Essentials.csproj b/src/Essentials/src/Essentials.csproj index 0a2e69168c75..114e17a1e62e 100644 --- a/src/Essentials/src/Essentials.csproj +++ b/src/Essentials/src/Essentials.csproj @@ -5,20 +5,17 @@ Microsoft.Maui.Essentials false BI1234 - false + true true true $(NoWarn);CS1591;NU5104;RS0041;RS0026 $(NoWarn);CA1420 - + - - - @@ -67,4 +64,5 @@ --> + diff --git a/src/Essentials/src/nugetreadme.txt b/src/Essentials/src/nugetreadme.txt deleted file mode 100644 index a30936bd6051..000000000000 --- a/src/Essentials/src/nugetreadme.txt +++ /dev/null @@ -1,15 +0,0 @@ -## Microsoft.Maui.Essentials - -Thank you for installing Microsoft.Maui.Essentials, be sure to read through our full documentation at: -https://aka.ms/xamarinessentials - -## Setup - -Ensure that you install Microsoft.Maui.Essentials into all of your projects. - -For Android projects there is a small amount of setup needed to handle permissions. Please follow our short guide at: -https://aka.ms/essentials-getstarted - -## Release Notes - -See our full release notes for more information: https://aka.ms/essentials-releasenotes diff --git a/src/Essentials/test/DeviceTests/Directory.Build.targets b/src/Essentials/test/DeviceTests/Directory.Build.targets index e170c0e72789..ee0f29e9005c 100644 --- a/src/Essentials/test/DeviceTests/Directory.Build.targets +++ b/src/Essentials/test/DeviceTests/Directory.Build.targets @@ -1,7 +1,7 @@ - + \ No newline at end of file diff --git a/src/Graphics/src/Graphics.Skia/Graphics.Skia.csproj b/src/Graphics/src/Graphics.Skia/Graphics.Skia.csproj index 6e4396644de8..c47bc2af58d8 100644 --- a/src/Graphics/src/Graphics.Skia/Graphics.Skia.csproj +++ b/src/Graphics/src/Graphics.Skia/Graphics.Skia.csproj @@ -23,9 +23,9 @@ - + - + diff --git a/src/Graphics/src/Graphics.Win2D/Graphics.Win2D.csproj b/src/Graphics/src/Graphics.Win2D/Graphics.Win2D.csproj index e129ccafd1e2..078150692e62 100644 --- a/src/Graphics/src/Graphics.Win2D/Graphics.Win2D.csproj +++ b/src/Graphics/src/Graphics.Win2D/Graphics.Win2D.csproj @@ -17,7 +17,7 @@ - + diff --git a/src/Graphics/src/Graphics/Graphics.csproj b/src/Graphics/src/Graphics/Graphics.csproj index e3d3e8afd112..70f3e6376e51 100644 --- a/src/Graphics/src/Graphics/Graphics.csproj +++ b/src/Graphics/src/Graphics/Graphics.csproj @@ -16,14 +16,14 @@ $(NoWarn);CA1307;CA1309;CS1591;RS0026;RS0027;RS0041 - + - + diff --git a/src/Graphics/src/Text.Markdig/Graphics.Text.Markdig.csproj b/src/Graphics/src/Text.Markdig/Graphics.Text.Markdig.csproj index a05eea33a890..fe92927c5650 100644 --- a/src/Graphics/src/Text.Markdig/Graphics.Text.Markdig.csproj +++ b/src/Graphics/src/Text.Markdig/Graphics.Text.Markdig.csproj @@ -17,7 +17,7 @@ - + diff --git a/src/Graphics/tests/DeviceTests/Directory.Build.targets b/src/Graphics/tests/DeviceTests/Directory.Build.targets index e170c0e72789..ee0f29e9005c 100644 --- a/src/Graphics/tests/DeviceTests/Directory.Build.targets +++ b/src/Graphics/tests/DeviceTests/Directory.Build.targets @@ -1,7 +1,7 @@ - + \ No newline at end of file diff --git a/src/Maui.InTree.props b/src/Maui.InTree.props index 871983d2c833..0d44d03d3844 100644 --- a/src/Maui.InTree.props +++ b/src/Maui.InTree.props @@ -1,5 +1,26 @@ - - - + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Maui.InTree.targets b/src/Maui.InTree.targets index 2cbac3e108c0..8e54e34984c9 100644 --- a/src/Maui.InTree.targets +++ b/src/Maui.InTree.targets @@ -1,12 +1,28 @@ + - + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/.nuspec/Microsoft.Maui.Controls.Debug.targets b/src/Microsoft.Maui.Controls.Debug.targets similarity index 85% rename from .nuspec/Microsoft.Maui.Controls.Debug.targets rename to src/Microsoft.Maui.Controls.Debug.targets index afa07be9def5..e33ffcee55d1 100644 --- a/.nuspec/Microsoft.Maui.Controls.Debug.targets +++ b/src/Microsoft.Maui.Controls.Debug.targets @@ -1,11 +1,10 @@ + True <_MauiForceXamlCForDebug>True - - @@ -27,4 +26,5 @@ DebugSymbols = "$(DebugSymbols)" DebugType = "$(DebugType)"/> + \ No newline at end of file diff --git a/.nuspec/Microsoft.Maui.TestUtils.DeviceTests.Runners.targets b/src/Microsoft.Maui.TestUtils.DeviceTests.Runners.targets similarity index 100% rename from .nuspec/Microsoft.Maui.TestUtils.DeviceTests.Runners.targets rename to src/Microsoft.Maui.TestUtils.DeviceTests.Runners.targets diff --git a/.nuspec/Microsoft.Maui.Controls.MultiTargeting.targets b/src/MultiTargeting.targets similarity index 100% rename from .nuspec/Microsoft.Maui.Controls.MultiTargeting.targets rename to src/MultiTargeting.targets diff --git a/src/ProfiledAot/src/Directory.Build.targets b/src/ProfiledAot/src/Directory.Build.targets index 69cd68b52df7..660fb6c50606 100644 --- a/src/ProfiledAot/src/Directory.Build.targets +++ b/src/ProfiledAot/src/Directory.Build.targets @@ -21,7 +21,7 @@ - + @@ -47,10 +47,10 @@ - + - + diff --git a/src/SingleProject/Resizetizer/src/Resizetizer.csproj b/src/SingleProject/Resizetizer/src/Resizetizer.csproj index 53b8a223d84d..8514096ef951 100644 --- a/src/SingleProject/Resizetizer/src/Resizetizer.csproj +++ b/src/SingleProject/Resizetizer/src/Resizetizer.csproj @@ -5,10 +5,13 @@ Microsoft.Maui.Resizetizer Microsoft.Maui.Resizetizer - Microsoft.Maui.Resizetizer.Sdk + Microsoft.Maui.Resizetizer .NET MAUI SDK support for images, fonts, etc. Enabled via <UseMauiAssets>true</UseMauiAssets>. - false - <_SkiaPackagePath>build\ + true + + true + + false @@ -18,19 +21,22 @@ - - - - + + + + - + - <_CopyItems Include="$(TargetDir)**\*.dll" Exclude="$(TargetDir)System.*.dll" /> - <_CopyItems Include="$(TargetDir)**\*.so" /> - <_CopyItems Include="$(TargetDir)**\*.dylib" /> + <_CopyItems Include="$(TargetDir)$(AssemblyName).dll" /> + <_CopyItems Include="$(TargetDir)$(AssemblyName).pdb" /> + <_CopyItems Include="nuget\buildTransitive\**" /> + <_CopyItems Include="@(_ResizetizerFiles)" /> - + + + diff --git a/src/SingleProject/Resizetizer/src/ResizetizerPackages.projitems b/src/SingleProject/Resizetizer/src/ResizetizerPackages.projitems index 8041459c8de8..defa7a62b762 100644 --- a/src/SingleProject/Resizetizer/src/ResizetizerPackages.projitems +++ b/src/SingleProject/Resizetizer/src/ResizetizerPackages.projitems @@ -2,6 +2,7 @@ + @@ -18,14 +19,17 @@ - - - - - - - - + + + + + + + + + + + @@ -33,6 +37,7 @@ <_ResizetizerFiles Include="$(PkgSystem_Memory)\lib\netstandard2.0\System.Memory.dll" /> <_ResizetizerFiles Include="$(PkgSystem_Buffers)\lib\netstandard2.0\System.Buffers.dll" /> <_ResizetizerFiles Include="$(PkgSystem_Text_Json)\lib\netstandard2.0\System.Text.Json.dll" /> + <_ResizetizerFiles Include="$(PkgSystem_Text_Encodings_Web)\lib\netstandard2.0\System.Text.Encodings.Web.dll" /> <_ResizetizerFiles Include="$(PkgMicrosoft_Bcl_AsyncInterfaces)\lib\netstandard2.0\Microsoft.Bcl.AsyncInterfaces.dll" /> <_ResizetizerFiles Include="$(PkgSystem_Numerics_Vectors)\lib\netstandard2.0\System.Numerics.Vectors.dll" /> <_ResizetizerFiles Include="$(PkgSystem_Runtime_CompilerServices_Unsafe)\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll" /> diff --git a/.nuspec/Microsoft.Maui.Resizetizer.targets b/src/SingleProject/Resizetizer/src/nuget/buildTransitive/Microsoft.Maui.Resizetizer.After.targets similarity index 98% rename from .nuspec/Microsoft.Maui.Resizetizer.targets rename to src/SingleProject/Resizetizer/src/nuget/buildTransitive/Microsoft.Maui.Resizetizer.After.targets index 8d91c3c91f99..e3f1972e7c44 100644 --- a/.nuspec/Microsoft.Maui.Resizetizer.targets +++ b/src/SingleProject/Resizetizer/src/nuget/buildTransitive/Microsoft.Maui.Resizetizer.After.targets @@ -668,6 +668,24 @@ + + + + + + + <_MauiAppxManifest Include="@(AppxManifest)" /> + + + + + diff --git a/src/SingleProject/Resizetizer/src/nuget/buildTransitive/Microsoft.Maui.Resizetizer.props b/src/SingleProject/Resizetizer/src/nuget/buildTransitive/Microsoft.Maui.Resizetizer.props new file mode 100644 index 000000000000..058246e40862 --- /dev/null +++ b/src/SingleProject/Resizetizer/src/nuget/buildTransitive/Microsoft.Maui.Resizetizer.props @@ -0,0 +1 @@ + diff --git a/src/SingleProject/Resizetizer/src/nuget/buildTransitive/Microsoft.Maui.Resizetizer.targets b/src/SingleProject/Resizetizer/src/nuget/buildTransitive/Microsoft.Maui.Resizetizer.targets new file mode 100644 index 000000000000..a57ee33416b5 --- /dev/null +++ b/src/SingleProject/Resizetizer/src/nuget/buildTransitive/Microsoft.Maui.Resizetizer.targets @@ -0,0 +1,13 @@ + + + + true + + + + + + $(AfterMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)Microsoft.Maui.Resizetizer.After.targets + + + \ No newline at end of file diff --git a/src/TestUtils/samples/Directory.Build.targets b/src/TestUtils/samples/Directory.Build.targets index e170c0e72789..ee0f29e9005c 100644 --- a/src/TestUtils/samples/Directory.Build.targets +++ b/src/TestUtils/samples/Directory.Build.targets @@ -1,7 +1,7 @@ - + \ No newline at end of file diff --git a/src/TestUtils/src/DeviceTests.Runners/TestUtils.DeviceTests.Runners.csproj b/src/TestUtils/src/DeviceTests.Runners/TestUtils.DeviceTests.Runners.csproj index 1ca0768e6e36..60c7dc621dca 100644 --- a/src/TestUtils/src/DeviceTests.Runners/TestUtils.DeviceTests.Runners.csproj +++ b/src/TestUtils/src/DeviceTests.Runners/TestUtils.DeviceTests.Runners.csproj @@ -25,7 +25,7 @@ - + @@ -40,6 +40,6 @@ - + diff --git a/src/TestUtils/src/DeviceTests/TestUtils.DeviceTests.csproj b/src/TestUtils/src/DeviceTests/TestUtils.DeviceTests.csproj index b2b2d0082a4f..77b50771168d 100644 --- a/src/TestUtils/src/DeviceTests/TestUtils.DeviceTests.csproj +++ b/src/TestUtils/src/DeviceTests/TestUtils.DeviceTests.csproj @@ -21,6 +21,6 @@ - + diff --git a/src/Workload/Microsoft.Maui.Controls.Ref/Microsoft.Maui.Controls.Ref.csproj b/src/Workload/Microsoft.Maui.Controls.Ref/Microsoft.Maui.Controls.Ref.csproj deleted file mode 100644 index d8bfa3c9d8b7..000000000000 --- a/src/Workload/Microsoft.Maui.Controls.Ref/Microsoft.Maui.Controls.Ref.csproj +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - .NET MAUI Controls targeting pack - $(DotNetPacksDirectory)$(PackageId)/$(PackageVersion)/ - - - - - <_AndroidFiles Include="$(MauiRootDirectory)src/Compatibility/Core/src/bin/$(Configuration)/$(_MauiDotNetTfm)-android/Microsoft.Maui.Controls.Compatibility.aar" /> - <_AndroidFiles Include="$(MauiRootDirectory)src/Controls/src/Core/bin/$(Configuration)/$(_MauiDotNetTfm)-android/Microsoft.Maui.Controls.aar" /> - - - - - - - - - - - - - - <_PackageFiles Include="@(None)" PackagePath="ref/%(FullTfm)%(SubFolder)" TargetPath="ref/%(FullTfm)%(SubFolder)" /> - - - - - - - - - - - \ No newline at end of file diff --git a/src/Workload/Microsoft.Maui.Controls.Runtime/Microsoft.Maui.Controls.Runtime.csproj b/src/Workload/Microsoft.Maui.Controls.Runtime/Microsoft.Maui.Controls.Runtime.csproj deleted file mode 100644 index 12b517041e13..000000000000 --- a/src/Workload/Microsoft.Maui.Controls.Runtime/Microsoft.Maui.Controls.Runtime.csproj +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - .NET MAUI Controls runtime pack - $(DotNetPacksDirectory)$(PackageId)/$(PackageVersion)/ - - - - - - - - - - - - - - - - <_PackageFiles Include="@(None)" PackagePath="lib/%(FullTfm)" TargetPath="lib/%(FullTfm)" /> - - - - - - - - - \ No newline at end of file diff --git a/src/Workload/Microsoft.Maui.Core.Ref/Microsoft.Maui.Core.Ref.csproj b/src/Workload/Microsoft.Maui.Core.Ref/Microsoft.Maui.Core.Ref.csproj deleted file mode 100644 index a31bd399193f..000000000000 --- a/src/Workload/Microsoft.Maui.Core.Ref/Microsoft.Maui.Core.Ref.csproj +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - .NET MAUI Core targeting pack - $(DotNetPacksDirectory)$(PackageId)/$(PackageVersion)/ - - - - - <_AndroidFiles Include="$(MauiRootDirectory)src/Core/src/bin/$(Configuration)/$(_MauiDotNetTfm)-android/Microsoft.Maui.aar" /> - <_AndroidFiles Include="$(MauiRootDirectory)src/Core/src/bin/$(Configuration)/$(_MauiDotNetTfm)-android/maui.aar" /> - - - - - - - - <_PackageFiles Include="@(None)" PackagePath="ref/%(FullTfm)" TargetPath="ref/%(FullTfm)" /> - - - - - - - \ No newline at end of file diff --git a/src/Workload/Microsoft.Maui.Core.Runtime/Microsoft.Maui.Core.Runtime.csproj b/src/Workload/Microsoft.Maui.Core.Runtime/Microsoft.Maui.Core.Runtime.csproj deleted file mode 100644 index 3ddc14a70241..000000000000 --- a/src/Workload/Microsoft.Maui.Core.Runtime/Microsoft.Maui.Core.Runtime.csproj +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - .NET MAUI Core runtime pack - $(DotNetPacksDirectory)$(PackageId)/$(PackageVersion)/ - - - - - - - <_PackageFiles Include="@(None)" PackagePath="lib/%(FullTfm)" TargetPath="lib/%(FullTfm)" /> - - - - - - - \ No newline at end of file diff --git a/src/Workload/Microsoft.Maui.Essentials.Ref/Microsoft.Maui.Essentials.Ref.csproj b/src/Workload/Microsoft.Maui.Essentials.Ref/Microsoft.Maui.Essentials.Ref.csproj deleted file mode 100644 index 4a0b9923a614..000000000000 --- a/src/Workload/Microsoft.Maui.Essentials.Ref/Microsoft.Maui.Essentials.Ref.csproj +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - .NET MAUI Essentials targeting pack - $(DotNetPacksDirectory)$(PackageId)/$(PackageVersion)/ - - - - - <_AndroidFiles Include="$(MauiRootDirectory)src/Essentials/src/bin/$(Configuration)/$(_MauiDotNetTfm)-android/Microsoft.Maui.Essentials.aar" /> - - - - - - - - <_PackageFiles Include="@(None)" PackagePath="ref/%(FullTfm)" TargetPath="ref/%(FullTfm)" /> - - - - - - - \ No newline at end of file diff --git a/src/Workload/Microsoft.Maui.Essentials.Runtime/Microsoft.Maui.Essentials.Runtime.csproj b/src/Workload/Microsoft.Maui.Essentials.Runtime/Microsoft.Maui.Essentials.Runtime.csproj deleted file mode 100644 index f34c69731b58..000000000000 --- a/src/Workload/Microsoft.Maui.Essentials.Runtime/Microsoft.Maui.Essentials.Runtime.csproj +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - .NET MAUI Essentials runtime pack - $(DotNetPacksDirectory)$(PackageId)/$(PackageVersion)/ - - - - - - - <_PackageFiles Include="@(None)" PackagePath="lib/%(FullTfm)" TargetPath="lib/%(FullTfm)" /> - - - - - - - \ No newline at end of file diff --git a/src/Workload/Microsoft.Maui.Resizetizer.Sdk/Microsoft.Maui.Resizetizer.Sdk.csproj b/src/Workload/Microsoft.Maui.Resizetizer.Sdk/Microsoft.Maui.Resizetizer.Sdk.csproj deleted file mode 100644 index 0c07bfc19f1d..000000000000 --- a/src/Workload/Microsoft.Maui.Resizetizer.Sdk/Microsoft.Maui.Resizetizer.Sdk.csproj +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - .NET MAUI SDK support for images, fonts, etc. Enabled via <UseMauiAssets>true</UseMauiAssets>. - $(DotNetPacksDirectory)$(PackageId)/$(PackageVersion)/ - - - - - - <_ResizetizerFiles Include="$(MauiNuSpecDirectory)Microsoft.Maui.Resizetizer.targets" /> - <_ResizetizerFiles Include="$(MauiRootDirectory)src\SingleProject\Resizetizer\src\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.Resizetizer.dll" /> - <_ResizetizerFiles Include="$(MauiRootDirectory)src\SingleProject\Resizetizer\src\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.Resizetizer.pdb" /> - - - - - - - - - \ No newline at end of file diff --git a/src/Workload/Microsoft.Maui.Resizetizer.Sdk/Sdk/AutoImport.props b/src/Workload/Microsoft.Maui.Resizetizer.Sdk/Sdk/AutoImport.props deleted file mode 100644 index 423091616474..000000000000 --- a/src/Workload/Microsoft.Maui.Resizetizer.Sdk/Sdk/AutoImport.props +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/Workload/Microsoft.Maui.Resizetizer.Sdk/Sdk/Sdk.targets b/src/Workload/Microsoft.Maui.Resizetizer.Sdk/Sdk/Sdk.targets deleted file mode 100644 index 692273f08a18..000000000000 --- a/src/Workload/Microsoft.Maui.Resizetizer.Sdk/Sdk/Sdk.targets +++ /dev/null @@ -1,5 +0,0 @@ - - - $(AfterMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)../targets/Microsoft.Maui.Resizetizer.targets - - \ No newline at end of file diff --git a/src/Workload/Microsoft.Maui.Sdk/Microsoft.Maui.Sdk.csproj b/src/Workload/Microsoft.Maui.Sdk/Microsoft.Maui.Sdk.csproj index 0014ae7ac903..0f8978dfd00a 100644 --- a/src/Workload/Microsoft.Maui.Sdk/Microsoft.Maui.Sdk.csproj +++ b/src/Workload/Microsoft.Maui.Sdk/Microsoft.Maui.Sdk.csproj @@ -9,50 +9,7 @@ - - <_Files Include="$(MauiNuSpecDirectory)Microsoft.Maui.Core.props" /> - <_Files Include="$(MauiNuSpecDirectory)Microsoft.Maui.Core.targets" /> - <_Files Include="$(MauiNuSpecDirectory)Microsoft.Maui.Controls.props" /> - <_Files Include="$(MauiNuSpecDirectory)Microsoft.Maui.Controls.targets" /> - <_Files Include="$(MauiNuSpecDirectory)Microsoft.Maui.Controls.SingleProject.props" /> - <_Files Include="$(MauiNuSpecDirectory)Microsoft.Maui.Controls.SingleProject.targets" /> - <_Files Include="$(MauiNuSpecDirectory)Microsoft.Maui.Controls.DefaultItems.targets" /> - <_Files Include="$(MauiNuSpecDirectory)maui.aotprofile" /> - <_Files Include="$(MauiNuSpecDirectory)maui-blazor.aotprofile" /> - <_Files Include="$(PkgMono_Cecil)\lib\netstandard2.0\Mono.Cecil.dll" /> - <_Files Include="$(PkgMono_Cecil)\lib\netstandard2.0\Mono.Cecil.pdb" /> - <_Files Include="$(PkgMono_Cecil)\lib\netstandard2.0\Mono.Cecil.Mdb.dll" /> - <_Files Include="$(PkgMono_Cecil)\lib\netstandard2.0\Mono.Cecil.Mdb.pdb" /> - <_Files Include="$(PkgMono_Cecil)\lib\netstandard2.0\Mono.Cecil.Pdb.dll" /> - <_Files Include="$(PkgMono_Cecil)\lib\netstandard2.0\Mono.Cecil.Pdb.pdb" /> - <_Files Include="$(PkgMono_Cecil)\lib\netstandard2.0\Mono.Cecil.Rocks.dll" /> - <_Files Include="$(PkgMono_Cecil)\lib\netstandard2.0\Mono.Cecil.Rocks.pdb" /> - <_Files Include="$(PkgSystem_CodeDom)\lib\netstandard2.0\System.CodeDom.dll" /> - <_Files Include="$(MauiRootDirectory)src\Graphics\src\Graphics\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.Graphics.dll" /> - <_Files Include="$(MauiRootDirectory)src\Graphics\src\Graphics\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.Graphics.pdb" /> - <_Files Include="$(MauiRootDirectory)src\Controls\src\Build.Tasks\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.Controls.Build.Tasks.dll" /> - <_Files Include="$(MauiRootDirectory)src\Controls\src\Build.Tasks\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.Controls.Build.Tasks.pdb" /> - <_Files Include="$(MauiRootDirectory)src\Controls\src\Build.Tasks\bin\$(Configuration)\netstandard2.0\*\Microsoft.Maui.Controls.Build.Tasks.resources.dll" /> - <_Files Include="$(MauiRootDirectory)src\Essentials\src\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.Essentials.dll" /> - <_Files Include="$(MauiRootDirectory)src\Essentials\src\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.Essentials.pdb" /> - <_Files Include="$(MauiRootDirectory)src\Controls\src\Core\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.dll" /> - <_Files Include="$(MauiRootDirectory)src\Controls\src\Core\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.pdb" /> - <_Files Include="$(MauiRootDirectory)src\Controls\src\Core\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.Controls.dll" /> - <_Files Include="$(MauiRootDirectory)src\Controls\src\Core\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.Controls.pdb" /> - <_Files Include="$(MauiRootDirectory)src\Controls\src\Xaml\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.Controls.Xaml.dll" /> - <_Files Include="$(MauiRootDirectory)src\Controls\src\Xaml\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.Controls.Xaml.pdb" /> - <_Files Include="$(MauiRootDirectory)src\Controls\src\SourceGen\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.Controls.SourceGen.dll" /> - <_Files Include="$(MauiRootDirectory)src\Controls\src\SourceGen\bin\$(Configuration)\netstandard2.0\Microsoft.Maui.Controls.SourceGen.pdb" /> - - - - - - - - - - + @@ -135,28 +92,4 @@ - - - - - - - - diff --git a/src/Workload/Microsoft.Maui.Sdk/Sdk/AutoImport.props b/src/Workload/Microsoft.Maui.Sdk/Sdk/AutoImport.props new file mode 100644 index 000000000000..058246e40862 --- /dev/null +++ b/src/Workload/Microsoft.Maui.Sdk/Sdk/AutoImport.props @@ -0,0 +1 @@ + diff --git a/src/Workload/Microsoft.Maui.Sdk/Sdk/BundledVersions.in.targets b/src/Workload/Microsoft.Maui.Sdk/Sdk/BundledVersions.in.targets index 7af421ca3b5c..f1b78f50e3b5 100644 --- a/src/Workload/Microsoft.Maui.Sdk/Sdk/BundledVersions.in.targets +++ b/src/Workload/Microsoft.Maui.Sdk/Sdk/BundledVersions.in.targets @@ -1,140 +1,61 @@ - <_MauiRuntimePackVersion>$(MauiVersion) - <_MauiRuntimePackVersion Condition=" '$(_MauiRuntimePackVersion)' == '' ">**FromWorkload** @VERSION@ @TFM@ $(MauiWorkloadVersion) - - <_MauiPlatformName Condition=" '$(TargetPlatformIdentifier)' == 'windows' ">win - <_MauiPlatformName Condition=" '$(TargetPlatformIdentifier)' != 'windows' ">$(TargetPlatformIdentifier.ToLowerInvariant()) - <_MauiPlatformName Condition=" '$(_MauiPlatformName)' == '' ">any - <_MauiRuntimePackAlwaysCopyLocal Condition=" '$(_MauiPlatformName)' == 'any' ">true - - - - - - + - - - all - - - all - - - all - - - all - + This logic only installs packages if and only if $(UseMauiNuGets) is not true. This property + allows the user to totally override all the default nugets installed. This should not be needed + as the $(MauiVersion) should be sufficient. However, there may be a case to test various CI builds + of .NET MAUI. One exception the this is that the <_MauiRequiredImplicitPackageReference/> item + group is always installed as this is not maui dependencies but rather .NET support dependencies. + --> + + <_MauiImplicitPackageReference Include="Microsoft.Maui.Resizetizer" Version="$(MauiVersion)" PrivateAssets="all" /> - - + + <_MauiImplicitPackageReference Include="Microsoft.Maui.Essentials" Version="$(MauiVersion)"> all - + - - - all - - - all - - - all - - - all - - + + <_MauiImplicitPackageReference Include="Microsoft.Maui.Core" Version="$(MauiVersion)"> all - - - all - - - all - - - all - - - all - - + + + + <_MauiImplicitPackageReference Include="Microsoft.Maui.Controls" Version="$(MauiVersion)"> all - - + + <_MauiImplicitPackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="$(MauiVersion)"> all - - - - - all - - - all - + - + <_MauiImplicitPackageReference Include="Microsoft.AspNetCore.Components.WebView.Maui" Version="$(MauiVersion)"> all - + - - all - - - all - - + <_MauiRequiredImplicitPackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="@MicrosoftWindowsSDKBuildToolsPackageVersion@" PrivateAssets="all" /> + + + + <_MauiRequiredImplicitPackageReference Remove="@(PackageReference)" /> + + + + + <_MauiImplicitPackageReference Remove="@(PackageReference)" /> + \ No newline at end of file diff --git a/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Controls.Sdk.targets b/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Controls.Sdk.targets deleted file mode 100644 index ac6dfd375bed..000000000000 --- a/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Controls.Sdk.targets +++ /dev/null @@ -1,18 +0,0 @@ - - - - true - - - - - - - - $(AfterMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)Microsoft.Maui.Controls.Sdk.After.targets - - - \ No newline at end of file diff --git a/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.NuGets.Sdk.targets b/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.NuGets.Sdk.targets deleted file mode 100644 index 397c7b1486d0..000000000000 --- a/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.NuGets.Sdk.targets +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - WinExe - - true - - - - - - <_SingleProjectRIDRequired Condition="'$(OutputType)' == 'WinExe'">true - <_SingleProjectRIDSpecified Condition="'$(RuntimeIdentifier)' != '' or '$(RuntimeIdentifiers)' != ''">true - - - <_SingleProjectHostArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture) - <_SingleProjectHostArchitecture>$(_SingleProjectHostArchitecture.ToLower()) - win10-$(_SingleProjectHostArchitecture) - <_MauiUsingDefaultRuntimeIdentifier>true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Sdk.After.targets b/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Sdk.After.targets index 61db92b2016d..06903689ab78 100644 --- a/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Sdk.After.targets +++ b/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Sdk.After.targets @@ -1,6 +1,10 @@ - + + + @@ -9,4 +13,16 @@ - \ No newline at end of file + + + + + + + + + + + + + diff --git a/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Sdk.Before.targets b/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Sdk.Before.targets new file mode 100644 index 000000000000..9c41f276d316 --- /dev/null +++ b/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Sdk.Before.targets @@ -0,0 +1,22 @@ + + + + + WinExe + + true + + + + + <_SingleProjectRIDRequired Condition="'$(OutputType)' == 'WinExe'">true + <_SingleProjectRIDSpecified Condition="'$(RuntimeIdentifier)' != '' or '$(RuntimeIdentifiers)' != ''">true + + + <_SingleProjectHostArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture) + <_SingleProjectHostArchitecture>$(_SingleProjectHostArchitecture.ToLower()) + win10-$(_SingleProjectHostArchitecture) + <_MauiUsingDefaultRuntimeIdentifier>true + + + diff --git a/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Sdk.targets b/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Sdk.targets index 13defec4c731..ab701e1c564f 100644 --- a/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Sdk.targets +++ b/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Sdk.targets @@ -4,6 +4,10 @@ true + + + + $(AfterMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)Microsoft.Maui.Sdk.After.targets diff --git a/src/Workload/Microsoft.Maui.Sdk/Sdk/Sdk.targets b/src/Workload/Microsoft.Maui.Sdk/Sdk/Sdk.targets index 3cda3d690a85..cd922207a868 100644 --- a/src/Workload/Microsoft.Maui.Sdk/Sdk/Sdk.targets +++ b/src/Workload/Microsoft.Maui.Sdk/Sdk/Sdk.targets @@ -1,34 +1,6 @@ - - - - - - - - - - - - + + \ No newline at end of file diff --git a/src/Workload/Microsoft.NET.Sdk.Maui/WorkloadManifest.in.json b/src/Workload/Microsoft.NET.Sdk.Maui/WorkloadManifest.in.json index 98ed601837b0..1dae051e3d60 100644 --- a/src/Workload/Microsoft.NET.Sdk.Maui/WorkloadManifest.in.json +++ b/src/Workload/Microsoft.NET.Sdk.Maui/WorkloadManifest.in.json @@ -30,15 +30,13 @@ "Microsoft.Maui.Sdk.net@MAUI_DOTNET_VERSION_MAJOR@", "Microsoft.Maui.Sdk.net@MAUI_PREVIOUS_DOTNET_VERSION_MAJOR@", "Microsoft.Maui.Graphics", + "Microsoft.Maui.Resizetizer", "Microsoft.Maui.Resizetizer.Sdk", "Microsoft.Maui.Templates.net@MAUI_DOTNET_VERSION_MAJOR@", "Microsoft.Maui.Templates.net@MAUI_PREVIOUS_DOTNET_VERSION_MAJOR@", - "Microsoft.Maui.Core.Ref.any", - "Microsoft.Maui.Core.Runtime.any", - "Microsoft.Maui.Controls.Ref.any", - "Microsoft.Maui.Controls.Runtime.any", - "Microsoft.Maui.Essentials.Ref.any", - "Microsoft.Maui.Essentials.Runtime.any" + "Microsoft.Maui.Core", + "Microsoft.Maui.Controls", + "Microsoft.Maui.Essentials" ] }, "maui-blazor": { @@ -54,14 +52,6 @@ "extends": [ "maui-blazor", "android" - ], - "packs": [ - "Microsoft.Maui.Core.Ref.android", - "Microsoft.Maui.Core.Runtime.android", - "Microsoft.Maui.Controls.Ref.android", - "Microsoft.Maui.Controls.Runtime.android", - "Microsoft.Maui.Essentials.Ref.android", - "Microsoft.Maui.Essentials.Runtime.android" ] }, "maui-maccatalyst": { @@ -69,14 +59,6 @@ "extends": [ "maui-blazor", "maccatalyst" - ], - "packs": [ - "Microsoft.Maui.Core.Ref.maccatalyst", - "Microsoft.Maui.Core.Runtime.maccatalyst", - "Microsoft.Maui.Controls.Ref.maccatalyst", - "Microsoft.Maui.Controls.Runtime.maccatalyst", - "Microsoft.Maui.Essentials.Ref.maccatalyst", - "Microsoft.Maui.Essentials.Runtime.maccatalyst" ] }, "maui-ios": { @@ -84,26 +66,12 @@ "extends": [ "maui-blazor", "ios" - ], - "packs": [ - "Microsoft.Maui.Core.Ref.ios", - "Microsoft.Maui.Core.Runtime.ios", - "Microsoft.Maui.Controls.Ref.ios", - "Microsoft.Maui.Controls.Runtime.ios", - "Microsoft.Maui.Essentials.Ref.ios", - "Microsoft.Maui.Essentials.Runtime.ios" ] }, "maui-windows": { "description": ".NET MAUI SDK for Windows", "extends": [ "maui-blazor" ], "packs": [ - "Microsoft.Maui.Core.Ref.win", - "Microsoft.Maui.Core.Runtime.win", - "Microsoft.Maui.Controls.Ref.win", - "Microsoft.Maui.Controls.Runtime.win", - "Microsoft.Maui.Essentials.Ref.win", - "Microsoft.Maui.Essentials.Runtime.win", "Microsoft.Maui.Graphics.Win2D.WinUI.Desktop" ] }, @@ -111,14 +79,6 @@ "description": ".NET MAUI SDK for Tizen", "extends": [ "maui-blazor" - ], - "packs": [ - "Microsoft.Maui.Core.Ref.tizen", - "Microsoft.Maui.Core.Runtime.tizen", - "Microsoft.Maui.Controls.Ref.tizen", - "Microsoft.Maui.Controls.Runtime.tizen", - "Microsoft.Maui.Essentials.Ref.tizen", - "Microsoft.Maui.Essentials.Runtime.tizen" ] } }, @@ -127,148 +87,24 @@ "kind": "library", "version": "@VERSION@" }, - "Microsoft.Maui.Core.Ref.any": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Core.Ref.android": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Core.Ref.maccatalyst": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Core.Ref.ios": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Core.Ref.win": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Core.Ref.tizen": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Core.Runtime.any": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Core.Runtime.android": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Core.Runtime.maccatalyst": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Core.Runtime.ios": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Core.Runtime.win": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Core.Runtime.tizen": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Controls.Ref.any": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Controls.Ref.android": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Controls.Ref.maccatalyst": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Controls.Ref.ios": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Controls.Ref.win": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Controls.Ref.tizen": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Controls.Runtime.any": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Controls.Runtime.android": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Controls.Runtime.maccatalyst": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Controls.Runtime.ios": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Controls.Runtime.win": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Controls.Runtime.tizen": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Essentials.Ref.any": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Essentials.Ref.android": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Essentials.Ref.maccatalyst": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Essentials.Ref.ios": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Essentials.Ref.win": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Essentials.Ref.tizen": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Essentials.Runtime.any": { - "kind": "framework", - "version": "@VERSION@" - }, - "Microsoft.Maui.Essentials.Runtime.android": { - "kind": "framework", + "Microsoft.Maui.Core": { + "kind": "library", "version": "@VERSION@" }, - "Microsoft.Maui.Essentials.Runtime.maccatalyst": { - "kind": "framework", + "Microsoft.Maui.Controls": { + "kind": "library", "version": "@VERSION@" }, - "Microsoft.Maui.Essentials.Runtime.ios": { - "kind": "framework", + "Microsoft.Maui.Controls.Build.Tasks": { + "kind": "library", "version": "@VERSION@" }, - "Microsoft.Maui.Essentials.Runtime.win": { - "kind": "framework", + "Microsoft.Maui.Controls.Core": { + "kind": "library", "version": "@VERSION@" }, - "Microsoft.Maui.Essentials.Runtime.tizen": { - "kind": "framework", + "Microsoft.Maui.Controls.Xaml": { + "kind": "library", "version": "@VERSION@" }, "Microsoft.Maui.Graphics": { @@ -279,6 +115,10 @@ "kind": "library", "version": "@VERSION@" }, + "Microsoft.Maui.Resizetizer": { + "kind": "library", + "version": "@VERSION@" + }, "Microsoft.Maui.Sdk.net@MAUI_DOTNET_VERSION_MAJOR@": { "kind": "sdk", "version": "@VERSION@", @@ -295,7 +135,7 @@ }, "Microsoft.Maui.Resizetizer.Sdk": { "kind": "sdk", - "version": "@VERSION@" + "version": "@MAUI_PREVIOUS_DOTNET_RELEASED_NUGET_VERSION@" }, "Microsoft.Maui.Templates.net@MAUI_DOTNET_VERSION_MAJOR@": { "kind": "template", diff --git a/src/Workload/Microsoft.NET.Sdk.Maui/WorkloadManifest.in.targets b/src/Workload/Microsoft.NET.Sdk.Maui/WorkloadManifest.in.targets index 3773aa3139b7..b8712d196c34 100644 --- a/src/Workload/Microsoft.NET.Sdk.Maui/WorkloadManifest.in.targets +++ b/src/Workload/Microsoft.NET.Sdk.Maui/WorkloadManifest.in.targets @@ -1,12 +1,23 @@ - - - + + + + + + + + - + - $(_MauiDotNetTfm)-android;$(_MauiDotNetTfm)-ios + net6.0-android;net6.0-ios Exe true @@ -16,18 +16,13 @@ The idea, is a project to be able to set `$(UseMaui)`: `$(UseMaui)` automatically brings in the following workload packs: -* `Microsoft.NET.Sdk.Maui` -* `Microsoft.Maui.Sdk` -* `Microsoft.Maui.Resizetizer.Sdk` -* `Microsoft.Maui.Core.Ref.[platform]` -* `Microsoft.Maui.Core.Runtime.[platform]` -* `Microsoft.Maui.Controls.Ref.[platform]` -* `Microsoft.Maui.Controls.Runtime.[platform]` -* `Microsoft.Maui.Essentials.Ref.[platform]` -* `Microsoft.Maui.Essentials.Runtime.[platform]` -* `Microsoft.Maui.Templates` - -BlazorWebView is an addition to MAUI, project can currently opt into +* `Microsoft.NET.Sdk.Maui` - workload manifest +* `Microsoft.Maui.Sdk` - worklaod SDK +* `Microsoft.Maui.Controls` - nuget +* `Microsoft.Maui.Controls.Compatibility` - nuget +* `Microsoft.Maui.Templates` - nuget + +`BlazorWebView` is an addition to MAUI, project can currently opt into it by adding `.Razor` to the `Sdk` attribute. `` sets @@ -48,17 +43,17 @@ This will automatically add these dependencies: If you are a .NET 6 project, but don't want to use Microsoft.Maui.Controls you could bring in partial parts of MAUI. -`$(UseMauiAssets)` brings in `Microsoft.Maui.Resizetizer.Sdk`. +`$(UseMauiAssets)` brings in: + +* `Microsoft.Maui.Resizetizer` `$(UseMauiCore)` brings in: -* `Microsoft.Maui.Core.Ref.[platform]` -* `Microsoft.Maui.Core.Runtime.[platform]` +* `Microsoft.Maui.Core` `$(UseMauiEssentials)` brings in: -* `Microsoft.Maui.Essentials.Ref.[platform]` -* `Microsoft.Maui.Essentials.Runtime.[platform]` +* `Microsoft.Maui.Essentials` Special files: @@ -70,6 +65,8 @@ Special files: `$(UseMaui)` is `true`. Note that this is imported by *all* .NET 6 project types -- *even non-mobile ones*. +More detailed docs on how the workload and NuGet packages are constructed, see the [NuGet docs](/docs/design/NuGets.md). + For further details about .NET Workloads, see these .NET design docs: * [.NET Optional SDK Workloads](https://github.com/dotnet/designs/blob/main/accepted/2020/workloads/workloads.md) @@ -113,23 +110,12 @@ SDK band such as: To give greater flexibility, you can specify in your `.csproj`: ```xml -6.0.100-rc.2.2000 +8.0.100-preview.1.2345 ``` -Even if you have `6.0.100-rc.2.1000` installed system-wide, placing -this in your `.csproj` enables it to build against newer MAUI -assemblies at build & runtime. Things might break if the version is -much different that what MAUI source generators or MSBuild tasks -expect. We have a `$(_MinimumMauiWorkloadVersion)` property to fall -back on if there is a breaking change that requires a newer .NET MAUI -system-wide install. - - error MAUI004: At least version '6.0.200' of the .NET MAUI workload is required to use 6.0.200-preview.13. - -One issue is that any MSBuild tasks no longer update via `$(MauiVersion)`: - -* `Microsoft.Maui.Sdk`: source generators and XamlC -* `Microsoft.Maui.Resizetizer.Sdk`: MSBuild tasks +Even if you do not have `8.0.100-preview.1.2345` installed system-wide, placing +this in your `.csproj` enables it to build against newer .NET MAUI +assemblies at build & runtime. ## Using the .NET MAUI Workload