Update to .NET 7 SDKs (#7375)
Bump to: * .NET SDK 7.0.100-preview.6.22276.1 * .NET Runtime 7.0.0-preview.5.22272.3 * Android 33.0.0-preview.4.25 * iOS/MacCatalyst/tvOS 15.4.704-ci.net7-0 * macOS 12.3.704-ci.net7-0 * Tizen 7.0.100-preview.6.7 Other changes: * Build with `dotnet build` * Use `net7.0` target framework * `NET6_0` -> `NET6_0_OR_GREATER` * Provision Android API 32 * .NET 7 workload packs need `7.0.100-preview.6` version band * `Image*UnitTest` needs a `TaskCompletionSource` in .NET 7 * Tizen packs should check `$(IncludeTizenTargetFrameworks)` Workarounds: * Usage of `new NSUrlRequest(uri!)` to avoid NRT warnings * `GetScrollYOnGenList()` on Tizen needed new linker warnings ignored * `$(NoWarn)` is needed to workaround linker analyzers: https://github.com/dotnet/linker/issues/2817 * Added additional logging for `XamlC` failing on: Task XamlCTask Error XamlApp.xaml Invalid URI: The hostname could not be parsed. at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions) at System.Uri..ctor(String uriString, UriKind uriKind) at Microsoft.Maui.Controls.ResourceDictionary.RDSourceTypeConverter.GetResourcePath(Uri uri, String rootTargetPath) at Microsoft.Maui.Controls.XamlC.RDSourceTypeConverter.ConvertFromString(String value, ILContext context, BaseNode node)+MoveNext() at Microsoft.Maui.Controls.Build.Tasks.NodeILExtensions.PushConvertedValue(ValueNode node, ILContext context, TypeReference targetTypeRef, TypeReference typeConverter, IEnumerable`1 pushServiceProvider, Boolean boxValueTypes, Boolean unboxValueTypes)+MoveNext() at Microsoft.Maui.Controls.Build.Tasks.SetPropertiesVisitor.Set(VariableDefinition parent, String localName, INode node, IXmlLineInfo iXmlLineInfo, ILContext context)+MoveNext() at Microsoft.Maui.Controls.Build.Tasks.ILProcessorExtensions.Append(ILProcessor processor, IEnumerable`1 instructions) at Microsoft.Maui.Controls.Build.Tasks.SetPropertiesVisitor.Visit(ValueNode node, INode parentNode) at Microsoft.Maui.Controls.Xaml.ElementNode.Accept(IXamlNodeVisitor visitor, INode parentNode) at Microsoft.Maui.Controls.Build.Tasks.SetResourcesVisitor.Visit(ElementNode node, INode parentNode) at Microsoft.Maui.Controls.Xaml.ElementNode.Accept(IXamlNodeVisitor visitor, INode parentNode) at Microsoft.Maui.Controls.Xaml.ElementNode.Accept(IXamlNodeVisitor visitor, INode parentNode) at Microsoft.Maui.Controls.Xaml.RootNode.Accept(IXamlNodeVisitor visitor, INode parentNode) at Microsoft.Maui.Controls.Build.Tasks.XamlCTask.TryCoreCompile(MethodDefinition initComp, ILRootNode rootnode, String xamlFilePath, Exception& exception) Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com> Co-authored-by: Jay Cho <chojoong@gmail.com>
This commit is contained in:
Родитель
7592c42dd5
Коммит
b8646cb457
|
@ -121,10 +121,8 @@ dotnet tool restore
|
|||
dotnet cake --target=VS-NET6
|
||||
```
|
||||
|
||||
_NOTES:_
|
||||
- _If the IDE doesn't show any Android devices try unloading and reloading the `Sample.Droid-net6` project._
|
||||
|
||||
You can also run commands individually:
|
||||
|
||||
```dotnetcli
|
||||
# install local tools required to build (cake, pwsh, etc..)
|
||||
dotnet tool restore
|
||||
|
@ -142,8 +140,8 @@ To build & run .NET 6 sample apps, you will also need to use `.\bin\dotnet\dotne
|
|||
installed the workloads globally: as well as need the `-f` switch to choose the platform:
|
||||
|
||||
```dotnetcli
|
||||
.\bin\dotnet\dotnet build src\Controls\samples\Controls.Sample\Maui.Controls.Sample.csproj -t:Run -f net6.0-android
|
||||
.\bin\dotnet\dotnet build src\Controls\samples\Controls.Sample\Maui.Controls.Sample.csproj -t:Run -f net6.0-ios
|
||||
.\bin\dotnet\dotnet build src\Controls\samples\Controls.Sample\Maui.Controls.Sample.csproj -t:Run -f net7.0-android
|
||||
.\bin\dotnet\dotnet build src\Controls\samples\Controls.Sample\Maui.Controls.Sample.csproj -t:Run -f net7.0-ios
|
||||
```
|
||||
|
||||
#### MacOS
|
||||
|
@ -161,9 +159,9 @@ dotnet build Microsoft.Maui-mac.slnf
|
|||
Try out a "single project", you will need the `-f` switch to choose the platform:
|
||||
|
||||
```bash
|
||||
dotnet build src/Controls/samples/Controls.Sample/Maui.Controls.Sample.csproj -t:Run -f net6.0-ios
|
||||
dotnet build src/Controls/samples/Controls.Sample/Maui.Controls.Sample.csproj -t:Run -f net6.0-maccatalyst
|
||||
dotnet build src/Controls/samples/Controls.Sample/Maui.Controls.Sample.csproj -t:Run -f net6.0-android
|
||||
dotnet build src/Controls/samples/Controls.Sample/Maui.Controls.Sample.csproj -t:Run -f net7.0-ios
|
||||
dotnet build src/Controls/samples/Controls.Sample/Maui.Controls.Sample.csproj -t:Run -f net7.0-maccatalyst
|
||||
dotnet build src/Controls/samples/Controls.Sample/Maui.Controls.Sample.csproj -t:Run -f net7.0-android
|
||||
```
|
||||
|
||||
### Blazor Desktop
|
||||
|
@ -192,10 +190,10 @@ code in .NET MAUI:
|
|||
`$(AndroidUseIntermediateDesignerFile)` to `false`.
|
||||
|
||||
2. Build .NET MAUI as you normally would. You will get compiler errors
|
||||
about duplicate fields, but `obj\Debug\net6.0-android\Resource.designer.cs`
|
||||
about duplicate fields, but `obj\Debug\net7.0-android\Resource.designer.cs`
|
||||
should now be generated.
|
||||
|
||||
3. Open `obj\Debug\net6.0-android\Resource.designer.cs`, and find the
|
||||
3. Open `obj\Debug\net7.0-android\Resource.designer.cs`, and find the
|
||||
field you need such as:
|
||||
|
||||
```csharp
|
||||
|
|
|
@ -53,11 +53,11 @@
|
|||
// in vscode.
|
||||
"id": "framework",
|
||||
"type": "pickString",
|
||||
"default": "net6.0-android",
|
||||
"default": "net7.0-android",
|
||||
"description": "Pick the framework you want to target.",
|
||||
"options": [
|
||||
"net6.0-android",
|
||||
"net6.0-ios",
|
||||
"net7.0-android",
|
||||
"net7.0-ios",
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<Import Project="eng\Versions.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<_MauiDotNetVersion Condition="'$(_MauiDotNetVersion)' == ''">6.0</_MauiDotNetVersion>
|
||||
<_MauiDotNetVersion Condition="'$(_MauiDotNetVersion)' == ''">7.0</_MauiDotNetVersion>
|
||||
<_MauiDotNetTfm Condition="'$(_MauiDotNetTfm)' == ''">net$(_MauiDotNetVersion)</_MauiDotNetTfm>
|
||||
<_MauiTargetPlatformIdentifier>$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)'))</_MauiTargetPlatformIdentifier>
|
||||
<_MauiNoTargetPlatform Condition="'$(_MauiTargetPlatformIdentifier)' == ''">True</_MauiNoTargetPlatform>
|
||||
|
@ -14,7 +14,7 @@
|
|||
<_MauiTargetPlatformIsWindows Condition="$(_MauiTargetPlatformIdentifier.Contains('windows')) == 'True'">True</_MauiTargetPlatformIsWindows>
|
||||
<_MauiTargetPlatformIsTizen Condition="'$(_MauiTargetPlatformIdentifier)' == 'tizen'">True</_MauiTargetPlatformIsTizen>
|
||||
|
||||
<IncludeWindowsTargetFrameworks Condition="($([MSBuild]::IsOSPlatform('windows')) and '$(MSBuildRuntimeType)' == 'Full') or ('$(Packing)' == 'true')">true</IncludeWindowsTargetFrameworks>
|
||||
<IncludeWindowsTargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows')) or '$(Packing)' == 'true'">true</IncludeWindowsTargetFrameworks>
|
||||
<IncludeTizenTargetFrameworks Condition="'$(CI)' == 'true' or '$(TF_BUILD)' == 'true' or
|
||||
Exists('$(DOTNET_ROOT)\sdk-manifests\$(DotNetVersionBand)\samsung.net.sdk.tizen\WorkloadManifest.json') or
|
||||
Exists('$(ProgramFiles)\dotnet\sdk-manifests\$(DotNetVersionBand)\samsung.net.sdk.tizen\WorkloadManifest.json')">true</IncludeTizenTargetFrameworks>
|
||||
|
@ -27,6 +27,7 @@
|
|||
<!-- HACK: WinUI seems to have issues without this -->
|
||||
<GenerateLibraryLayout>true</GenerateLibraryLayout>
|
||||
<DisableEmbeddedXbf>false</DisableEmbeddedXbf>
|
||||
<EnablePreviewMsixTooling>true</EnablePreviewMsixTooling>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- version number information -->
|
||||
|
@ -63,7 +64,7 @@
|
|||
<DotNetToolPath>$(DotNetDirectory)dotnet</DotNetToolPath>
|
||||
<DotNetPacksDirectory>$(DotNetDirectory)packs/</DotNetPacksDirectory>
|
||||
<DotNetLibraryPacksDirectory>$(DotNetDirectory)library-packs/</DotNetLibraryPacksDirectory>
|
||||
<DotNetSdkManifestsDirectory>$(DotNetDirectory)sdk-manifests/$(DotNetVersionBand)/</DotNetSdkManifestsDirectory>
|
||||
<DotNetSdkManifestsDirectory>$(DotNetDirectory)sdk-manifests/$(DotNetSdkManifestsFolder)/</DotNetSdkManifestsDirectory>
|
||||
<DotNetTemplatePacksDirectory>$(DotNetDirectory)template-packs/</DotNetTemplatePacksDirectory>
|
||||
<_MauiBuildTasksLocation>$(_MauiBuildTasksLocation)</_MauiBuildTasksLocation>
|
||||
<_MauiBuildTasksLocation Condition="'$(_MauiBuildTasksLocation)' == ''">$(MSBuildThisFileDirectory).nuspec\</_MauiBuildTasksLocation>
|
||||
|
|
|
@ -36,6 +36,8 @@
|
|||
<PropertyGroup Condition="'$(_MauiTargetPlatformIsTizen)' == 'True'">
|
||||
<SupportedOSPlatformVersion>6.5</SupportedOSPlatformVersion>
|
||||
<TargetPlatformMinVersion>6.5</TargetPlatformMinVersion>
|
||||
<!-- Workaround: https://github.com/dotnet/linker/issues/2817 -->
|
||||
<NoWarn>$(NoWarn);AD0001</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<!--
|
||||
|
@ -64,7 +66,7 @@
|
|||
|
||||
<!-- Until we get a new enough dotnet -->
|
||||
<ItemGroup Condition="'$(_MauiTargetPlatformIsWindows)' == 'True'">
|
||||
<FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" RuntimeFrameworkVersion="10.0.18362.22" TargetingPackVersion="10.0.18362.22" />
|
||||
<FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" RuntimeFrameworkVersion="10.0.18362.24" TargetingPackVersion="10.0.18362.24" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1 +1 @@
|
|||
6.0.400-preview.1
|
||||
7.0.0-preview.1
|
||||
|
|
|
@ -1,36 +1,36 @@
|
|||
<Dependencies>
|
||||
<ProductDependencies>
|
||||
<Dependency Name="Microsoft.Dotnet.Sdk.Internal" Version="6.0.301-rtm.22254.17" CoherentParentDependency="Microsoft.Android.Sdk.Windows">
|
||||
<Dependency Name="Microsoft.Dotnet.Sdk.Internal" Version="7.0.100-preview.6.22276.1" CoherentParentDependency="Microsoft.Android.Sdk.Windows">
|
||||
<Uri>https://github.com/dotnet/installer</Uri>
|
||||
<Sha>3fed194c0b277b0ac0986f92401a50dd6c34f43d</Sha>
|
||||
<Sha>1a6c2ec5276c14fb4bb26f94baad970bf08206b9</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NETCore.App.Ref" Version="6.0.5" CoherentParentDependency="Microsoft.Android.Sdk.Windows">
|
||||
<Dependency Name="Microsoft.NETCore.App.Ref" Version="7.0.0-preview.5.22272.3" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>a21b9a2dd4c31cf5bd37626562b7612faf21cee6</Sha>
|
||||
<Sha>0864cc5539e0ddd109b443b0bee804878cd7ba76</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Android.Sdk.Windows" Version="32.0.301">
|
||||
<Dependency Name="Microsoft.Android.Sdk.Windows" Version="33.0.0-preview.4.25">
|
||||
<Uri>https://github.com/xamarin/xamarin-android</Uri>
|
||||
<Sha>4c460a89cb070ee8dfd731842f36bc3dc68dc75c</Sha>
|
||||
<Sha>f2276d43f1caa0d68dbb139157468f66e472efbf</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.MacCatalyst.Sdk" Version="15.4.303">
|
||||
<Dependency Name="Microsoft.MacCatalyst.Sdk" Version="15.4.704-ci.net7-0">
|
||||
<Uri>https://github.com/xamarin/xamarin-macios</Uri>
|
||||
<Sha>ce10c913a2921673b0caedcd268778b46d52c392</Sha>
|
||||
<Sha>99695ca947d5d9d53edf719866d5bb98211fed20</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.iOS.Sdk" Version="15.4.303">
|
||||
<Dependency Name="Microsoft.iOS.Sdk" Version="15.4.704-ci.net7-0">
|
||||
<Uri>https://github.com/xamarin/xamarin-macios</Uri>
|
||||
<Sha>ce10c913a2921673b0caedcd268778b46d52c392</Sha>
|
||||
<Sha>99695ca947d5d9d53edf719866d5bb98211fed20</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.tvOS.Sdk" Version="15.4.303">
|
||||
<Dependency Name="Microsoft.tvOS.Sdk" Version="15.4.704-ci.net7-0">
|
||||
<Uri>https://github.com/xamarin/xamarin-macios</Uri>
|
||||
<Sha>ce10c913a2921673b0caedcd268778b46d52c392</Sha>
|
||||
<Sha>99695ca947d5d9d53edf719866d5bb98211fed20</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.macOS.Sdk" Version="12.3.303">
|
||||
<Dependency Name="Microsoft.macOS.Sdk" Version="12.3.704-ci.net7-0">
|
||||
<Uri>https://github.com/xamarin/xamarin-macios</Uri>
|
||||
<Sha>ce10c913a2921673b0caedcd268778b46d52c392</Sha>
|
||||
<Sha>99695ca947d5d9d53edf719866d5bb98211fed20</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NET.Workload.Emscripten.Manifest-6.0.300" Version="6.0.4" CoherentParentDependency="Microsoft.NETCore.App.Ref">
|
||||
<Dependency Name="Microsoft.NET.Workload.Emscripten.Manifest-7.0.100" Version="7.0.0-preview.5.22252.1" CoherentParentDependency="Microsoft.NETCore.App.Ref">
|
||||
<Uri>https://github.com/dotnet/emsdk</Uri>
|
||||
<Sha>52e9452f82e26f9fcae791e84c082ae22f1ef66f</Sha>
|
||||
<Sha>aeb9a3591b687c3f141e43b330604b34da738149</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.WindowsAppSDK" Version="0.0.1">
|
||||
<Uri>https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal</Uri>
|
||||
|
|
|
@ -1,26 +1,27 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<!-- dotnet/installer -->
|
||||
<MicrosoftDotnetSdkInternalPackageVersion>6.0.301-rtm.22254.17</MicrosoftDotnetSdkInternalPackageVersion>
|
||||
<MicrosoftDotnetSdkInternalPackageVersion>7.0.100-preview.6.22276.1</MicrosoftDotnetSdkInternalPackageVersion>
|
||||
<!-- dotnet/runtime -->
|
||||
<MicrosoftNETCoreAppRefPackageVersion>6.0.5</MicrosoftNETCoreAppRefPackageVersion>
|
||||
<MicrosoftNETCoreAppRefPackageVersion>7.0.0-preview.5.22272.3</MicrosoftNETCoreAppRefPackageVersion>
|
||||
<!-- NOTE: should eventually revert back to $(MicrosoftNETCoreAppRefPackageVersion) in .NET 7 -->
|
||||
<MicrosoftExtensionsPackageVersion>6.0.0</MicrosoftExtensionsPackageVersion>
|
||||
<MicrosoftExtensionsServicingPackageVersion>6.0.1</MicrosoftExtensionsServicingPackageVersion>
|
||||
<SystemCodeDomPackageVersion>6.0.0</SystemCodeDomPackageVersion>
|
||||
<!-- xamarin/xamarin-android -->
|
||||
<MicrosoftAndroidSdkWindowsPackageVersion>32.0.301</MicrosoftAndroidSdkWindowsPackageVersion>
|
||||
<MicrosoftAndroidSdkWindowsPackageVersion>33.0.0-preview.4.25</MicrosoftAndroidSdkWindowsPackageVersion>
|
||||
<!-- xamarin/xamarin-macios -->
|
||||
<MicrosoftiOSSdkPackageVersion>15.4.303</MicrosoftiOSSdkPackageVersion>
|
||||
<MicrosoftMacCatalystSdkPackageVersion>15.4.303</MicrosoftMacCatalystSdkPackageVersion>
|
||||
<MicrosoftmacOSSdkPackageVersion>12.3.303</MicrosoftmacOSSdkPackageVersion>
|
||||
<MicrosofttvOSSdkPackageVersion>15.4.303</MicrosofttvOSSdkPackageVersion>
|
||||
<SamsungTizenSdkPackageVersion>7.0.303</SamsungTizenSdkPackageVersion>
|
||||
<MicrosoftiOSSdkPackageVersion>15.4.704-ci.net7-0</MicrosoftiOSSdkPackageVersion>
|
||||
<MicrosoftMacCatalystSdkPackageVersion>15.4.704-ci.net7-0</MicrosoftMacCatalystSdkPackageVersion>
|
||||
<MicrosoftmacOSSdkPackageVersion>12.3.704-ci.net7-0</MicrosoftmacOSSdkPackageVersion>
|
||||
<MicrosofttvOSSdkPackageVersion>15.4.704-ci.net7-0</MicrosofttvOSSdkPackageVersion>
|
||||
<!-- Samsung/Tizen.NET -->
|
||||
<SamsungTizenSdkPackageVersion>7.0.100-preview.6.7</SamsungTizenSdkPackageVersion>
|
||||
<!-- emsdk -->
|
||||
<MicrosoftNETWorkloadEmscriptenManifest60300PackageVersion>6.0.4</MicrosoftNETWorkloadEmscriptenManifest60300PackageVersion>
|
||||
<MicrosoftNETWorkloadEmscriptenPackageVersion>$(MicrosoftNETWorkloadEmscriptenManifest60300PackageVersion)</MicrosoftNETWorkloadEmscriptenPackageVersion>
|
||||
<MicrosoftNETWorkloadEmscriptenManifest70100PackageVersion>7.0.0-preview.5.22252.1</MicrosoftNETWorkloadEmscriptenManifest70100PackageVersion>
|
||||
<MicrosoftNETWorkloadEmscriptenPackageVersion>$(MicrosoftNETWorkloadEmscriptenManifest70100PackageVersion)</MicrosoftNETWorkloadEmscriptenPackageVersion>
|
||||
<!-- wasdk -->
|
||||
<MicrosoftWindowsAppSDKPackageVersion>1.0.3</MicrosoftWindowsAppSDKPackageVersion>
|
||||
<MicrosoftWindowsAppSDKPackageVersion>1.1.0</MicrosoftWindowsAppSDKPackageVersion>
|
||||
<MicrosoftWindowsSDKBuildToolsPackageVersion>10.0.22000.194</MicrosoftWindowsSDKBuildToolsPackageVersion>
|
||||
<MicrosoftGraphicsWin2DPackageVersion>1.0.3.1</MicrosoftGraphicsWin2DPackageVersion>
|
||||
<!-- Everything else -->
|
||||
|
@ -62,15 +63,13 @@
|
|||
<FizzlerPackageVersion>1.2.0</FizzlerPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Match the first three version numbers and append 00 -->
|
||||
<!-- <DotNetVersionBand Condition=" '$(DotNetVersionBand)' == '' ">$([System.Text.RegularExpressions.Regex]::Match($(MicrosoftDotnetSdkInternalPackageVersion), `^\d+\.\d+\.\d`))00</DotNetVersionBand> -->
|
||||
<DotNetVersionBand Condition=" '$(DotNetVersionBand)' == '' ">6.0.300</DotNetVersionBand>
|
||||
<!-- NOTE: temporarily hardcode these to 6.0.200 -->
|
||||
<DotNetVersionBand Condition=" '$(DotNetVersionBand)' == '' ">7.0.100</DotNetVersionBand>
|
||||
<DotNetSdkManifestsFolder>$(DotNetVersionBand)$([System.Text.RegularExpressions.Regex]::Match($(MicrosoftDotnetSdkInternalPackageVersion), `\-preview.\d+`))</DotNetSdkManifestsFolder>
|
||||
<DotNetMauiManifestVersionBand>$(DotNetVersionBand)</DotNetMauiManifestVersionBand>
|
||||
<DotNetMonoManifestVersionBand>$(DotNetVersionBand)</DotNetMonoManifestVersionBand>
|
||||
<DotNetEmscriptenManifestVersionBand>$(DotNetVersionBand)</DotNetEmscriptenManifestVersionBand>
|
||||
<DotNetAndroidManifestVersionBand>$(DotNetVersionBand)</DotNetAndroidManifestVersionBand>
|
||||
<DotNetMaciOSManifestVersionBand>$(DotNetVersionBand)</DotNetMaciOSManifestVersionBand>
|
||||
<DotNetTizenManifestVersionBand>$(DotNetVersionBand)</DotNetTizenManifestVersionBand>
|
||||
<DotNetAndroidManifestVersionBand>$(DotNetSdkManifestsFolder)</DotNetAndroidManifestVersionBand>
|
||||
<DotNetMaciOSManifestVersionBand>$(DotNetSdkManifestsFolder)</DotNetMaciOSManifestVersionBand>
|
||||
<DotNetTizenManifestVersionBand>$(DotNetSdkManifestsFolder)</DotNetTizenManifestVersionBand>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -165,8 +165,11 @@ Task("dotnet-templates")
|
|||
|
||||
// Enable Tizen
|
||||
ReplaceTextInFiles($"{projectName}/*.csproj",
|
||||
"<!-- <TargetFrameworks>$(TargetFrameworks);net6.0-tizen</TargetFrameworks> -->",
|
||||
"<TargetFrameworks>$(TargetFrameworks);net6.0-tizen</TargetFrameworks>");
|
||||
"<!-- <TargetFrameworks>",
|
||||
"<TargetFrameworks>");
|
||||
ReplaceTextInFiles($"{projectName}/*.csproj",
|
||||
"</TargetFrameworks> -->",
|
||||
"</TargetFrameworks>");
|
||||
|
||||
// Build
|
||||
RunMSBuildWithDotNet(projectName, properties, warningsAsError: true, forceDotNetBuild: forceDotNetBuild);
|
||||
|
@ -439,29 +442,6 @@ bool RunPackTarget()
|
|||
return false;
|
||||
}
|
||||
|
||||
string FindMSBuild()
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(MSBuildExe))
|
||||
return MSBuildExe;
|
||||
|
||||
if (IsRunningOnWindows())
|
||||
{
|
||||
var vsInstallation = VSWhereLatest(new VSWhereLatestSettings { Requires = "Microsoft.Component.MSBuild", IncludePrerelease = true });
|
||||
if (vsInstallation != null)
|
||||
{
|
||||
var path = vsInstallation.CombineWithFilePath(@"MSBuild\Current\Bin\MSBuild.exe");
|
||||
if (FileExists(path))
|
||||
return path.FullPath;
|
||||
|
||||
path = vsInstallation.CombineWithFilePath(@"MSBuild\15.0\Bin\MSBuild.exe");
|
||||
if (FileExists(path))
|
||||
return path.FullPath;
|
||||
}
|
||||
}
|
||||
return "msbuild";
|
||||
}
|
||||
|
||||
|
||||
Dictionary<string, string> GetDotNetEnvironmentVariables()
|
||||
{
|
||||
Dictionary<string, string> envVariables = new Dictionary<string, string>();
|
||||
|
@ -571,83 +551,45 @@ void RunMSBuildWithDotNet(
|
|||
if(localDotnet)
|
||||
SetDotNetEnvironmentVariables();
|
||||
|
||||
// If we're not on Windows, use ./bin/dotnet/dotnet
|
||||
if (useDotNetBuild)
|
||||
var msbuildSettings = new DotNetCoreMSBuildSettings()
|
||||
.SetConfiguration(configuration)
|
||||
.SetMaxCpuCount(0)
|
||||
.WithTarget(target)
|
||||
.EnableBinaryLogger(binlog);
|
||||
|
||||
if (warningsAsError)
|
||||
{
|
||||
var msbuildSettings = new DotNetCoreMSBuildSettings()
|
||||
.SetConfiguration(configuration)
|
||||
.SetMaxCpuCount(0)
|
||||
.WithTarget(target)
|
||||
.EnableBinaryLogger(binlog);
|
||||
|
||||
if (warningsAsError)
|
||||
{
|
||||
msbuildSettings.TreatAllWarningsAs(MSBuildTreatAllWarningsAs.Error);
|
||||
}
|
||||
|
||||
if (properties != null)
|
||||
{
|
||||
foreach (var property in properties)
|
||||
{
|
||||
msbuildSettings.WithProperty(property.Key, property.Value);
|
||||
}
|
||||
}
|
||||
|
||||
var dotnetBuildSettings = new DotNetCoreBuildSettings
|
||||
{
|
||||
MSBuildSettings = msbuildSettings,
|
||||
};
|
||||
|
||||
dotnetBuildSettings.ArgumentCustomization = args =>
|
||||
{
|
||||
if (!restore)
|
||||
args.Append("--no-restore");
|
||||
|
||||
if (!string.IsNullOrEmpty(targetFramework))
|
||||
args.Append($"-f {targetFramework}");
|
||||
|
||||
return args;
|
||||
};
|
||||
|
||||
if (localDotnet)
|
||||
dotnetBuildSettings.ToolPath = dotnetPath;
|
||||
|
||||
DotNetCoreBuild(sln, dotnetBuildSettings);
|
||||
msbuildSettings.TreatAllWarningsAs(MSBuildTreatAllWarningsAs.Error);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Otherwise we need to run MSBuild for WinUI support
|
||||
var msbuild = FindMSBuild();
|
||||
Information("Using MSBuild: {0}", msbuild);
|
||||
var msbuildSettings = new MSBuildSettings { ToolPath = msbuild }
|
||||
.SetConfiguration(configuration)
|
||||
.SetMaxCpuCount(0)
|
||||
.WithTarget(target)
|
||||
.EnableBinaryLogger(binlog);
|
||||
|
||||
if (warningsAsError)
|
||||
if (properties != null)
|
||||
{
|
||||
foreach (var property in properties)
|
||||
{
|
||||
msbuildSettings.WarningsAsError = true;
|
||||
}
|
||||
if (restore)
|
||||
{
|
||||
msbuildSettings.WithRestore();
|
||||
msbuildSettings.WithProperty(property.Key, property.Value);
|
||||
}
|
||||
}
|
||||
|
||||
var dotnetBuildSettings = new DotNetCoreBuildSettings
|
||||
{
|
||||
MSBuildSettings = msbuildSettings,
|
||||
};
|
||||
|
||||
dotnetBuildSettings.ArgumentCustomization = args =>
|
||||
{
|
||||
if (!restore)
|
||||
args.Append("--no-restore");
|
||||
|
||||
if (!string.IsNullOrEmpty(targetFramework))
|
||||
{
|
||||
msbuildSettings.WithProperty("TargetFramework", targetFramework);
|
||||
}
|
||||
args.Append($"-f {targetFramework}");
|
||||
|
||||
if (properties != null)
|
||||
{
|
||||
foreach (var property in properties)
|
||||
{
|
||||
msbuildSettings.WithProperty(property.Key, property.Value);
|
||||
}
|
||||
}
|
||||
return args;
|
||||
};
|
||||
|
||||
MSBuild(sln, msbuildSettings);
|
||||
}
|
||||
if (localDotnet)
|
||||
dotnetBuildSettings.ToolPath = dotnetPath;
|
||||
|
||||
DotNetCoreBuild(sln, dotnetBuildSettings);
|
||||
}
|
||||
|
||||
void RunTestWithLocalDotNet(string csproj)
|
||||
|
|
|
@ -12,7 +12,7 @@ string DEVICE_NAME = Argument("skin", EnvironmentVariable("ANDROID_TEST_SKIN") ?
|
|||
// optional
|
||||
var USE_DOTNET = Argument("dotnet", true);
|
||||
var DOTNET_PATH = Argument("dotnet-path", EnvironmentVariable("DOTNET_PATH"));
|
||||
var TARGET_FRAMEWORK = Argument("tfm", EnvironmentVariable("TARGET_FRAMEWORK") ?? (USE_DOTNET ? "net6.0-android" : ""));
|
||||
var TARGET_FRAMEWORK = Argument("tfm", EnvironmentVariable("TARGET_FRAMEWORK") ?? (USE_DOTNET ? "net7.0-android" : ""));
|
||||
var BINLOG_ARG = Argument("binlog", EnvironmentVariable("ANDROID_TEST_BINLOG") ?? "");
|
||||
DirectoryPath BINLOG_DIR = string.IsNullOrEmpty(BINLOG_ARG) && !string.IsNullOrEmpty(PROJECT.FullPath) ? PROJECT.GetDirectory() : BINLOG_ARG;
|
||||
var TEST_APP = Argument("app", EnvironmentVariable("ANDROID_TEST_APP") ?? "");
|
||||
|
|
|
@ -10,7 +10,7 @@ string TEST_DEVICE = Argument("device", EnvironmentVariable("IOS_TEST_DEVICE") ?
|
|||
// optional
|
||||
var USE_DOTNET = Argument("dotnet", true);
|
||||
var DOTNET_PATH = Argument("dotnet-path", EnvironmentVariable("DOTNET_PATH"));
|
||||
var TARGET_FRAMEWORK = Argument("tfm", EnvironmentVariable("TARGET_FRAMEWORK") ?? (USE_DOTNET ? "net6.0-ios" : ""));
|
||||
var TARGET_FRAMEWORK = Argument("tfm", EnvironmentVariable("TARGET_FRAMEWORK") ?? (USE_DOTNET ? "net7.0-ios" : ""));
|
||||
var BINLOG_ARG = Argument("binlog", EnvironmentVariable("IOS_TEST_BINLOG") ?? "");
|
||||
DirectoryPath BINLOG_DIR = string.IsNullOrEmpty(BINLOG_ARG) && !string.IsNullOrEmpty(PROJECT.FullPath) ? PROJECT.GetDirectory() : BINLOG_ARG;
|
||||
var TEST_APP = Argument("app", EnvironmentVariable("IOS_TEST_APP") ?? "");
|
||||
|
|
119
eng/package.ps1
119
eng/package.ps1
|
@ -9,8 +9,11 @@ Write-Host "MSBUILD_EXE: $env:MSBUILD_EXE"
|
|||
|
||||
$artifacts = Join-Path $PSScriptRoot ../artifacts
|
||||
$logsDirectory = Join-Path $artifacts logs
|
||||
$sln = Join-Path $PSScriptRoot ../Microsoft.Maui.Packages.slnf
|
||||
$slnMac = Join-Path $PSScriptRoot ../Microsoft.Maui.Packages-mac.slnf
|
||||
if ($IsWindows) {
|
||||
$sln = Join-Path $PSScriptRoot ../Microsoft.Maui.Packages.slnf
|
||||
} else {
|
||||
$sln = Join-Path $PSScriptRoot ../Microsoft.Maui.Packages-mac.slnf
|
||||
}
|
||||
|
||||
# Full path to dotnet folder
|
||||
$dotnet = Join-Path $PSScriptRoot ../bin/dotnet/
|
||||
|
@ -23,104 +26,26 @@ if (Test-Path -Path $dotnet) {
|
|||
|
||||
$dotnet = (Get-Item $dotnet).FullName
|
||||
|
||||
if ($IsWindows)
|
||||
$oldPATH=$env:PATH
|
||||
$oldDOTNET_ROOT=$env:DOTNET_ROOT
|
||||
try
|
||||
{
|
||||
if (-not $msbuild)
|
||||
{
|
||||
$msbuild = $env:MSBUILD_EXE
|
||||
}
|
||||
# Put our local dotnet on $PATH
|
||||
$env:PATH=($dotnet + [IO.Path]::PathSeparator + $env:PATH)
|
||||
$dotnet_tool = Join-Path $dotnet dotnet
|
||||
|
||||
if (-not $msbuild)
|
||||
{
|
||||
# If MSBuild path isn't specified, use the standard location of 'vswhere' to determine an appropriate MSBuild to use.
|
||||
# Learn more about VSWhere here: https://github.com/microsoft/vswhere/wiki/Find-MSBuild
|
||||
$msbuild = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -prerelease -latest -requires Microsoft.Component.MSBuild -find MSBuild\**\Bin\MSBuild.exe
|
||||
# This tells .NET to use the bootstrapped runtime
|
||||
$env:DOTNET_ROOT=$dotnet
|
||||
|
||||
if (-not $msbuild)
|
||||
{
|
||||
throw 'Could not locate MSBuild automatically. Set the $msbuild parameter of this script to provide a location.'
|
||||
}
|
||||
Write-Host "Found MSBuild at ${msbuild}"
|
||||
}
|
||||
|
||||
# NOTE: I've not found a better way to do this
|
||||
# see: https://github.com/PowerShell/PowerShell/issues/3316
|
||||
$oldDOTNET_INSTALL_DIR=$env:DOTNET_INSTALL_DIR
|
||||
$oldDOTNET_ROOT=$env:DOTNET_ROOT
|
||||
$oldDOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR=$env:DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR
|
||||
$oldDOTNET_MULTILEVEL_LOOKUP=$env:DOTNET_MULTILEVEL_LOOKUP
|
||||
$oldMSBuildEnableWorkloadResolver=$env:MSBuildEnableWorkloadResolver
|
||||
$oldPATH=$env:PATH
|
||||
try
|
||||
{
|
||||
$env:DOTNET_INSTALL_DIR=$dotnet
|
||||
|
||||
# This tells .NET to use the bootstrapped runtime
|
||||
$env:DOTNET_ROOT=$dotnet
|
||||
|
||||
# This tells MSBuild to load the SDK from the directory of the bootstrapped SDK
|
||||
$env:DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR=$env:DOTNET_ROOT
|
||||
|
||||
# This tells .NET not to go looking for .NET in other places
|
||||
$env:DOTNET_MULTILEVEL_LOOKUP=0
|
||||
|
||||
# This enables workload support inside the IDE
|
||||
$env:MSBuildEnableWorkloadResolver=$true
|
||||
|
||||
# Put our local dotnet.exe on PATH first so Visual Studio knows which one to use
|
||||
$env:PATH=($dotnet + [IO.Path]::PathSeparator + $env:PATH)
|
||||
|
||||
# Have to build the solution first so the xbf files are there for pack
|
||||
& $msbuild $sln `
|
||||
/p:configuration=$configuration `
|
||||
/p:SymbolPackageFormat=snupkg `
|
||||
/restore `
|
||||
/t:Build `
|
||||
/p:Packing=true `
|
||||
/bl:"$logsDirectory/maui-build-$configuration.binlog"
|
||||
if (!$?) { throw "Build .NET MAUI failed." }
|
||||
|
||||
& $msbuild $sln `
|
||||
/p:configuration=$configuration `
|
||||
/p:SymbolPackageFormat=snupkg `
|
||||
/t:Pack `
|
||||
/p:Packing=true `
|
||||
/bl:"$logsDirectory/maui-pack-$configuration.binlog"
|
||||
if (!$?) { throw "Pack .NET MAUI failed." }
|
||||
}
|
||||
finally
|
||||
{
|
||||
$env:DOTNET_INSTALL_DIR = $oldDOTNET_INSTALL_DIR
|
||||
$env:DOTNET_ROOT=$oldDOTNET_ROOT
|
||||
$env:DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR=$oldDOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR
|
||||
$env:DOTNET_MULTILEVEL_LOOKUP=$oldDOTNET_MULTILEVEL_LOOKUP
|
||||
$env:MSBuildEnableWorkloadResolver=$oldMSBuildEnableWorkloadResolver
|
||||
$env:PATH=$oldPATH
|
||||
}
|
||||
# Build with ./bin/dotnet/dotnet
|
||||
& $dotnet_tool pack $sln `
|
||||
-c:$configuration `
|
||||
-p:SymbolPackageFormat=snupkg `
|
||||
-bl:$logsDirectory/maui-pack-$configuration.binlog
|
||||
if (!$?) { throw "Pack failed." }
|
||||
}
|
||||
else
|
||||
finally
|
||||
{
|
||||
$oldPATH=$env:PATH
|
||||
$oldDOTNET_ROOT=$env:DOTNET_ROOT
|
||||
try
|
||||
{
|
||||
# Put our local dotnet on $PATH
|
||||
$env:PATH=($dotnet + [IO.Path]::PathSeparator + $env:PATH)
|
||||
$dotnet_tool = Join-Path $dotnet dotnet
|
||||
|
||||
# This tells .NET to use the bootstrapped runtime
|
||||
$env:DOTNET_ROOT=$dotnet
|
||||
|
||||
# Build with ./bin/dotnet/dotnet
|
||||
& $dotnet_tool pack $slnMac `
|
||||
-c:$configuration `
|
||||
-p:SymbolPackageFormat=snupkg `
|
||||
-bl:$logsDirectory/maui-pack-$configuration.binlog
|
||||
if (!$?) { throw "Pack failed." }
|
||||
}
|
||||
finally
|
||||
{
|
||||
$env:PATH=$oldPATH
|
||||
$env:DOTNET_ROOT=$oldDOTNET_ROOT
|
||||
}
|
||||
$env:PATH=$oldPATH
|
||||
$env:DOTNET_ROOT=$oldDOTNET_ROOT
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@ steps:
|
|||
parameters:
|
||||
platform: ${{ parameters.platform }}
|
||||
poolName: ${{ parameters.poolName }}
|
||||
provisioning: true
|
||||
provisionatorChannel: ${{ parameters.provisionatorChannel }}
|
||||
- pwsh: ./build.ps1 --target=dotnet --configuration="Release" --verbosity=diagnostic
|
||||
displayName: 'Install .NET'
|
||||
|
|
|
@ -32,7 +32,7 @@ steps:
|
|||
# Provision Additional Software
|
||||
- task: xamops.azdevex.provisionator-task.provisionator@1
|
||||
displayName: 'Provision Additional Software'
|
||||
condition: and(eq(variables['provisioning'], 'true'),ne('${{ parameters.poolName }}', 'Azure Pipelines'))
|
||||
condition: and(eq('${{ parameters.provisioning }}', 'true'),ne('${{ parameters.poolName }}', 'Azure Pipelines'))
|
||||
inputs:
|
||||
provisioning_script: $(provisionator.path)
|
||||
provisioning_extra_args: $(provisionator.extraArguments)
|
||||
|
@ -100,6 +100,16 @@ steps:
|
|||
provisioning_script: $(provisionator.vs)
|
||||
env:
|
||||
PROVISIONATOR_CHANNEL: ${{ parameters.provisionatorChannel }}
|
||||
# Provision Additional Software
|
||||
- task: xamops.azdevex.provisionator-task.provisionator@1
|
||||
displayName: 'Provision Additional Software'
|
||||
condition: and(eq('${{ parameters.provisioning }}', 'true'),ne('${{ parameters.poolName }}', 'Azure Pipelines'))
|
||||
inputs:
|
||||
provisioning_script: $(provisionator.path)
|
||||
provisioning_extra_args: $(provisionator.extraArguments)
|
||||
env:
|
||||
PROVISIONATOR_CHANNEL: ${{ parameters.provisionatorChannel }}
|
||||
AUTH_TOKEN_GITHUB_COM: $(github--pat--vs-mobiletools-engineering-service2)
|
||||
|
||||
- pwsh: |
|
||||
$msbuild = "$env:ProgramFiles/Microsoft Visual Studio/2022/Preview/MSBuild/Current/Bin/MSBuild.exe"
|
||||
|
|
|
@ -75,14 +75,14 @@ parameters:
|
|||
vmImage: $(windowsNet6VmImage)
|
||||
bootsAndroid: $(Android.Msi)
|
||||
bootsiOS: $(iOS.Msi)
|
||||
artifact: net6-windows
|
||||
artifact: build-windows
|
||||
- name: macOS
|
||||
poolName: $(macOSXNet6VmPool)
|
||||
vmImage: $(macOSXNet6VmImage)
|
||||
bootsAndroid: $(Android.Pkg)
|
||||
bootsiOS: $(iOS.Pkg)
|
||||
bootsMacCatalyst: $(MacCatalyst.Pkg)
|
||||
artifact: net6-macos
|
||||
artifact: build-macos
|
||||
- name: PackPlatforms
|
||||
type: object
|
||||
default:
|
||||
|
@ -116,7 +116,7 @@ resources:
|
|||
stages:
|
||||
|
||||
- stage: build_net6
|
||||
displayName: Build .NET 6
|
||||
displayName: Build .NET MAUI
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- ${{ each BuildPlatform in parameters.BuildPlatforms }}:
|
||||
|
@ -149,6 +149,7 @@ stages:
|
|||
parameters:
|
||||
platform: ${{ BuildPlatform.name }}
|
||||
poolName: ${{ BuildPlatform.poolName }}
|
||||
provisioning: true
|
||||
provisionatorChannel: ${{ parameters.provisionatorChannel }}
|
||||
- pwsh: ./build.ps1 --target=dotnet --configuration="${{ BuildConfiguration }}" --verbosity=diagnostic
|
||||
displayName: 'Install .NET'
|
||||
|
@ -172,7 +173,7 @@ stages:
|
|||
ArtifactName: ${{ BuildPlatform.artifact }}
|
||||
|
||||
- stage: pack_net6
|
||||
displayName: Pack .NET 6
|
||||
displayName: Pack .NET MAUI
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- ${{ each PackPlatform in parameters.PackPlatforms }}:
|
||||
|
@ -198,7 +199,7 @@ stages:
|
|||
artifact: ${{ PackPlatform.artifact }}
|
||||
|
||||
- stage: samples_net6
|
||||
displayName: Build .NET 6 Samples
|
||||
displayName: Build .NET MAUI Samples
|
||||
dependsOn: pack_net6
|
||||
jobs:
|
||||
- ${{ each BuildPlatform in parameters.BuildPlatforms }}:
|
||||
|
@ -231,6 +232,7 @@ stages:
|
|||
parameters:
|
||||
platform: ${{ BuildPlatform.name }}
|
||||
poolName: ${{ BuildPlatform.poolName }}
|
||||
provisioning: true
|
||||
provisionatorChannel: ${{ parameters.provisionatorChannel }}
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: 'Download Packages'
|
||||
|
@ -247,7 +249,7 @@ stages:
|
|||
DOTNET_TOKEN: $(dotnetbuilds-internal-container-read-token)
|
||||
PRIVATE_BUILD: $(PrivateBuild)
|
||||
- pwsh: ./build.ps1 --target=dotnet-samples --configuration="${{ BuildConfiguration }}" --verbosity=diagnostic
|
||||
displayName: 'Build .NET 6 Samples'
|
||||
displayName: 'Build .NET MAUI Samples'
|
||||
- task: PublishBuildArtifacts@1
|
||||
condition: always()
|
||||
displayName: publish artifacts
|
||||
|
@ -255,7 +257,7 @@ stages:
|
|||
ArtifactName: ${{ BuildPlatform.artifact }}
|
||||
|
||||
- stage: templates_net6
|
||||
displayName: Build .NET 6 Templates
|
||||
displayName: Build .NET MAUI Templates
|
||||
dependsOn: pack_net6
|
||||
jobs:
|
||||
- ${{ each BuildPlatform in parameters.BuildPlatforms }}:
|
||||
|
@ -288,6 +290,7 @@ stages:
|
|||
parameters:
|
||||
platform: ${{ BuildPlatform.name }}
|
||||
poolName: ${{ BuildPlatform.poolName }}
|
||||
provisioning: true
|
||||
provisionatorChannel: ${{ parameters.provisionatorChannel }}
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: 'Download Packages'
|
||||
|
@ -304,7 +307,7 @@ stages:
|
|||
DOTNET_TOKEN: $(dotnetbuilds-internal-container-read-token)
|
||||
PRIVATE_BUILD: $(PrivateBuild)
|
||||
- pwsh: ./build.ps1 --target=dotnet-templates --configuration="${{ BuildConfiguration }}" --verbosity=diagnostic
|
||||
displayName: 'Build .NET 6 Templates'
|
||||
displayName: 'Build .NET MAUI Templates'
|
||||
- task: PublishBuildArtifacts@1
|
||||
condition: always()
|
||||
displayName: publish artifacts
|
||||
|
|
|
@ -58,7 +58,7 @@ resources:
|
|||
stages:
|
||||
|
||||
- stage: pack_net6
|
||||
displayName: Pack .NET 6
|
||||
displayName: Pack .NET MAUI
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- ${{ each PackPlatform in parameters.PackPlatforms }}:
|
||||
|
|
|
@ -108,6 +108,7 @@ if(String.IsNullOrWhiteSpace(ANDROID_API_SDKS))
|
|||
.ApiLevel((AndroidApiLevel)29)
|
||||
.ApiLevel((AndroidApiLevel)30)
|
||||
.ApiLevel((AndroidApiLevel)31)
|
||||
.ApiLevel((AndroidApiLevel)32)
|
||||
.VirtualDevice(
|
||||
"Android_API23",
|
||||
(AndroidApiLevel)23,
|
||||
|
|
|
@ -263,7 +263,7 @@ namespace Microsoft.AspNetCore.Components.WebView.Maui
|
|||
var uri = _currentUri;
|
||||
_currentUri = null;
|
||||
_currentNavigation = null;
|
||||
var request = new NSUrlRequest(uri);
|
||||
var request = new NSUrlRequest(uri!);
|
||||
webView.LoadRequest(request);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -286,9 +286,9 @@ namespace Microsoft.AspNetCore.Components.WebView.WindowsForms
|
|||
// Everything below is overridden to protect the control collection as read-only.
|
||||
public override bool IsReadOnly => true;
|
||||
|
||||
public override void Add(Control value) => throw new NotSupportedException();
|
||||
public override void Add(Control? value) => throw new NotSupportedException();
|
||||
public override void Clear() => throw new NotSupportedException();
|
||||
public override void Remove(Control value) => throw new NotSupportedException();
|
||||
public override void Remove(Control? value) => throw new NotSupportedException();
|
||||
public override void SetChildIndex(Control child, int newIndex) => throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ using AActionMode = global::AndroidX.AppCompat.View.ActionMode;
|
|||
using AListView = Android.Widget.ListView;
|
||||
using AView = Android.Views.View;
|
||||
using Microsoft.Maui.Controls.Platform;
|
||||
#if NET6_0
|
||||
#if NET6_0_OR_GREATER
|
||||
using AMenu = Android.Views.IMenu;
|
||||
#else
|
||||
using AMenu = Android.Views.Menu;
|
||||
|
|
|
@ -25,6 +25,7 @@ namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
|||
|
||||
static Assembly _assembly;
|
||||
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Resource.designer.cs is in the root application assembly, which should be preserved.")]
|
||||
[UnconditionalSuppressMessage("Trimming", "IL2073", Justification = "Resource.designer.cs may be linked away, so don't worry if there are missing things.")]
|
||||
[return: DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.PublicProperties)]
|
||||
static Type FindType(string name, string altName)
|
||||
{
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using ElmSharp;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility
|
||||
|
@ -42,7 +43,7 @@ namespace Microsoft.Maui.Controls.Compatibility.Platform.Tizen
|
|||
return Microsoft.Maui.Controls.Compatibility.PageExtensions.CreateEvasObject(page, parent, hasAlpha);
|
||||
}
|
||||
|
||||
public static void UpdateFocusTreePolicy<T>(this MultiPage<T> multiPage) where T : Page
|
||||
public static void UpdateFocusTreePolicy<[DynamicallyAccessedMembers(BindableProperty.DeclaringTypeMembers)] T>(this MultiPage<T> multiPage) where T : Page
|
||||
{
|
||||
foreach (var pageItem in multiPage.Children)
|
||||
{
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Maui.Layouts;
|
||||
|
@ -281,11 +282,13 @@ namespace Microsoft.Maui.Controls.Compatibility.Platform.Tizen
|
|||
return false;
|
||||
}
|
||||
|
||||
//TODO: the following method is not trimming safe
|
||||
[UnconditionalSuppressMessage("Trimming", "IL2026")]
|
||||
[UnconditionalSuppressMessage("Trimming", "IL2075")]
|
||||
[UnconditionalSuppressMessage("Trimming", "IL2091")]
|
||||
int GetScrollYOnGenList(IntPtr handle)
|
||||
{
|
||||
#pragma warning disable IL2026
|
||||
var interop = typeof(EvasObject).Assembly.GetType("Interop");
|
||||
#pragma warning disable IL2026
|
||||
var elementary = interop?.GetNestedType("Elementary", BindingFlags.NonPublic | BindingFlags.Static) ?? null;
|
||||
|
||||
if (elementary != null)
|
||||
|
|
|
@ -4,7 +4,7 @@ using UIKit;
|
|||
using Microsoft.Maui;
|
||||
using Microsoft.Maui.Hosting;
|
||||
|
||||
#if !NET6_0
|
||||
#if !NET6_0_OR_GREATER
|
||||
using Microsoft.Maui.Controls;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -89,6 +89,7 @@ namespace Microsoft.Maui.Controls.Build.Tasks
|
|||
public static BuildExceptionCode ResourceDictDuplicateKey = new BuildExceptionCode("XFC0125", nameof(ResourceDictDuplicateKey), "");
|
||||
public static BuildExceptionCode ResourceDictMissingKey = new BuildExceptionCode("XFC0126", nameof(ResourceDictMissingKey), "");
|
||||
public static BuildExceptionCode XKeyNotLiteral = new BuildExceptionCode("XFC0127", nameof(XKeyNotLiteral), "");
|
||||
public static BuildExceptionCode GetResourcePath = new BuildExceptionCode("XFC0128", nameof(GetResourcePath), "");
|
||||
|
||||
public string Code { get; private set; }
|
||||
public string ErrorMessageKey { get; private set; }
|
||||
|
|
|
@ -40,9 +40,17 @@ namespace Microsoft.Maui.Controls.XamlC
|
|||
module = currentModule.AssemblyResolver.Resolve(ar).MainModule;
|
||||
}
|
||||
}
|
||||
var uri = new Uri(value, UriKind.Relative);
|
||||
|
||||
var resourcePath = ResourceDictionary.RDSourceTypeConverter.GetResourcePath(uri, rootTargetPath);
|
||||
var uri = new Uri(value, UriKind.Relative);
|
||||
string resourcePath;
|
||||
try
|
||||
{
|
||||
resourcePath = ResourceDictionary.RDSourceTypeConverter.GetResourcePath(uri, rootTargetPath);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
throw new BuildException(BuildExceptionCode.GetResourcePath, node, exc, uri, rootTargetPath);
|
||||
}
|
||||
|
||||
//fail early
|
||||
var resourceId = XamlCTask.GetResourceIdForPath(module, resourcePath);
|
||||
|
|
|
@ -248,5 +248,8 @@
|
|||
<data name="XKeyNotLiteral" xml:space="preserve">
|
||||
<value>x:Key expects a string literal.</value>
|
||||
</data>
|
||||
<data name="GetResourcePath" xml:space="preserve">
|
||||
<value>GetResourcePath failed: uri={0}, rootTargetPath={1}</value>
|
||||
</data>
|
||||
|
||||
</root>
|
|
@ -4,7 +4,7 @@
|
|||
<AssemblyName>Microsoft.Maui.Controls.DesignTools</AssemblyName>
|
||||
<EnableDefaultCompileItems>False</EnableDefaultCompileItems>
|
||||
<IsPackable>False</IsPackable>
|
||||
<_MauiDesignDllBuild Condition=" '$(OS)' != 'Unix' And '$(MSBuildRuntimeType)' == 'Full'">True</_MauiDesignDllBuild>
|
||||
<_MauiDesignDllBuild Condition=" '$(OS)' != 'Unix' ">True</_MauiDesignDllBuild>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(_MauiDesignDllBuild)' == 'True' ">
|
||||
<Reference Include="System.Xaml" />
|
||||
|
|
|
@ -10,7 +10,7 @@ using AActionMode = global::AndroidX.AppCompat.View.ActionMode;
|
|||
using AListView = Android.Widget.ListView;
|
||||
using AView = Android.Views.View;
|
||||
using Microsoft.Maui.Controls.Platform;
|
||||
#if NET6_0
|
||||
#if NET6_0_OR_GREATER
|
||||
using AMenu = Android.Views.IMenu;
|
||||
#else
|
||||
using AMenu = Android.Views.Menu;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<AssemblyName>Microsoft.Maui.Controls</AssemblyName>
|
||||
<Nullable>disable</Nullable>
|
||||
<IsPackable>false</IsPackable>
|
||||
<_MauiDesignDllBuild Condition=" '$(OS)' != 'Unix' And '$(MSBuildRuntimeType)' == 'Full'">True</_MauiDesignDllBuild>
|
||||
<_MauiDesignDllBuild Condition=" '$(OS)' != 'Unix' ">True</_MauiDesignDllBuild>
|
||||
<GitInfoReportImportance>high</GitInfoReportImportance>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<NoWarn>$(NoWarn);CS1591</NoWarn>
|
||||
|
|
|
@ -10,7 +10,7 @@ using PlatformView = Android.Views.View;
|
|||
using PlatformView = Microsoft.UI.Xaml.FrameworkElement;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.EvasObject;
|
||||
#elif NET6_0 || (NETSTANDARD || !PLATFORM)
|
||||
#elif NET6_0_OR_GREATER || (NETSTANDARD || !PLATFORM)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -133,7 +133,11 @@ namespace Microsoft.Maui.Controls.Platform
|
|||
int count = 0;
|
||||
IList<int> totalLineHeights = new List<int>();
|
||||
|
||||
for (int i = 0; i < spannableString.Length(); i = next)
|
||||
#pragma warning disable CA1416
|
||||
var strlen = spannableString.Length();
|
||||
#pragma warning restore CA1416
|
||||
|
||||
for (int i = 0; i < strlen; i = next)
|
||||
{
|
||||
var type = Java.Lang.Class.FromType(typeof(Java.Lang.Object));
|
||||
|
||||
|
@ -145,7 +149,7 @@ namespace Microsoft.Maui.Controls.Platform
|
|||
continue;
|
||||
|
||||
// Find the next span
|
||||
next = spannableString.NextSpanTransition(i, spannableString.Length(), type);
|
||||
next = spannableString.NextSpanTransition(i, strlen, type);
|
||||
|
||||
// Get all spans in the range - Android can have overlapping spans
|
||||
var spans = spannableString.GetSpans(i, next, type);
|
||||
|
|
|
@ -1004,7 +1004,7 @@ namespace Microsoft.Maui.Controls
|
|||
|
||||
internal void MockBounds(Rect bounds)
|
||||
{
|
||||
#if NETSTANDARD2_0 || NET6_0
|
||||
#if NETSTANDARD2_0 || NET6_0_OR_GREATER
|
||||
(_mockX, _mockY, _mockWidth, _mockHeight) = bounds;
|
||||
#else
|
||||
_mockX = bounds.X;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<AssemblyName>Microsoft.Maui.Controls.Xaml.DesignTools</AssemblyName>
|
||||
<EnableDefaultCompileItems>False</EnableDefaultCompileItems>
|
||||
<IsPackable>False</IsPackable>
|
||||
<_MauiDesignDllBuild Condition=" '$(OS)' != 'Unix' And '$(MSBuildRuntimeType)' == 'Full'">True</_MauiDesignDllBuild>
|
||||
<_MauiDesignDllBuild Condition=" '$(OS)' != 'Unix' ">True</_MauiDesignDllBuild>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(_MauiDesignDllBuild)' == 'True' ">
|
||||
<Reference Include="System.Xaml" />
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<AssemblyName>Microsoft.Maui.Controls.Xaml</AssemblyName>
|
||||
<RootNamespace>Microsoft.Maui.Controls.Xaml</RootNamespace>
|
||||
<IsPackable>false</IsPackable>
|
||||
<_MauiDesignDllBuild Condition=" '$(OS)' != 'Unix' And '$(MSBuildRuntimeType)' == 'Full'">True</_MauiDesignDllBuild>
|
||||
<_MauiDesignDllBuild Condition=" '$(OS)' != 'Unix' ">True</_MauiDesignDllBuild>
|
||||
<NoWarn>$(NoWarn);CA2200</NoWarn>
|
||||
<PackageId>Microsoft.Maui.Controls.Xaml</PackageId>
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -200,6 +200,7 @@ namespace Microsoft.Maui.Controls.Core.UnitTests
|
|||
Assert.IsTrue(image.IsLoading);
|
||||
|
||||
image.Source = null;
|
||||
mockImageRenderer.CompletionSource.Task.Wait();
|
||||
Assert.IsFalse(image.IsLoading);
|
||||
Assert.IsTrue(cancelled);
|
||||
|
||||
|
@ -240,6 +241,8 @@ namespace Microsoft.Maui.Controls.Core.UnitTests
|
|||
|
||||
public ImageButton Element { get; set; }
|
||||
|
||||
public TaskCompletionSource<bool> CompletionSource { get; private set; } = new TaskCompletionSource<bool>();
|
||||
|
||||
public async void Load()
|
||||
{
|
||||
if (initialLoad && Element.Source != null)
|
||||
|
@ -257,6 +260,7 @@ namespace Microsoft.Maui.Controls.Core.UnitTests
|
|||
finally
|
||||
{
|
||||
Element.SetIsLoading(false);
|
||||
CompletionSource.SetResult(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -200,6 +200,7 @@ namespace Microsoft.Maui.Controls.Core.UnitTests
|
|||
Assert.IsTrue(image.IsLoading);
|
||||
|
||||
image.Source = null;
|
||||
mockImageRenderer.CompletionSource.Task.Wait();
|
||||
Assert.IsFalse(image.IsLoading);
|
||||
Assert.IsTrue(cancelled);
|
||||
|
||||
|
@ -239,6 +240,8 @@ namespace Microsoft.Maui.Controls.Core.UnitTests
|
|||
|
||||
public Image Element { get; set; }
|
||||
|
||||
public TaskCompletionSource<bool> CompletionSource { get; private set; } = new TaskCompletionSource<bool>();
|
||||
|
||||
public async void Load()
|
||||
{
|
||||
if (initialLoad && Element.Source != null)
|
||||
|
@ -257,6 +260,7 @@ namespace Microsoft.Maui.Controls.Core.UnitTests
|
|||
finally
|
||||
{
|
||||
controller.SetIsLoading(false);
|
||||
CompletionSource.SetResult(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ using PlatformView = AppKit.NSView;
|
|||
using PlatformView = Android.Views.View;
|
||||
#elif WINDOWS
|
||||
using PlatformView = Microsoft.UI.Xaml.FrameworkElement;
|
||||
#elif NET6_0 || (NETSTANDARD || !PLATFORM)
|
||||
#elif NET6_0_OR_GREATER || (NETSTANDARD || !PLATFORM)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ namespace Microsoft.Maui.Controls.MSBuild.UnitTests
|
|||
var fd = System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription;
|
||||
if (Version.TryParse(System.Text.RegularExpressions.Regex.Match(fd, @"\d+\.\d+\.\d+")?.Value, out var version))
|
||||
return $"net{version.Major}.{version.Minor}";
|
||||
return "net6.0";
|
||||
return "net7.0";
|
||||
}
|
||||
|
||||
string testDirectory;
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace Microsoft.Maui.Controls.Xaml.UnitTests
|
|||
public class Tests
|
||||
{
|
||||
[Test]
|
||||
public void OnPlatformExtensionsAreSimplified([Values("net6.0-ios", "net6.0-android")] string targetFramework)
|
||||
public void OnPlatformExtensionsAreSimplified([Values("net7.0-ios", "net7.0-android")] string targetFramework)
|
||||
{
|
||||
MockCompiler.Compile(typeof(OnPlatformOptimization), out var methodDef, targetFramework);
|
||||
Assert.That(!methodDef.Body.Instructions.Any(instr => InstructionIsOnPlatformExtensionCtor(methodDef, instr)), "This Xaml still generates a new OnPlatformExtension()");
|
||||
|
|
|
@ -8,8 +8,8 @@ namespace Microsoft.Maui
|
|||
{
|
||||
readonly IServiceProvider? _serviceProvider;
|
||||
|
||||
#if !NET6_0
|
||||
// The NET6_0 linker won't need this
|
||||
#if !NET6_0_OR_GREATER
|
||||
// The .NET 6+ linker won't need this
|
||||
// Make sure to test with full linking on before removing
|
||||
#if __ANDROID__
|
||||
[Android.Runtime.Preserve]
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Android.Widget.ProgressBar;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.ProgressRing;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.ProgressBar;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Android.Widget.ProgressBar;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.ProgressRing;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.ProgressBar;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Google.Android.Material.Button.MaterialButton;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.Button;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.Button;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Google.Android.Material.Button.MaterialButton;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.Button;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.Button;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ using PlatformView = Microsoft.Maui.Platform.ContentViewGroup;
|
|||
using PlatformView = Microsoft.Maui.Platform.ContentPanel;
|
||||
#elif TIZEN
|
||||
using PlatformView = Microsoft.Maui.Platform.ContentCanvas;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Microsoft.Maui.Platform.ContentViewGroup;
|
|||
using PlatformView = Microsoft.Maui.Platform.ContentPanel;
|
||||
#elif TIZEN
|
||||
using PlatformView = Microsoft.Maui.Platform.ContentCanvas;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ using PlatformView = Microsoft.Maui.Platform.MauiDatePicker;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.CalendarDatePicker;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.Entry;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ using PlatformView = Microsoft.Maui.Platform.MauiDatePicker;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.CalendarDatePicker;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.Entry;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ using PlatformView = AndroidX.AppCompat.Widget.AppCompatEditText;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.TextBox;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.Entry;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = AndroidX.AppCompat.Widget.AppCompatEditText;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.TextBox;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.Entry;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ using PlatformView = AndroidX.AppCompat.Widget.AppCompatEditText;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.TextBox;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.Entry;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = AndroidX.AppCompat.Widget.AppCompatEditText;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.TextBox;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.Entry;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ using PlatformView = UIKit.UIView;
|
|||
using PlatformView = Android.Views.View;
|
||||
#elif WINDOWS
|
||||
using PlatformView = Microsoft.Maui.Platform.RootNavigationView;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ using PlatformView = UIKit.UIView;
|
|||
using PlatformView = Android.Views.View;
|
||||
#elif WINDOWS
|
||||
using PlatformView = Microsoft.Maui.Platform.RootNavigationView;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Android.Widget.ImageView;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.Image;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.Image;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ using PlatformView = Android.Widget.ImageView;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.Image;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.Image;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Google.Android.Material.ImageView.ShapeableImageView;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.Button;
|
||||
#elif TIZEN
|
||||
using PlatformView = Microsoft.Maui.Platform.MauiImageButton;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ using PlatformView = Microsoft.UI.Xaml.Controls.Button;
|
|||
using PlatformImage = Tizen.UIExtensions.ElmSharp.Image;
|
||||
using PlatformImageView = Tizen.UIExtensions.ElmSharp.Image;
|
||||
using PlatformView = Microsoft.Maui.Platform.MauiImageButton;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformImage = System.Object;
|
||||
using PlatformImageView = System.Object;
|
||||
using PlatformView = System.Object;
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Microsoft.Maui.Platform.MauiPageControl;
|
|||
using PlatformView = Microsoft.Maui.Platform.MauiPageControl;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.IndicatorView;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ using PlatformView = Microsoft.Maui.Platform.MauiPageControl;
|
|||
using PlatformView = Microsoft.Maui.Platform.MauiPageControl;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.IndicatorView;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = AndroidX.AppCompat.Widget.AppCompatTextView;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.TextBlock;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.Label;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ using PlatformView = AndroidX.AppCompat.Widget.AppCompatTextView;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.TextBlock;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.Label;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Microsoft.Maui.Platform.LayoutViewGroup;
|
|||
using PlatformView = Microsoft.Maui.Platform.LayoutPanel;
|
||||
#elif TIZEN
|
||||
using PlatformView = Microsoft.Maui.Platform.LayoutCanvas;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Android.Views.View;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.MenuBar;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.EvasObject;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ using PlatformView = Android.Views.View;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.MenuBar;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.EvasObject;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Android.Views.View;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.MenuBarItem;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.EvasObject;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ using PlatformView = Android.Views.View;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.MenuBarItem;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.EvasObject;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Android.Views.View;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.MenuFlyoutItem;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.EvasObject;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ using PlatformView = Android.Views.View;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.MenuFlyoutItem;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.EvasObject;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Android.Views.View;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.MenuFlyoutSubItem;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.EvasObject;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ using PlatformView = Android.Views.View;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.MenuFlyoutSubItem;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.EvasObject;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Android.Views.View;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.Frame;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.Naviframe;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Android.Views.View;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.Frame;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.Naviframe;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Microsoft.Maui.Platform.MauiPicker;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.ComboBox;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.Entry;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Microsoft.Maui.Platform.MauiPicker;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.ComboBox;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.Entry;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ using PlatformView = UIKit.UIProgressView;
|
|||
using PlatformView = Android.Widget.ProgressBar;
|
||||
#elif WINDOWS
|
||||
using PlatformView = Microsoft.UI.Xaml.Controls.ProgressBar;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ using PlatformView = UIKit.UIProgressView;
|
|||
using PlatformView = Android.Widget.ProgressBar;
|
||||
#elif WINDOWS
|
||||
using PlatformView = Microsoft.UI.Xaml.Controls.ProgressBar;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Android.Views.View;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.RadioButton;
|
||||
#elif TIZEN
|
||||
using PlatformView = Microsoft.Maui.Platform.MauiRadioButton;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Android.Views.View;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.RadioButton;
|
||||
#elif TIZEN
|
||||
using PlatformView = Microsoft.Maui.Platform.MauiRadioButton;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Microsoft.Maui.Platform.MauiSwipeRefreshLayout;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.RefreshContainer;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.EvasObject;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Microsoft.Maui.Platform.MauiSwipeRefreshLayout;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.RefreshContainer;
|
||||
#elif TIZEN
|
||||
using PlatformView = ElmSharp.EvasObject;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Microsoft.Maui.Platform.MauiScrollView;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.ScrollViewer;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.ScrollView;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ using PlatformView = Microsoft.Maui.Platform.MauiScrollView;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.ScrollViewer;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.ScrollView;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ using QueryEditor = Microsoft.UI.Xaml.Controls.AutoSuggestBox;
|
|||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.SearchBar;
|
||||
using QueryEditor = Tizen.UIExtensions.ElmSharp.EditfieldEntry;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
using QueryEditor = System.Object;
|
||||
#endif
|
||||
|
|
|
@ -7,7 +7,7 @@ using PlatformView = AndroidX.AppCompat.Widget.SearchView;
|
|||
using PlatformView = Microsoft.UI.Xaml.Controls.AutoSuggestBox;
|
||||
#elif TIZEN
|
||||
using PlatformView = Tizen.UIExtensions.ElmSharp.SearchBar;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ using PlatformView = Microsoft.Maui.Platform.MauiShapeView;
|
|||
using PlatformView = Microsoft.Maui.Graphics.Win2D.W2DGraphicsView;
|
||||
#elif TIZEN
|
||||
using PlatformView = Microsoft.Maui.Platform.MauiShapeView;
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0 && !IOS && !ANDROID && !TIZEN)
|
||||
#elif (NETSTANDARD || !PLATFORM) || (NET6_0_OR_GREATER && !IOS && !ANDROID && !TIZEN)
|
||||
using PlatformView = System.Object;
|
||||
#endif
|
||||
|
||||
|
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче