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:
Matthew Leibowitz 2022-06-07 01:53:10 +02:00 коммит произвёл GitHub
Родитель 7592c42dd5
Коммит b8646cb457
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
141 изменённых файлов: 290 добавлений и 373 удалений

18
.github/DEVELOPMENT.md поставляемый
Просмотреть файл

@ -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

6
.vscode/tasks.json поставляемый
Просмотреть файл

@ -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") ?? "");

Просмотреть файл

@ -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

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше