зеркало из https://github.com/DeGsoft/maui-linux.git
Merge pull request #24 from lytico/lytico/gtksharp/merge/dotnet_main-main_linux_210831
merge dotnet/main main_linux & enhance 210831
This commit is contained in:
Коммит
0ead10ff45
|
@ -8,17 +8,17 @@
|
|||
"dotnet-cake"
|
||||
]
|
||||
},
|
||||
"microsoft.dotnet.xharness.cli": {
|
||||
"version": "1.0.0-prerelease.21165.2",
|
||||
"commands": [
|
||||
"xharness"
|
||||
]
|
||||
},
|
||||
"powershell": {
|
||||
"version": "7.1.2",
|
||||
"commands": [
|
||||
"pwsh"
|
||||
]
|
||||
},
|
||||
"microsoft.dotnet.xharness.cli": {
|
||||
"version": "1.0.0-prerelease.21425.2",
|
||||
"commands": [
|
||||
"xharness"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
---
|
||||
name: Forms Previewer Bug report
|
||||
about: Having a problem with the Previewer? Report it here!
|
||||
title: ''
|
||||
labels: forms-previewer, s/unverified
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!-- Bug report best practices: https://github.com/xamarin/Xamarin.Forms/wiki/Submitting-Issues -->
|
||||
|
||||
### Description
|
||||
|
||||
### Steps to Reproduce
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
### Expected Behavior
|
||||
|
||||
### Actual Behavior
|
||||
|
||||
### Basic Information
|
||||
|
||||
- Version with issue:
|
||||
- Last known good version:
|
||||
- IDE:
|
||||
- Platform Target Frameworks: <!-- All that apply -->
|
||||
- iOS: <!-- The version of the iOS SDK you are compiling against, e.g. 11.1 -->
|
||||
- Android: <!-- The version of the Android SDK you are compiling against, e.g. 7.1 -->
|
||||
- UWP: <!-- The version of the UWP SDK you are compiling against, e.g. 16299 -->
|
||||
- Android Support Library Version: <!-- if applicable -->
|
||||
- Nuget Packages:
|
||||
- Affected Devices:
|
||||
|
||||
### Screenshots
|
||||
|
||||
<!-- If the issue is a visual issue, please include screenshots showing the problem if possible -->
|
||||
|
||||
### Reproduction Link
|
||||
|
||||
<!-- Please upload or provide a link to a reproduction case -->
|
|
@ -7,6 +7,7 @@
|
|||
.nuspec/**/*.dylib
|
||||
.nuspec/**/*.so
|
||||
.XamarinFormsVersionFile.txt
|
||||
templatesTest/
|
||||
|
||||
# User-specific files
|
||||
*.rsuser
|
||||
|
|
|
@ -6,53 +6,53 @@
|
|||
|
||||
<ItemGroup Condition="$(TargetFramework.StartsWith('Xamarin.iOS')) != true AND $(TargetFramework.StartsWith('net6.0-ios')) != true AND $(TargetFramework.StartsWith('net6.0-maccatalyst')) != true ">
|
||||
<Compile Remove="**\**\*.iOS.cs" />
|
||||
<None Include="**\**\*.iOS.cs" />
|
||||
<None Include="**\**\*.iOS.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
<Compile Remove="**\iOS\**\*.cs" />
|
||||
<None Include="**\iOS\**\*.cs" />
|
||||
<None Include="**\iOS\**\*.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="$(TargetFramework.StartsWith('Xamarin.Mac')) != true ">
|
||||
<Compile Remove="**\*.Mac.cs" />
|
||||
<None Include="**\*.Mac.cs" />
|
||||
<None Include="**\*.Mac.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
<Compile Remove="**\Mac\**\*.cs" />
|
||||
<None Include="**\Mac\**\*.cs" />
|
||||
<None Include="**\Mac\**\*.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="$(TargetFramework.StartsWith('Xamarin.Mac')) != true AND $(TargetFramework.StartsWith('Xamarin.iOS')) != true AND $(TargetFramework.StartsWith('net6.0-ios')) != true AND $(TargetFramework.StartsWith('net6.0-maccatalyst')) != true">
|
||||
<Compile Remove="**\*.MaciOS.cs" />
|
||||
<None Include="**\*.MaciOS.cs" />
|
||||
<None Include="**\*.MaciOS.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
<Compile Remove="**\MaciOS\**\*.cs" />
|
||||
<None Include="**\MaciOS\**\*.cs" />
|
||||
<None Include="**\MaciOS\**\*.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="$(TargetFramework.StartsWith('MonoAndroid')) != true AND $(TargetFramework.StartsWith('net6.0-android')) != true ">
|
||||
<Compile Remove="**\**\*.Android.cs" />
|
||||
<None Include="**\**\*.Android.cs" />
|
||||
<None Include="**\**\*.Android.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
<Compile Remove="**\Android\**\*.cs" />
|
||||
<None Include="**\Android\**\*.cs" />
|
||||
<None Include="**\Android\**\*.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="$(TargetFramework.StartsWith('netstandard')) != true AND '$(TargetFramework)' != 'net6.0'">
|
||||
<Compile Remove="**\*.Standard.cs" />
|
||||
<None Include="**\*.Standard.cs" />
|
||||
<None Include="**\*.Standard.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
<Compile Remove="**\Standard\**\*.cs" />
|
||||
<None Include="**\Standard\**\*.cs" />
|
||||
<None Include="**\Standard\**\*.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="$(TargetFramework.Contains('-windows')) != true ">
|
||||
<Compile Remove="**\*.Windows.cs" />
|
||||
<None Include="**\*.Windows.cs" />
|
||||
<None Include="**\*.Windows.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
<Compile Remove="**\Windows\**\*.cs" />
|
||||
<None Include="**\Windows\**\*.cs" />
|
||||
<None Include="**\Windows\**\*.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
<Compile Remove="**\*.uwp.cs" />
|
||||
<None Include="**\*.uwp.cs" />
|
||||
<None Include="**\*.uwp.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
<MauiXaml Remove="**\*.Windows.xaml" />
|
||||
<None Include="**\*.Windows.xaml" />
|
||||
<None Include="**\*.Windows.xaml" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
<Compile Remove="**\*.Windows.xaml.cs" />
|
||||
<None Include="**\*.Windows.xaml.cs" />
|
||||
<None Include="**\*.Windows.xaml.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
<MauiXaml Remove="**\Windows\**\*.xaml" />
|
||||
<None Include="**\Windows\**\*.xaml" />
|
||||
<None Include="**\Windows\**\*.xaml" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
<Compile Remove="**\Windows\**\*.xaml.cs" />
|
||||
<None Include="**\Windows\**\*.xaml.cs" />
|
||||
<None Include="**\Windows\**\*.xaml.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition=" $(TargetFramework.StartsWith('uap10.0')) ">
|
||||
<Compile Remove="**\*.uwp.cs" />
|
||||
<None Include="**\*.uwp.cs" />
|
||||
<None Include="**\*.uwp.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="$(DefineConstants.Contains('GTK')) != true ">
|
||||
<Compile Remove="**\*.Gtk.cs" />
|
||||
|
@ -116,10 +116,10 @@
|
|||
<DefineConstants>WINDOWS_UWP;$(DefineConstants)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition="$(TargetFramework.Contains('-windows')) == true ">
|
||||
<PackageReference Include="Microsoft.ProjectReunion" />
|
||||
<PackageReference Include="Microsoft.ProjectReunion.Foundation" />
|
||||
<PackageReference Include="Microsoft.ProjectReunion.WinUI" />
|
||||
<PackageReference Include="Microsoft.ProjectReunion.InteractiveExperiences" NoWarn="NU1701" />
|
||||
<PackageReference Include="Microsoft.WindowsAppSDK" />
|
||||
<PackageReference Include="Microsoft.WindowsAppSDK.Foundation" />
|
||||
<PackageReference Include="Microsoft.WindowsAppSDK.WinUI" />
|
||||
<PackageReference Include="Microsoft.WindowsAppSDK.InteractiveExperiences" NoWarn="NU1701" />
|
||||
<PackageReference Include="Microsoft.Graphics.Win2D" />
|
||||
<PackageReference Include="Microsoft.Maui.Graphics.Win2D.WinUI.Desktop" />
|
||||
</ItemGroup>
|
||||
|
|
|
@ -44,6 +44,8 @@
|
|||
<EnableDefaultPageItems>False</EnableDefaultPageItems>
|
||||
<EnableDefaultApplicationDefinition>False</EnableDefaultApplicationDefinition>
|
||||
<_SingleProjectWindowsExcludes>$(WindowsProjectFolder)/**/.*/**</_SingleProjectWindowsExcludes>
|
||||
<WindowsPackageType Condition="'$(EnablePreviewMsixTooling)' == 'true'">MSIX</WindowsPackageType>
|
||||
<OutputType Condition="'$(OutputType)' == 'Exe'">WinExe</OutputType>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Removals -->
|
||||
|
@ -78,6 +80,7 @@
|
|||
|
||||
<!-- IDE capabilities -->
|
||||
<ItemGroup Condition=" '$(SingleProject)' == 'true' ">
|
||||
<ProjectCapability Include="Msix" />
|
||||
<ProjectCapability Include="MauiSingleProject" />
|
||||
<ProjectCapability Include="LaunchProfiles" />
|
||||
<!-- If VS is older than Dev17 -->
|
||||
|
|
|
@ -16,11 +16,11 @@
|
|||
<DefineConstants Condition="!$(_IsHotRestartDefined) And '$(IsHotRestartBuild)' == 'true'">HOTRESTART;$(DefineConstants)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="GenKind" />
|
||||
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="ManifestResourceName" />
|
||||
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="TargetPath" />
|
||||
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="ItemSpec" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="GenKind" />
|
||||
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="ManifestResourceName" />
|
||||
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="TargetPath" />
|
||||
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="ItemSpec" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
<Target Name="_RemoveIncompatibleXamlFiles" BeforeTargets="BeforeBuild" Condition="'$(MauiRemoveIncompatibleXaml)' != 'false' and $(TargetFramework.Contains('-windows')) == true and '$(SingleProject)' != 'true'">
|
||||
<!-- assume all xaml files in a non-WinExe are MAUI xaml, so remove WinUI xaml -->
|
||||
<ItemGroup Condition=" '$(OutputType)' != 'WinExe' ">
|
||||
<ItemGroup Condition=" '$(OutputType)' != 'WinExe' and '$(OutputType)' != 'Exe' ">
|
||||
<Page Remove="**/*.xaml" />
|
||||
</ItemGroup>
|
||||
<!-- assume all xaml files in a WinExe are WinUI xaml, so remove MAUI xaml -->
|
||||
<ItemGroup Condition=" '$(OutputType)' == 'WinExe' ">
|
||||
<ItemGroup Condition=" '$(OutputType)' == 'WinExe' or '$(OutputType)' == 'Exe' ">
|
||||
<EmbeddedResource Remove="**\*.xaml" />
|
||||
<MauiXaml Remove="**\*.xaml" />
|
||||
<Compile Remove="**\*.xaml" />
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
<_ResizetizerIsiOSApp Condition="'$(TargetFrameworkIdentifier)' == 'Xamarin.iOS' And ('$(OutputType)' == 'Exe' Or '$(IsAppExtension)' == 'True')">True</_ResizetizerIsiOSApp>
|
||||
<_ResizetizerIsUWPApp Condition="'$(TargetPlatformIdentifier)' == 'UAP' And '$(OutputType)' == 'AppContainerExe'">True</_ResizetizerIsUWPApp>
|
||||
<_ResizetizerIsWPFApp Condition="'$(IsApplication)' == 'True' And '$(NuGetRuntimeIdentifier)' == 'win' And '$(TargetPlatformIdentifier)' == 'Windows'">True</_ResizetizerIsWPFApp>
|
||||
<_ResizetizerIsWinUIApp>False</_ResizetizerIsWinUIApp>
|
||||
<_ResizetizerIsWindowsAppSdk>False</_ResizetizerIsWindowsAppSdk>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
|
||||
|
@ -83,10 +83,10 @@
|
|||
<_ResizetizerIsiOSApp Condition="('$(TargetPlatformIdentifier)' == 'ios' Or '$(TargetPlatformIdentifier)' == 'maccatalyst') And ('$(OutputType)' == 'Exe' Or '$(IsAppExtension)' == 'True')">True</_ResizetizerIsiOSApp>
|
||||
<_ResizetizerIsUWPApp Condition="'$(TargetPlatformIdentifier)'=='UAP' And '$(OutputType)' == 'AppContainerExe'">True</_ResizetizerIsUWPApp>
|
||||
<_ResizetizerIsWPFApp Condition="'$(IsApplication)' == 'True' And '$(NuGetRuntimeIdentifier)' == 'win' And '$(TargetPlatformIdentifier)'=='Windows'">True</_ResizetizerIsWPFApp>
|
||||
<_ResizetizerIsWinUIApp Condition="'$(ProjectReunionWinUI)'=='True' And '$(TargetPlatformIdentifier)'=='Windows' And '$(OutputType)' == 'WinExe'">True</_ResizetizerIsWinUIApp>
|
||||
<_ResizetizerIsWindowsAppSdk Condition="'$(ProjectReunionWinUI)'=='True' And '$(TargetPlatformIdentifier)'=='Windows' And ('$(OutputType)' == 'WinExe' Or '$(OutputType)' == 'Exe')">True</_ResizetizerIsWindowsAppSdk>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(_ResizetizerIsAndroidApp)' == 'True' Or '$(_ResizetizerIsiOSApp)' == 'True' Or '$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWPFApp)' == 'True' Or '$(_ResizetizerIsWinUIApp)' == 'True'">
|
||||
<PropertyGroup Condition="'$(_ResizetizerIsAndroidApp)' == 'True' Or '$(_ResizetizerIsiOSApp)' == 'True' Or '$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWPFApp)' == 'True' Or '$(_ResizetizerIsWindowsAppSdk)' == 'True'">
|
||||
<_ResizetizerIsCompatibleApp>True</_ResizetizerIsCompatibleApp>
|
||||
|
||||
<ResizetizeDependsOnTargets>
|
||||
|
@ -143,7 +143,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<!-- UWP / WinUI -->
|
||||
<PropertyGroup Condition="'$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWinUIApp)' == 'True'">
|
||||
<PropertyGroup Condition="'$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWindowsAppSdk)' == 'True'">
|
||||
<ResizetizerPlatformType>uwp</ResizetizerPlatformType>
|
||||
|
||||
<ResizetizeBeforeTargets>
|
||||
|
@ -261,7 +261,7 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="ProcessMauiAssets">
|
||||
<PropertyGroup Condition="'$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWinUIApp)' == 'True'">
|
||||
<PropertyGroup Condition="'$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWindowsAppSdk)' == 'True'">
|
||||
<_MauiAssetFolderName>Assets</_MauiAssetFolderName>
|
||||
<_MauiAssetItemMetadata>TargetPath</_MauiAssetItemMetadata>
|
||||
</PropertyGroup>
|
||||
|
@ -272,7 +272,7 @@
|
|||
Input="@(MauiAsset)">
|
||||
<Output ItemName="AndroidAsset" TaskParameter="Output" Condition="'$(_ResizetizerIsAndroidApp)' == 'True'" />
|
||||
<Output ItemName="Content" TaskParameter="Output" Condition="'$(_ResizetizerIsiOSApp)' == 'True'" />
|
||||
<Output ItemName="ContentWithTargetPath" TaskParameter="Output" Condition="'$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWinUIApp)' == 'True'" />
|
||||
<Output ItemName="ContentWithTargetPath" TaskParameter="Output" Condition="'$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWindowsAppSdk)' == 'True'" />
|
||||
</GetMauiAssetPath>
|
||||
</Target>
|
||||
|
||||
|
@ -317,11 +317,11 @@
|
|||
|
||||
<!-- UWP / WinUI -->
|
||||
<GenerateSplashAssets
|
||||
Condition="'$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWinUIApp)' == 'True'"
|
||||
Condition="'$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWindowsAppSdk)' == 'True'"
|
||||
IntermediateOutputPath="$(_MauiIntermediateSplashScreen)"
|
||||
MauiSplashScreen="@(MauiSplashScreen)"
|
||||
/>
|
||||
<ItemGroup Condition="'$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWinUIApp)' == 'True'">
|
||||
<ItemGroup Condition="'$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWindowsAppSdk)' == 'True'">
|
||||
<_MauiSplashAssets Include="$(_MauiIntermediateSplashScreen)**\*" />
|
||||
<ContentWithTargetPath Include="@(_MauiSplashAssets)">
|
||||
<TargetPath>Assets\%(_MauiSplashAssets.Filename)%(_MauiSplashAssets.Extension)</TargetPath>
|
||||
|
@ -380,7 +380,7 @@
|
|||
|
||||
<!-- iOS - Partial Info.plist for font registration -->
|
||||
<ItemGroup Condition="'$(_ResizetizerIsiOSApp)' == 'True' ">
|
||||
<_PartialAppManifest Include="@(_MauiFontPListFiles)" Condition="'@(_MauiFontPListFiles)' != ''" />
|
||||
<PartialAppManifest Include="@(_MauiFontPListFiles)" Condition="'@(_MauiFontPListFiles)' != ''" />
|
||||
<FileWrites Include="@(_MauiFontPListFiles)" Condition="'@(_MauiFontPListFiles)' != ''" />
|
||||
</ItemGroup>
|
||||
|
||||
|
@ -394,7 +394,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<!-- UWP / WinUI -->
|
||||
<ItemGroup Condition="'$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWinUIApp)' == 'True'">
|
||||
<ItemGroup Condition="'$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWindowsAppSdk)' == 'True'">
|
||||
|
||||
<ContentWithTargetPath Include="@(_MauiFontCopied)" Condition="'@(_MauiFontCopied)' != ''">
|
||||
<TargetPath>Assets\$([System.IO.Path]::GetFileName(%(_MauiFontCopied.Identity)))</TargetPath>
|
||||
|
@ -506,7 +506,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<!-- UWP / WinUI -->
|
||||
<ItemGroup Condition="'$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWinUIApp)' == 'True'">
|
||||
<ItemGroup Condition="'$(_ResizetizerIsUWPApp)' == 'True' Or '$(_ResizetizerIsWindowsAppSdk)' == 'True'">
|
||||
<ContentWithTargetPath Include="@(_ResizetizerCollectedImages)">
|
||||
<TargetPath>Assets\%(_ResizetizerCollectedImages.Filename)%(_ResizetizerCollectedImages.Extension)</TargetPath>
|
||||
</ContentWithTargetPath>
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<ItemGroup>
|
||||
<CompilerVisibleProperty Include="RootNamespace" />
|
||||
<CompilerVisibleProperty Include="ApplicationId" />
|
||||
<CompilerVisibleProperty Include="ApplicationTitle" />
|
||||
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="IsMauiSplashScreen" />
|
||||
<AdditionalFiles Include="@(MauiSplashScreen)" IsMauiSplashScreen="True" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 695 KiB |
|
@ -1,6 +1,6 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30503.244
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.31620.27
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Controls", "Controls", "{9AD757F5-E57A-459D-A0A7-E0675E045B84}"
|
||||
EndProject
|
||||
|
@ -89,7 +89,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Xaml.UnitTests", "
|
|||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestUtils", "TestUtils", "{0F9BA970-11B1-4ACA-AF41-1021AFC0F29C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils", "src\TestUtils\TestUtils\src\TestUtils.csproj", "{E4CB9988-7348-4D55-A08E-85907732F8DA}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils", "src\TestUtils\src\TestUtils\TestUtils.csproj", "{E4CB9988-7348-4D55-A08E-85907732F8DA}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils.DeviceTests", "src\TestUtils\TestUtils.DeviceTests\src\TestUtils.DeviceTests.csproj", "{551B2209-4298-4D60-B55C-79077B8BC244}"
|
||||
EndProject
|
||||
|
@ -125,7 +125,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Maps", "Maps", "{4030A39F-7
|
|||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{AC1BF2B0-ACB7-42EF-9D4F-CF4424A4EF76}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compatibility.Android.UnitTests", "src\Compatibility\Core\tests\Android\Compatibility.Android.UnitTests.csproj", "{A4C57790-71D1-467C-A69E-2BD84CB6666C}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.Android.UnitTests", "src\Compatibility\Core\tests\Android\Compatibility.Android.UnitTests.csproj", "{A4C57790-71D1-467C-A69E-2BD84CB6666C}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{9318E5D8-A9C4-42DB-89B8-36EC31362ABB}"
|
||||
EndProject
|
||||
|
@ -133,31 +133,31 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Compatibility.ControlGaller
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.ControlGallery.Core", "src\Compatibility\ControlGallery\src\Core\Compatibility.ControlGallery.Core.csproj", "{E7D17A14-8399-4139-BDAA-EE4C1A3447FC}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compatibility.ControlGallery.Android", "src\Compatibility\ControlGallery\src\Android\Compatibility.ControlGallery.Android.csproj", "{BB933AF2-9498-4C4E-9F76-AF66A550BED3}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.ControlGallery.Android", "src\Compatibility\ControlGallery\src\Android\Compatibility.ControlGallery.Android.csproj", "{BB933AF2-9498-4C4E-9F76-AF66A550BED3}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Compatibility.UITests.Shared", "src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.Shared.shproj", "{E175485B-3C8C-47D7-8DD5-F7FED627EB25}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compatibility.ControlGallery.Android.UITests", "src\Compatibility\ControlGallery\test\Android.UITests\Compatibility.ControlGallery.Android.UITests.csproj", "{A34EBE01-25BF-4E69-A2DC-2288DC625541}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.ControlGallery.Android.UITests", "src\Compatibility\ControlGallery\test\Android.UITests\Compatibility.ControlGallery.Android.UITests.csproj", "{A34EBE01-25BF-4E69-A2DC-2288DC625541}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compatibility.ControlGallery.iOS.UITests", "src\Compatibility\ControlGallery\test\iOS.UITests\Compatibility.ControlGallery.iOS.UITests.csproj", "{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.ControlGallery.iOS.UITests", "src\Compatibility\ControlGallery\test\iOS.UITests\Compatibility.ControlGallery.iOS.UITests.csproj", "{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compatibility.ControlGallery.iOS", "src\Compatibility\ControlGallery\src\iOS\Compatibility.ControlGallery.iOS.csproj", "{C7131F14-274F-4B55-ACA9-E81731AD012F}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.ControlGallery.iOS", "src\Compatibility\ControlGallery\src\iOS\Compatibility.ControlGallery.iOS.csproj", "{C7131F14-274F-4B55-ACA9-E81731AD012F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compatibility.Maps.iOS", "src\Compatibility\Maps\src\iOS\Compatibility.Maps.iOS.csproj", "{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.Maps.iOS", "src\Compatibility\Maps\src\iOS\Compatibility.Maps.iOS.csproj", "{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compatibility.iOS.UnitTests", "src\Compatibility\Core\tests\iOS\Compatibility.iOS.UnitTests.csproj", "{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.iOS.UnitTests", "src\Compatibility\Core\tests\iOS\Compatibility.iOS.UnitTests.csproj", "{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility", "src\Compatibility\Core\src\Compatibility.csproj", "{8E86F0DA-ED1C-409E-A7A9-DF3E58498620}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{a34ebe01-25bf-4e69-a2dc-2288dc625541}*SharedItemsImports = 4
|
||||
src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.projitems*{a34ebe01-25bf-4e69-a2dc-2288dc625541}*SharedItemsImports = 4
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{a34ebe01-25bf-4e69-a2dc-2288dc625541}*SharedItemsImports = 5
|
||||
src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.projitems*{a34ebe01-25bf-4e69-a2dc-2288dc625541}*SharedItemsImports = 5
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{ae2513cb-4e5e-4e5c-8237-88954d4c9433}*SharedItemsImports = 13
|
||||
src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.projitems*{e175485b-3c8c-47d7-8dd5-f7fed627eb25}*SharedItemsImports = 13
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{e7d17a14-8399-4139-bdaa-ee4c1a3447fc}*SharedItemsImports = 5
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{eadd8100-b3ae-4a31-92c4-267a64a1c6eb}*SharedItemsImports = 4
|
||||
src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.projitems*{eadd8100-b3ae-4a31-92c4-267a64a1c6eb}*SharedItemsImports = 4
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{eadd8100-b3ae-4a31-92c4-267a64a1c6eb}*SharedItemsImports = 5
|
||||
src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.projitems*{eadd8100-b3ae-4a31-92c4-267a64a1c6eb}*SharedItemsImports = 5
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
|
|
@ -4,18 +4,30 @@ This page contains steps to build and run the .NET MAUI repository from source.
|
|||
|
||||
## Requirements
|
||||
|
||||
- Install the SDKs listed in the [maui-samples](https://github.com/dotnet/maui-samples) repository.
|
||||
- [Install .NET6](https://github.com/dotnet/maui/wiki/Installing-.NET-6)
|
||||
|
||||
## Running
|
||||
|
||||
### .NET 6
|
||||
|
||||
#### Compile with globally installed `dotnet`
|
||||
|
||||
This will build and launch Visual Studio using global workloads
|
||||
|
||||
```dotnetcli
|
||||
dotnet tool restore
|
||||
dotnet cake --target=VS-NET6 --workloads=global
|
||||
```
|
||||
|
||||
#### Compile using a local `bin\dotnet`
|
||||
|
||||
You can run a `Cake` target to bootstrap .NET 6 in `bin\dotnet` and launch Visual Studio:
|
||||
|
||||
```dotnetcli
|
||||
dotnet tool restore
|
||||
dotnet cake --target=VS-NET6
|
||||
```
|
||||
|
||||
_NOTES:_
|
||||
- _VS Mac is not yet supported._
|
||||
- _If the IDE doesn't show any Android devices try unloading and reloading the `Sample.Droid-net6` project._
|
||||
|
@ -34,7 +46,7 @@ dotnet build src\DotNet\DotNet.csproj
|
|||
dotnet cake --target=VS-DOGFOOD
|
||||
```
|
||||
|
||||
To build & run .NET 6 sample apps, you will also need to use `.\bin\dotnet\dotnet`:
|
||||
To build & run .NET 6 sample apps, you will also need to use `.\bin\dotnet\dotnet` or just `dotnet` if you've installed the workloads globally:
|
||||
```dotnetcli
|
||||
.\bin\dotnet\dotnet build src\Controls\samples\Controls.Sample.Droid\Maui.Controls.Sample.Droid-net6.csproj -t:Run
|
||||
.\bin\dotnet\dotnet build src\Controls\samples\Controls.Sample.iOS\Maui.Controls.Sample.iOS-net6.csproj -t:Run
|
||||
|
@ -53,7 +65,7 @@ To build and run Blazor Desktop samples, check out the [Blazor Desktop](https://
|
|||
|
||||
### Win UI 3
|
||||
|
||||
To build and run WinUI 3 support, please install the additional components mentioned on the [Getting Started](https://github.com/dotnet/maui/wiki/Getting-Started) page and run:
|
||||
To build and run WinUI 3 support, please install the additional components mentioned on the [Getting Started](https://docs.microsoft.com/en-us/dotnet/maui/get-started/installation) page and run:
|
||||
|
||||
```dotnetcli
|
||||
dotnet tool restore
|
||||
|
|
|
@ -2,18 +2,13 @@
|
|||
<Import Project="eng\Versions.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Workaround: https://github.com/dotnet/sdk/issues/19050 -->
|
||||
<DisableImplicitNamespaceImports>true</DisableImplicitNamespaceImports>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildForWinUI Condition=" ('$(SolutionFileName)' == 'Microsoft.Maui.WinUI.sln' OR '$(SolutionFileName)' == 'BlazorWindows-net6.sln') AND '$(Packing)' == ''">true</BuildForWinUI>
|
||||
<BuildForWinUI Condition=" ($(SolutionFileName.Contains('winui')) OR '$(SolutionFileName)' == 'BlazorWindows-net6.sln') AND '$(Packing)' == ''">true</BuildForWinUI>
|
||||
<BuildForAndroid Condition="'$(SolutionFileName)' == 'Microsoft.Maui.Droid.sln' AND '$(Packing)' == ''">true</BuildForAndroid>
|
||||
<BuildForNet6 Condition="'$(Packing)' == 'true' OR $(MSBuildProjectFile.Contains('SingleProject')) OR $(MSBuildProjectFile.Contains('Profiling')) OR $(MSBuildProjectFile.Contains('net6')) OR $(SolutionFileName.Contains('net6')) OR '$(BuildForWinUI)' == 'true' OR '$(BuildForAndroid)' == 'true'">true</BuildForNet6>
|
||||
<MauiPlatforms>net6.0-ios;net6.0-maccatalyst;net6.0-android</MauiPlatforms>
|
||||
<WindowsTargetFramework Condition="'$(WindowsTargetFramework)' == ''">net6.0-windows10.0.18362</WindowsTargetFramework>
|
||||
<MauiPlatforms Condition="'$(Packing)' == 'true'">$(MauiPlatforms);$(WindowsTargetFramework)</MauiPlatforms>
|
||||
<MauiPlatforms Condition="'$(BuildForWinUI)' == 'true'">$(WindowsTargetFramework)</MauiPlatforms>
|
||||
<WindowsMauiPlatforms Condition="'$(WindowsMauiPlatforms)' == ''">net6.0-windows10.0.19041;net6.0-windows10.0.18362</WindowsMauiPlatforms>
|
||||
<MauiPlatforms Condition="'$(Packing)' == 'true'">$(MauiPlatforms);$(WindowsMauiPlatforms)</MauiPlatforms>
|
||||
<MauiPlatforms Condition="'$(BuildForWinUI)' == 'true'">$(WindowsMauiPlatforms)</MauiPlatforms>
|
||||
<MauiPlatforms Condition="'$(BuildForAndroid)' == 'true'">net6.0-android</MauiPlatforms>
|
||||
|
||||
<!-- Work around the IDE not properly handling the NU1703 warning -->
|
||||
|
@ -39,11 +34,16 @@
|
|||
<NonNet6EssentialsPlatforms Condition="'$(BuildNonNet6ForAndroid)' == 'true'">netstandard2.0;netstandard2.1;MonoAndroid10.0</NonNet6EssentialsPlatforms>
|
||||
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
|
||||
|
||||
<!-- <GenerateRuntimeConfigurationFiles>false</GenerateRuntimeConfigurationFiles> -->
|
||||
|
||||
<!-- HACK: WinUI seems to have issues without this -->
|
||||
<GenerateLibraryLayout>true</GenerateLibraryLayout>
|
||||
<DisableEmbeddedXbf>false</DisableEmbeddedXbf>
|
||||
|
||||
<DefineConstants Condition="$(TargetFramework.Contains('-windows'))">$(DefineConstants);WINDOWS</DefineConstants>
|
||||
|
||||
<!-- Workaround: https://github.com/dotnet/sdk/issues/19050 -->
|
||||
<DisableImplicitNamespaceImports>true</DisableImplicitNamespaceImports>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<Project>
|
||||
|
||||
<Import Condition="'$(SampleProject)' == 'true' or '$(CI)' != 'true' " Project="eng\Versions.dev.targets" />
|
||||
<Import Condition="'$(SampleProject)' != 'true' and '$(CI)' == 'true'" Project="eng\Git.Build.targets" />
|
||||
<Import Condition="'$(SampleProject)' != 'true' and '$(CI)' == 'true' " Project="eng\Versions.targets" />
|
||||
<Import Project="eng\AndroidX.targets" />
|
||||
|
|
|
@ -1 +1 @@
|
|||
6.0.100-rc.1
|
||||
6.0.100-rc.2
|
||||
|
|
|
@ -4,12 +4,6 @@ VisualStudioVersion = 17.0.31410.414
|
|||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core-net6", "src\Core\src\Core-net6.csproj", "{95BA42B5-B00E-4986-B9B5-517140378452}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Files", "Files", "{449F6071-A74F-4309-8D7B-7038CFD1B17B}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.nuspec\Microsoft.Maui.Controls.MultiTargeting.targets = .nuspec\Microsoft.Maui.Controls.MultiTargeting.targets
|
||||
README.md = README.md
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Core-net6", "src\Controls\src\Core\Controls.Core-net6.csproj", "{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility-net6", "src\Compatibility\Core\src\Compatibility-net6.csproj", "{00A11C2F-969F-4964-8557-91ADF4B1523D}"
|
||||
|
@ -50,9 +44,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Maui.Templates",
|
|||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestUtils", "TestUtils", "{6998CAA1-11D4-46B2-B80F-0AC882F58124}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils", "src\TestUtils\TestUtils\src\TestUtils.csproj", "{FBB3270F-1924-4A72-845E-A6DF39C402F6}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils", "src\TestUtils\src\TestUtils\TestUtils.csproj", "{FBB3270F-1924-4A72-845E-A6DF39C402F6}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.UnitTests", "src\Core\tests\UnitTests\Core.UnitTests.csproj", "{92644F6F-5946-48FC-A21A-A3D6EE24E8B3}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.UnitTests-net6", "src\Core\tests\UnitTests\Core.UnitTests-net6.csproj", "{92644F6F-5946-48FC-A21A-A3D6EE24E8B3}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E8AD265B-3C67-4640-AC58-A522F9FB3361}"
|
||||
EndProject
|
||||
|
@ -74,15 +68,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiRazorClassLibrarySample
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.SourceGen-net6", "src\Controls\src\SourceGen\Controls.SourceGen-net6.csproj", "{22C17254-2CB4-4AE7-A558-E3208E1D19D3}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils.DeviceTests-net6", "src\TestUtils\TestUtils.DeviceTests\src\TestUtils.DeviceTests-net6.csproj", "{ACE5B2A1-4DA9-47A9-8CE7-164595048E6E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.DeviceTests-net6", "src\Core\tests\DeviceTests\Core.DeviceTests-net6.csproj", "{E4B95A7E-968D-4970-80C9-A1CAD14E31EC}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{F3FFE2E4-E89E-46A9-A180-FDA8908BA21D}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{E25E7929-2423-4C8A-9B03-DC4C8B19A2E5}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Resizetizer.UnitTests", "src\SingleProject\Resizetizer\test\UnitTests\Resizetizer.UnitTests.csproj", "{05DB57B8-D0A5-499B-AD35-7093C2E9C9D7}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Resizetizer.UnitTests-net6", "src\SingleProject\Resizetizer\test\UnitTests\Resizetizer.UnitTests-net6.csproj", "{05DB57B8-D0A5-499B-AD35-7093C2E9C9D7}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{A8E9400E-70DD-421F-8609-1C2FA4AE8E71}"
|
||||
EndProject
|
||||
|
@ -114,17 +104,92 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.NET.Sdk.Maui", "s
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Maui.Extensions", "src\Workload\Microsoft.Maui.Extensions\Microsoft.Maui.Extensions.csproj", "{6EDE0C1B-B718-4331-99BA-423042CDBE24}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils.DeviceTests.Runners", "src\TestUtils\src\DeviceTests.Runners\TestUtils.DeviceTests.Runners.csproj", "{316C0861-069B-4572-879F-F01E568F33A2}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils.DeviceTests.Runners.SourceGen", "src\TestUtils\src\DeviceTests.Runners.SourceGen\TestUtils.DeviceTests.Runners.SourceGen.csproj", "{E87D865B-4EA8-4A30-B6C1-572D2061D707}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{C60B92DA-96F2-41EF-8594-864164A82C6A}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils.DeviceTests.Sample", "src\TestUtils\samples\DeviceTests.Sample\TestUtils.DeviceTests.Sample.csproj", "{B8E69BF7-0F57-4959-867B-441E0428D169}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{7AC28763-9C68-4BF9-A1BA-25CBFFD2D15C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.Benchmarks", "src\Core\tests\Benchmarks\Core.Benchmarks.csproj", "{33B599D2-B231-4D17-8957-397E24B0FE33}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.DeviceTests", "src\Core\tests\DeviceTests\Core.DeviceTests.csproj", "{A9D5F998-78D3-4DEE-883F-510A7C3AA587}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{446EB407-57EB-441D-9ADB-1A006CBF672A}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{A1D83459-24AC-4124-AE5F-09F0318AF0EB}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{420BC8CC-EE70-49A1-964A-CB63414A882D}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials.DeviceTests", "src\Essentials\test\DeviceTests\Essentials.DeviceTests.csproj", "{66528BE6-FF53-4A3B-8675-46C0B929C83B}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials.UnitTests-net6", "src\Essentials\test\UnitTests\Essentials.UnitTests-net6.csproj", "{A9BAB840-A53E-405A-9458-CA0E02319FB4}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Maps-net6", "src\Controls\Maps\src\Controls.Maps-net6.csproj", "{5C40FA00-7D48-4F54-898C-01C8942E451D}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{25D0D27A-C5FE-443D-8B65-D6C987F4A80E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Core.UnitTests-net6", "src\Controls\tests\Core.UnitTests\Controls.Core.UnitTests-net6.csproj", "{094FB109-1CBC-4B84-8CFB-072E7B3EC637}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Xaml.UnitTests-net6", "src\Controls\tests\Xaml.UnitTests\Controls.Xaml.UnitTests-net6.csproj", "{F7A258F6-F4CB-4209-9E63-AECDB2E1F4ED}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.CustomAttributes", "src\Controls\tests\CustomAttributes\Controls.CustomAttributes.csproj", "{F7B6C73A-6019-4EAE-9258-E08C0C57829F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Sample.Profiling", "src\Controls\samples\Controls.Sample.Profiling\Maui.Controls.Sample.Profiling.csproj", "{75DB635C-0035-46E7-9A33-857D38082503}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{D8CD878F-34BC-4393-881A-E3DD7348A13E}"
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ControlGallery", "ControlGallery", "{FA181CD5-95AF-46B7-95D2-852F2398833C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Maps-net6", "src\Controls\Maps\src\Controls.Maps-net6.csproj", "{41CF73B5-D60E-4644-BA72-904CFF43C4AF}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.ControlGallery.Core-net6", "src\Compatibility\ControlGallery\src\Core\Compatibility.ControlGallery.Core-net6.csproj", "{772E2531-2270-429A-9AFB-4AA0104AEF27}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Core.UnitTests-net6", "src\Controls\tests\Core.UnitTests\Controls.Core.UnitTests-net6.csproj", "{DCA77B3F-73C2-488C-8D16-F5055DC3098C}"
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Compatibility.ControlGallery.Issues.Shared", "src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.shproj", "{AE2513CB-4E5E-4E5C-8237-88954D4C9433}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.Benchmarks-net6", "src\Core\tests\Benchmarks\Core.Benchmarks-net6.csproj", "{A1B1052C-740D-4733-BB3F-8558B661E78D}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.Android.AppLinks", "src\Compatibility\Android.AppLinks\src\Compatibility.Android.AppLinks.csproj", "{742AB9F4-B2A3-464F-9584-7D07E28D0716}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.Maps.Android", "src\Compatibility\Maps\src\Android\Compatibility.Maps.Android.csproj", "{B2859A87-D1C2-4F34-B2C7-C19317CD5872}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.Maps.iOS", "src\Compatibility\Maps\src\iOS\Compatibility.Maps.iOS.csproj", "{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{85EBD2BA-EA5A-4B1F-AF16-81FBD58579DF}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.Android.UnitTests", "src\Compatibility\Core\tests\Android\Compatibility.Android.UnitTests.csproj", "{A4C57790-71D1-467C-A69E-2BD84CB6666C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.iOS.UnitTests", "src\Compatibility\Core\tests\iOS\Compatibility.iOS.UnitTests.csproj", "{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Maps", "Maps", "{05D8C6AD-A954-4A36-A8EE-4148A6FB88C9}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{FF1F68E5-3474-4456-B67B-08526E51934E}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{DDBA9144-36FC-429E-99E1-2A64825434C1}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.ControlGallery.Android", "src\Compatibility\ControlGallery\src\Android\Compatibility.ControlGallery.Android.csproj", "{BB933AF2-9498-4C4E-9F76-AF66A550BED3}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.ControlGallery.iOS", "src\Compatibility\ControlGallery\src\iOS\Compatibility.ControlGallery.iOS.csproj", "{C7131F14-274F-4B55-ACA9-E81731AD012F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.ControlGallery.Android.UITests", "src\Compatibility\ControlGallery\test\Android.UITests\Compatibility.ControlGallery.Android.UITests.csproj", "{A34EBE01-25BF-4E69-A2DC-2288DC625541}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.ControlGallery.iOS.UITests", "src\Compatibility\ControlGallery\test\iOS.UITests\Compatibility.ControlGallery.iOS.UITests.csproj", "{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Compatibility.UITests.Shared", "src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.Shared.shproj", "{E175485B-3C8C-47D7-8DD5-F7FED627EB25}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{95BF8553-3D9D-4831-ACDD-A3E697BC08A6}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials.Sample", "src\Essentials\samples\Samples\Essentials.Sample.csproj", "{C677BF3D-B234-491D-BA48-D9742DB564F8}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials.Sample.Server.WebAuthenticator", "src\Essentials\samples\Sample.Server.WebAuthenticator\Essentials.Sample.Server.WebAuthenticator.csproj", "{F7DB0CB3-D244-403A-8C3B-B1ED5E5838EC}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{772e2531-2270-429a-9afb-4aa0104aef27}*SharedItemsImports = 5
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{a34ebe01-25bf-4e69-a2dc-2288dc625541}*SharedItemsImports = 5
|
||||
src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.projitems*{a34ebe01-25bf-4e69-a2dc-2288dc625541}*SharedItemsImports = 5
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{ae2513cb-4e5e-4e5c-8237-88954d4c9433}*SharedItemsImports = 13
|
||||
src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.projitems*{e175485b-3c8c-47d7-8dd5-f7fed627eb25}*SharedItemsImports = 13
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{eadd8100-b3ae-4a31-92c4-267a64a1c6eb}*SharedItemsImports = 5
|
||||
src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.projitems*{eadd8100-b3ae-4a31-92c4-267a64a1c6eb}*SharedItemsImports = 5
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
|
@ -155,20 +220,25 @@ Global
|
|||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{D7FE9FD0-144A-4199-93FC-3AD62325F1D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D7FE9FD0-144A-4199-93FC-3AD62325F1D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D7FE9FD0-144A-4199-93FC-3AD62325F1D6}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{D7FE9FD0-144A-4199-93FC-3AD62325F1D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D7FE9FD0-144A-4199-93FC-3AD62325F1D6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D7FE9FD0-144A-4199-93FC-3AD62325F1D6}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{CB495F62-CFE6-4975-AED8-F26B6C5D0113}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CB495F62-CFE6-4975-AED8-F26B6C5D0113}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CB495F62-CFE6-4975-AED8-F26B6C5D0113}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{CB495F62-CFE6-4975-AED8-F26B6C5D0113}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CB495F62-CFE6-4975-AED8-F26B6C5D0113}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CB495F62-CFE6-4975-AED8-F26B6C5D0113}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
|
@ -217,16 +287,6 @@ Global
|
|||
{22C17254-2CB4-4AE7-A558-E3208E1D19D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{22C17254-2CB4-4AE7-A558-E3208E1D19D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{22C17254-2CB4-4AE7-A558-E3208E1D19D3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{ACE5B2A1-4DA9-47A9-8CE7-164595048E6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{ACE5B2A1-4DA9-47A9-8CE7-164595048E6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{ACE5B2A1-4DA9-47A9-8CE7-164595048E6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ACE5B2A1-4DA9-47A9-8CE7-164595048E6E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E4B95A7E-968D-4970-80C9-A1CAD14E31EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E4B95A7E-968D-4970-80C9-A1CAD14E31EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E4B95A7E-968D-4970-80C9-A1CAD14E31EC}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{E4B95A7E-968D-4970-80C9-A1CAD14E31EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E4B95A7E-968D-4970-80C9-A1CAD14E31EC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E4B95A7E-968D-4970-80C9-A1CAD14E31EC}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{05DB57B8-D0A5-499B-AD35-7093C2E9C9D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{05DB57B8-D0A5-499B-AD35-7093C2E9C9D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{05DB57B8-D0A5-499B-AD35-7093C2E9C9D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
|
@ -283,24 +343,114 @@ Global
|
|||
{6EDE0C1B-B718-4331-99BA-423042CDBE24}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6EDE0C1B-B718-4331-99BA-423042CDBE24}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6EDE0C1B-B718-4331-99BA-423042CDBE24}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{316C0861-069B-4572-879F-F01E568F33A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{316C0861-069B-4572-879F-F01E568F33A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{316C0861-069B-4572-879F-F01E568F33A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{316C0861-069B-4572-879F-F01E568F33A2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E87D865B-4EA8-4A30-B6C1-572D2061D707}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E87D865B-4EA8-4A30-B6C1-572D2061D707}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E87D865B-4EA8-4A30-B6C1-572D2061D707}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E87D865B-4EA8-4A30-B6C1-572D2061D707}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B8E69BF7-0F57-4959-867B-441E0428D169}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B8E69BF7-0F57-4959-867B-441E0428D169}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B8E69BF7-0F57-4959-867B-441E0428D169}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{B8E69BF7-0F57-4959-867B-441E0428D169}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B8E69BF7-0F57-4959-867B-441E0428D169}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B8E69BF7-0F57-4959-867B-441E0428D169}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{33B599D2-B231-4D17-8957-397E24B0FE33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{33B599D2-B231-4D17-8957-397E24B0FE33}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{33B599D2-B231-4D17-8957-397E24B0FE33}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{33B599D2-B231-4D17-8957-397E24B0FE33}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A9D5F998-78D3-4DEE-883F-510A7C3AA587}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A9D5F998-78D3-4DEE-883F-510A7C3AA587}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A9D5F998-78D3-4DEE-883F-510A7C3AA587}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{A9D5F998-78D3-4DEE-883F-510A7C3AA587}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A9D5F998-78D3-4DEE-883F-510A7C3AA587}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A9D5F998-78D3-4DEE-883F-510A7C3AA587}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{66528BE6-FF53-4A3B-8675-46C0B929C83B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{66528BE6-FF53-4A3B-8675-46C0B929C83B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{66528BE6-FF53-4A3B-8675-46C0B929C83B}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{66528BE6-FF53-4A3B-8675-46C0B929C83B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{66528BE6-FF53-4A3B-8675-46C0B929C83B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{66528BE6-FF53-4A3B-8675-46C0B929C83B}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{A9BAB840-A53E-405A-9458-CA0E02319FB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A9BAB840-A53E-405A-9458-CA0E02319FB4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A9BAB840-A53E-405A-9458-CA0E02319FB4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A9BAB840-A53E-405A-9458-CA0E02319FB4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5C40FA00-7D48-4F54-898C-01C8942E451D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5C40FA00-7D48-4F54-898C-01C8942E451D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5C40FA00-7D48-4F54-898C-01C8942E451D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5C40FA00-7D48-4F54-898C-01C8942E451D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{094FB109-1CBC-4B84-8CFB-072E7B3EC637}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{094FB109-1CBC-4B84-8CFB-072E7B3EC637}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{094FB109-1CBC-4B84-8CFB-072E7B3EC637}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{094FB109-1CBC-4B84-8CFB-072E7B3EC637}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F7A258F6-F4CB-4209-9E63-AECDB2E1F4ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F7A258F6-F4CB-4209-9E63-AECDB2E1F4ED}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F7A258F6-F4CB-4209-9E63-AECDB2E1F4ED}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F7A258F6-F4CB-4209-9E63-AECDB2E1F4ED}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F7B6C73A-6019-4EAE-9258-E08C0C57829F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F7B6C73A-6019-4EAE-9258-E08C0C57829F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F7B6C73A-6019-4EAE-9258-E08C0C57829F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F7B6C73A-6019-4EAE-9258-E08C0C57829F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{75DB635C-0035-46E7-9A33-857D38082503}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{75DB635C-0035-46E7-9A33-857D38082503}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{75DB635C-0035-46E7-9A33-857D38082503}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{75DB635C-0035-46E7-9A33-857D38082503}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{75DB635C-0035-46E7-9A33-857D38082503}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{75DB635C-0035-46E7-9A33-857D38082503}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{41CF73B5-D60E-4644-BA72-904CFF43C4AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{41CF73B5-D60E-4644-BA72-904CFF43C4AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{41CF73B5-D60E-4644-BA72-904CFF43C4AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{41CF73B5-D60E-4644-BA72-904CFF43C4AF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{DCA77B3F-73C2-488C-8D16-F5055DC3098C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DCA77B3F-73C2-488C-8D16-F5055DC3098C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DCA77B3F-73C2-488C-8D16-F5055DC3098C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DCA77B3F-73C2-488C-8D16-F5055DC3098C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A1B1052C-740D-4733-BB3F-8558B661E78D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A1B1052C-740D-4733-BB3F-8558B661E78D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A1B1052C-740D-4733-BB3F-8558B661E78D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A1B1052C-740D-4733-BB3F-8558B661E78D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{772E2531-2270-429A-9AFB-4AA0104AEF27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{772E2531-2270-429A-9AFB-4AA0104AEF27}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{772E2531-2270-429A-9AFB-4AA0104AEF27}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{772E2531-2270-429A-9AFB-4AA0104AEF27}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{742AB9F4-B2A3-464F-9584-7D07E28D0716}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{742AB9F4-B2A3-464F-9584-7D07E28D0716}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{742AB9F4-B2A3-464F-9584-7D07E28D0716}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{742AB9F4-B2A3-464F-9584-7D07E28D0716}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B2859A87-D1C2-4F34-B2C7-C19317CD5872}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B2859A87-D1C2-4F34-B2C7-C19317CD5872}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B2859A87-D1C2-4F34-B2C7-C19317CD5872}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B2859A87-D1C2-4F34-B2C7-C19317CD5872}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BB933AF2-9498-4C4E-9F76-AF66A550BED3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BB933AF2-9498-4C4E-9F76-AF66A550BED3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BB933AF2-9498-4C4E-9F76-AF66A550BED3}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{BB933AF2-9498-4C4E-9F76-AF66A550BED3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BB933AF2-9498-4C4E-9F76-AF66A550BED3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BB933AF2-9498-4C4E-9F76-AF66A550BED3}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C677BF3D-B234-491D-BA48-D9742DB564F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C677BF3D-B234-491D-BA48-D9742DB564F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C677BF3D-B234-491D-BA48-D9742DB564F8}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{C677BF3D-B234-491D-BA48-D9742DB564F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C677BF3D-B234-491D-BA48-D9742DB564F8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F7DB0CB3-D244-403A-8C3B-B1ED5E5838EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F7DB0CB3-D244-403A-8C3B-B1ED5E5838EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F7DB0CB3-D244-403A-8C3B-B1ED5E5838EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F7DB0CB3-D244-403A-8C3B-B1ED5E5838EC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -308,8 +458,8 @@ Global
|
|||
GlobalSection(NestedProjects) = preSolution
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452} = {E8AD265B-3C67-4640-AC58-A522F9FB3361}
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F} = {50C758FE-4E10-409A-94F5-A75480960864}
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D} = {123AA89E-1638-4E0E-B828-B8F9F9F906A2}
|
||||
{EB956381-F3E6-437C-9069-36B8BF5C6E2F} = {123AA89E-1638-4E0E-B828-B8F9F9F906A2}
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D} = {446EB407-57EB-441D-9ADB-1A006CBF672A}
|
||||
{EB956381-F3E6-437C-9069-36B8BF5C6E2F} = {446EB407-57EB-441D-9ADB-1A006CBF672A}
|
||||
{E1082E26-D700-4127-9329-66D673FD2D55} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
|
@ -317,11 +467,11 @@ Global
|
|||
{D7FE9FD0-144A-4199-93FC-3AD62325F1D6} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
{CB495F62-CFE6-4975-AED8-F26B6C5D0113} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18} = {50C758FE-4E10-409A-94F5-A75480960864}
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC} = {94F3C036-A5F4-4ACC-A028-8506802ADB88}
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC} = {A1D83459-24AC-4124-AE5F-09F0318AF0EB}
|
||||
{9909F93F-C085-4F76-B92A-5D8C516BF47D} = {F3FFE2E4-E89E-46A9-A180-FDA8908BA21D}
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4} = {50C758FE-4E10-409A-94F5-A75480960864}
|
||||
{DAAC2822-63B6-4DE0-83AE-04873CD2F364} = {72397ADB-40A8-4B8E-8E08-2DBE2803C845}
|
||||
{FBB3270F-1924-4A72-845E-A6DF39C402F6} = {6998CAA1-11D4-46B2-B80F-0AC882F58124}
|
||||
{FBB3270F-1924-4A72-845E-A6DF39C402F6} = {7AC28763-9C68-4BF9-A1BA-25CBFFD2D15C}
|
||||
{92644F6F-5946-48FC-A21A-A3D6EE24E8B3} = {C564DDD6-DE79-45CD-88EA-3F690481572A}
|
||||
{E8AD265B-3C67-4640-AC58-A522F9FB3361} = {09C264E9-E3F3-4586-9151-DCBB1F6DA7AB}
|
||||
{C564DDD6-DE79-45CD-88EA-3F690481572A} = {09C264E9-E3F3-4586-9151-DCBB1F6DA7AB}
|
||||
|
@ -331,8 +481,6 @@ Global
|
|||
{F9AEE4C0-9E67-4B87-932E-26EDF0FC932A} = {50C758FE-4E10-409A-94F5-A75480960864}
|
||||
{4515DAA4-9801-401D-A7A0-38D019B3B19F} = {A8E9400E-70DD-421F-8609-1C2FA4AE8E71}
|
||||
{22C17254-2CB4-4AE7-A558-E3208E1D19D3} = {50C758FE-4E10-409A-94F5-A75480960864}
|
||||
{ACE5B2A1-4DA9-47A9-8CE7-164595048E6E} = {6998CAA1-11D4-46B2-B80F-0AC882F58124}
|
||||
{E4B95A7E-968D-4970-80C9-A1CAD14E31EC} = {C564DDD6-DE79-45CD-88EA-3F690481572A}
|
||||
{F3FFE2E4-E89E-46A9-A180-FDA8908BA21D} = {D5478E0A-5D9C-4C1F-980C-7A9FC71F925E}
|
||||
{E25E7929-2423-4C8A-9B03-DC4C8B19A2E5} = {D5478E0A-5D9C-4C1F-980C-7A9FC71F925E}
|
||||
{05DB57B8-D0A5-499B-AD35-7093C2E9C9D7} = {E25E7929-2423-4C8A-9B03-DC4C8B19A2E5}
|
||||
|
@ -350,11 +498,44 @@ Global
|
|||
{02414DF4-FBE9-400B-8F3F-40DDC7F8FEFC} = {EC63FD88-5E12-46D7-B440-68F70241D987}
|
||||
{081EE5E5-69D4-493C-9EB4-47423C4728AB} = {EC63FD88-5E12-46D7-B440-68F70241D987}
|
||||
{6EDE0C1B-B718-4331-99BA-423042CDBE24} = {EC63FD88-5E12-46D7-B440-68F70241D987}
|
||||
{316C0861-069B-4572-879F-F01E568F33A2} = {7AC28763-9C68-4BF9-A1BA-25CBFFD2D15C}
|
||||
{E87D865B-4EA8-4A30-B6C1-572D2061D707} = {7AC28763-9C68-4BF9-A1BA-25CBFFD2D15C}
|
||||
{C60B92DA-96F2-41EF-8594-864164A82C6A} = {6998CAA1-11D4-46B2-B80F-0AC882F58124}
|
||||
{B8E69BF7-0F57-4959-867B-441E0428D169} = {C60B92DA-96F2-41EF-8594-864164A82C6A}
|
||||
{7AC28763-9C68-4BF9-A1BA-25CBFFD2D15C} = {6998CAA1-11D4-46B2-B80F-0AC882F58124}
|
||||
{33B599D2-B231-4D17-8957-397E24B0FE33} = {C564DDD6-DE79-45CD-88EA-3F690481572A}
|
||||
{A9D5F998-78D3-4DEE-883F-510A7C3AA587} = {C564DDD6-DE79-45CD-88EA-3F690481572A}
|
||||
{446EB407-57EB-441D-9ADB-1A006CBF672A} = {123AA89E-1638-4E0E-B828-B8F9F9F906A2}
|
||||
{A1D83459-24AC-4124-AE5F-09F0318AF0EB} = {94F3C036-A5F4-4ACC-A028-8506802ADB88}
|
||||
{420BC8CC-EE70-49A1-964A-CB63414A882D} = {94F3C036-A5F4-4ACC-A028-8506802ADB88}
|
||||
{66528BE6-FF53-4A3B-8675-46C0B929C83B} = {420BC8CC-EE70-49A1-964A-CB63414A882D}
|
||||
{A9BAB840-A53E-405A-9458-CA0E02319FB4} = {420BC8CC-EE70-49A1-964A-CB63414A882D}
|
||||
{5C40FA00-7D48-4F54-898C-01C8942E451D} = {50C758FE-4E10-409A-94F5-A75480960864}
|
||||
{25D0D27A-C5FE-443D-8B65-D6C987F4A80E} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{094FB109-1CBC-4B84-8CFB-072E7B3EC637} = {25D0D27A-C5FE-443D-8B65-D6C987F4A80E}
|
||||
{F7A258F6-F4CB-4209-9E63-AECDB2E1F4ED} = {25D0D27A-C5FE-443D-8B65-D6C987F4A80E}
|
||||
{F7B6C73A-6019-4EAE-9258-E08C0C57829F} = {25D0D27A-C5FE-443D-8B65-D6C987F4A80E}
|
||||
{75DB635C-0035-46E7-9A33-857D38082503} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
{D8CD878F-34BC-4393-881A-E3DD7348A13E} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{41CF73B5-D60E-4644-BA72-904CFF43C4AF} = {50C758FE-4E10-409A-94F5-A75480960864}
|
||||
{DCA77B3F-73C2-488C-8D16-F5055DC3098C} = {D8CD878F-34BC-4393-881A-E3DD7348A13E}
|
||||
{A1B1052C-740D-4733-BB3F-8558B661E78D} = {C564DDD6-DE79-45CD-88EA-3F690481572A}
|
||||
{FA181CD5-95AF-46B7-95D2-852F2398833C} = {123AA89E-1638-4E0E-B828-B8F9F9F906A2}
|
||||
{772E2531-2270-429A-9AFB-4AA0104AEF27} = {FF1F68E5-3474-4456-B67B-08526E51934E}
|
||||
{AE2513CB-4E5E-4E5C-8237-88954D4C9433} = {FF1F68E5-3474-4456-B67B-08526E51934E}
|
||||
{742AB9F4-B2A3-464F-9584-7D07E28D0716} = {446EB407-57EB-441D-9ADB-1A006CBF672A}
|
||||
{B2859A87-D1C2-4F34-B2C7-C19317CD5872} = {05D8C6AD-A954-4A36-A8EE-4148A6FB88C9}
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491} = {05D8C6AD-A954-4A36-A8EE-4148A6FB88C9}
|
||||
{85EBD2BA-EA5A-4B1F-AF16-81FBD58579DF} = {123AA89E-1638-4E0E-B828-B8F9F9F906A2}
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C} = {85EBD2BA-EA5A-4B1F-AF16-81FBD58579DF}
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE} = {85EBD2BA-EA5A-4B1F-AF16-81FBD58579DF}
|
||||
{05D8C6AD-A954-4A36-A8EE-4148A6FB88C9} = {123AA89E-1638-4E0E-B828-B8F9F9F906A2}
|
||||
{FF1F68E5-3474-4456-B67B-08526E51934E} = {FA181CD5-95AF-46B7-95D2-852F2398833C}
|
||||
{DDBA9144-36FC-429E-99E1-2A64825434C1} = {FA181CD5-95AF-46B7-95D2-852F2398833C}
|
||||
{BB933AF2-9498-4C4E-9F76-AF66A550BED3} = {FF1F68E5-3474-4456-B67B-08526E51934E}
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F} = {FF1F68E5-3474-4456-B67B-08526E51934E}
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541} = {DDBA9144-36FC-429E-99E1-2A64825434C1}
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB} = {DDBA9144-36FC-429E-99E1-2A64825434C1}
|
||||
{E175485B-3C8C-47D7-8DD5-F7FED627EB25} = {DDBA9144-36FC-429E-99E1-2A64825434C1}
|
||||
{95BF8553-3D9D-4831-ACDD-A3E697BC08A6} = {94F3C036-A5F4-4ACC-A028-8506802ADB88}
|
||||
{C677BF3D-B234-491D-BA48-D9742DB564F8} = {95BF8553-3D9D-4831-ACDD-A3E697BC08A6}
|
||||
{F7DB0CB3-D244-403A-8C3B-B1ED5E5838EC} = {95BF8553-3D9D-4831-ACDD-A3E697BC08A6}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {0B8ABEAD-D2B5-4370-A187-62B5ABE4EE50}
|
||||
|
|
|
@ -0,0 +1,411 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.31410.414
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core-net6", "src\Core\src\Core-net6.csproj", "{95BA42B5-B00E-4986-B9B5-517140378452}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Core-net6", "src\Controls\src\Core\Controls.Core-net6.csproj", "{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility-net6", "src\Compatibility\Core\src\Compatibility-net6.csproj", "{00A11C2F-969F-4964-8557-91ADF4B1523D}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Controls", "Controls", "{459BF674-83CB-46F6-881F-A2D2117DBF4D}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{E1082E26-D700-4127-9329-66D673FD2D55}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Sample-net6", "src\Controls\samples\Controls.Sample\Maui.Controls.Sample-net6.csproj", "{B8DC1324-977C-46F1-B697-9064ADE6099A}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Compatibility", "Compatibility", "{123AA89E-1638-4E0E-B828-B8F9F9F906A2}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{09C264E9-E3F3-4586-9151-DCBB1F6DA7AB}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Build.Tasks-net6", "src\Controls\src\Build.Tasks\Controls.Build.Tasks-net6.csproj", "{75C380E0-CE53-4C01-B89F-CF685331DE18}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Essentials", "Essentials", "{94F3C036-A5F4-4ACC-A028-8506802ADB88}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials-net6", "src\Essentials\src\Essentials-net6.csproj", "{39B47A3C-21CA-4B28-9250-14FD957EB0FC}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Xaml-net6", "src\Controls\src\Xaml\Controls.Xaml-net6.csproj", "{CC3D4667-D94E-4276-9311-6439BFD075E4}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{9F94CF92-5808-45B4-B08B-6E1B65389AD8}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{5774C01E-9D4D-47C0-BECD-1564EDE70926}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestUtils", "TestUtils", "{44510C11-7CBF-4FE4-9F23-AE1FEE743522}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils", "src\TestUtils\src\TestUtils\TestUtils.csproj", "{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.UnitTests-net6", "src\Core\tests\UnitTests\Core.UnitTests-net6.csproj", "{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BlazorWebView", "BlazorWebView", "{17CD1D1D-B4EA-4E7E-ABEF-945AC320936B}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Maps-net6", "src\Controls\Maps\src\Controls.Maps-net6.csproj", "{DE354790-6107-468A-B388-E1EFF1416240}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ControlGallery", "ControlGallery", "{802AA31E-051C-482F-9CA2-3F8FB11C251E}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Compatibility.ControlGallery.Issues.Shared", "src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.shproj", "{AE2513CB-4E5E-4E5C-8237-88954D4C9433}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.ControlGallery.Core-net6", "src\Compatibility\ControlGallery\src\Core\Compatibility.ControlGallery.Core-net6.csproj", "{63FFAE7F-72CE-4458-8C28-5D7733804816}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{E26E6C2A-F5A2-4FEF-BFDA-57ABA0F77D08}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.CustomAttributes", "src\Controls\tests\CustomAttributes\Controls.CustomAttributes.csproj", "{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{5C481AFC-E327-41A7-9FED-395519E6B4AF}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{3E56DEAA-CB3F-4905-BD59-8B3D31D04499}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.Windows.UnitTests", "src\Compatibility\Core\tests\WinUI\Compatibility.Windows.UnitTests.csproj", "{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C3870B28-291A-4DD8-862A-6ADC632E09D0}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{10F4E7CB-E20E-4393-BD88-FD7075AC4525}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Compatibility.UITests.Shared", "src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.Shared.shproj", "{E175485B-3C8C-47D7-8DD5-F7FED627EB25}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinUI.UITests", "src\Compatibility\ControlGallery\test\WinUI.UITests\WinUI.UITests.csproj", "{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiRazorClassLibrarySample", "src\BlazorWebView\samples\MauiRazorClassLibrarySample\MauiRazorClassLibrarySample.csproj", "{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.SourceGen-net6", "src\Controls\src\SourceGen\Controls.SourceGen-net6.csproj", "{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.WebView.WindowsForms", "src\BlazorWebView\src\WindowsForms\Microsoft.AspNetCore.Components.WebView.WindowsForms.csproj", "{43F6074F-F96B-4B3D-868D-536C5212489C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.WebView.Wpf", "src\BlazorWebView\src\Wpf\Microsoft.AspNetCore.Components.WebView.Wpf.csproj", "{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.WebView.WebView2", "src\BlazorWebView\src\WebView2\Microsoft.AspNetCore.Components.WebView.WebView2.csproj", "{F89D546F-717C-440A-B8A5-6B404D85D4CB}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.WebView.Maui", "src\BlazorWebView\src\Maui\Microsoft.AspNetCore.Components.WebView.Maui.csproj", "{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{F1F73414-B424-4077-B8BE-31483F4B2CFF}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebViewAppShared", "src\BlazorWebView\samples\WebViewAppShared\WebViewAppShared.csproj", "{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BlazorWinFormsApp", "src\BlazorWebView\samples\BlazorWinFormsApp\BlazorWinFormsApp.csproj", "{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BlazorWpfApp", "src\BlazorWebView\samples\BlazorWpfApp\BlazorWpfApp.csproj", "{D9232847-18A6-461E-B974-B48FC3D44811}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils.DeviceTests.Runners.SourceGen", "src\TestUtils\src\DeviceTests.Runners.SourceGen\TestUtils.DeviceTests.Runners.SourceGen.csproj", "{36A26976-BB1F-4B11-96B4-8042DE5F72EC}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C804DA95-C856-4090-8B0A-94F1691406FA}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{748E5A78-2A8E-4211-8584-95D73BE2F72B}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils.DeviceTests.Runners", "src\TestUtils\src\DeviceTests.Runners\TestUtils.DeviceTests.Runners.csproj", "{12B0CB4E-23EA-4824-AE29-8DD1FB845806}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils.DeviceTests.Sample", "src\TestUtils\samples\DeviceTests.Sample\TestUtils.DeviceTests.Sample.csproj", "{8A48532C-8522-4FED-88C4-63A078871977}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{7C68E109-0D43-46BB-8B41-8C439C4B9F02}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{CE647548-8401-475E-B819-7EBBCD689E7F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials.UnitTests-net6", "src\Essentials\test\UnitTests\Essentials.UnitTests-net6.csproj", "{D83EF2B4-AF82-415B-B676-460C5282BE21}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials.DeviceTests", "src\Essentials\test\DeviceTests\Essentials.DeviceTests.csproj", "{6CBE5266-3047-496E-A079-BA6F5B88038F}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{361A4F79-AB0F-423E-A1FD-BA5D0678C65F}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Templates", "Templates", "{A71D39F0-2BF0-49B3-A2C6-101580EDD304}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Maui.Templates", "src\Templates\src\Microsoft.Maui.Templates.csproj", "{BDB5477E-2440-42EC-8A9E-C6A4EDDBEAA3}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SingleProject", "SingleProject", "{6B940FCC-88EE-464E-B26F-BCDD56174E8A}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{6621B7CA-EDEA-46EC-B019-15F1E0B97F8D}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{7D96815E-D2BD-42ED-BE82-B2D0C9706301}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Resizetizer", "src\SingleProject\Resizetizer\src\Resizetizer.csproj", "{E0D575BC-45E8-4CA2-ADFA-6C3262B95D36}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Resizetizer.UnitTests-net6", "src\SingleProject\Resizetizer\test\UnitTests\Resizetizer.UnitTests-net6.csproj", "{0F88B718-7F93-43D8-A753-E498CB24E2A8}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.Benchmarks", "src\Core\tests\Benchmarks\Core.Benchmarks.csproj", "{32DD24E0-0409-4C9E-8088-A96C8EBD99DF}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.DeviceTests", "src\Core\tests\DeviceTests\Core.DeviceTests.csproj", "{53465DB2-9BFF-4975-B9D0-EA5C2479D979}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Core.Design-net6", "src\Controls\src\Core.Design\Controls.Core.Design-net6.csproj", "{D7D84756-60D1-4EDF-966C-32E063F68E5D}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Xaml.Design-net6", "src\Controls\src\Xaml.Design\Controls.Xaml.Design-net6.csproj", "{832711B9-EB4C-42A1-9E8A-A0D48AA75470}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Sample.WinUI", "src\Controls\samples\Controls.Sample.WinUI\Maui.Controls.Sample.WinUI.csproj", "{1FE34FFE-AAF6-4D0F-9802-8695EC9C586F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.ControlGallery.WinUI", "src\Compatibility\ControlGallery\src\WinUI\Compatibility.ControlGallery.WinUI.csproj", "{5BA5283D-710E-49D1-8EB9-EB61385107C5}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Core.UnitTests-net6", "src\Controls\tests\Core.UnitTests\Controls.Core.UnitTests-net6.csproj", "{033FD150-887A-44DB-A0E7-7555B1BF8B07}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Xaml.UnitTests-net6", "src\Controls\tests\Xaml.UnitTests\Controls.Xaml.UnitTests-net6.csproj", "{454208AB-7A1A-4445-96C7-CFE410F0D5D6}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{A2379B6A-CF92-4C97-8F72-FE9EAC669949}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials.Sample.Server.WebAuthenticator", "src\Essentials\samples\Sample.Server.WebAuthenticator\Essentials.Sample.Server.WebAuthenticator.csproj", "{32A4A924-C3CD-4FE3-A21E-DD018F0CC4BD}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials.Sample", "src\Essentials\samples\Samples\Essentials.Sample.csproj", "{B157321E-9FB6-430E-B36C-D389DDEC22DE}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Sample.SingleProject", "src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj", "{4A36C4F9-20BE-4BAC-9E6C-B030F2B65370}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{0a39a74b-6f7a-4d41-84f2-b0ccdce899df}*SharedItemsImports = 4
|
||||
src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.projitems*{0a39a74b-6f7a-4d41-84f2-b0ccdce899df}*SharedItemsImports = 4
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{63ffae7f-72ce-4458-8c28-5d7733804816}*SharedItemsImports = 5
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{ae2513cb-4e5e-4e5c-8237-88954d4c9433}*SharedItemsImports = 13
|
||||
src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.projitems*{e175485b-3c8c-47d7-8dd5-f7fed627eb25}*SharedItemsImports = 13
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{36A26976-BB1F-4B11-96B4-8042DE5F72EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{36A26976-BB1F-4B11-96B4-8042DE5F72EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{36A26976-BB1F-4B11-96B4-8042DE5F72EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{36A26976-BB1F-4B11-96B4-8042DE5F72EC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{12B0CB4E-23EA-4824-AE29-8DD1FB845806}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{12B0CB4E-23EA-4824-AE29-8DD1FB845806}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{12B0CB4E-23EA-4824-AE29-8DD1FB845806}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{12B0CB4E-23EA-4824-AE29-8DD1FB845806}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8A48532C-8522-4FED-88C4-63A078871977}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8A48532C-8522-4FED-88C4-63A078871977}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8A48532C-8522-4FED-88C4-63A078871977}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{8A48532C-8522-4FED-88C4-63A078871977}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8A48532C-8522-4FED-88C4-63A078871977}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8A48532C-8522-4FED-88C4-63A078871977}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{D83EF2B4-AF82-415B-B676-460C5282BE21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D83EF2B4-AF82-415B-B676-460C5282BE21}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D83EF2B4-AF82-415B-B676-460C5282BE21}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D83EF2B4-AF82-415B-B676-460C5282BE21}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6CBE5266-3047-496E-A079-BA6F5B88038F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6CBE5266-3047-496E-A079-BA6F5B88038F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6CBE5266-3047-496E-A079-BA6F5B88038F}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{6CBE5266-3047-496E-A079-BA6F5B88038F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6CBE5266-3047-496E-A079-BA6F5B88038F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6CBE5266-3047-496E-A079-BA6F5B88038F}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{BDB5477E-2440-42EC-8A9E-C6A4EDDBEAA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BDB5477E-2440-42EC-8A9E-C6A4EDDBEAA3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BDB5477E-2440-42EC-8A9E-C6A4EDDBEAA3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BDB5477E-2440-42EC-8A9E-C6A4EDDBEAA3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E0D575BC-45E8-4CA2-ADFA-6C3262B95D36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E0D575BC-45E8-4CA2-ADFA-6C3262B95D36}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E0D575BC-45E8-4CA2-ADFA-6C3262B95D36}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E0D575BC-45E8-4CA2-ADFA-6C3262B95D36}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0F88B718-7F93-43D8-A753-E498CB24E2A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0F88B718-7F93-43D8-A753-E498CB24E2A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0F88B718-7F93-43D8-A753-E498CB24E2A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0F88B718-7F93-43D8-A753-E498CB24E2A8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{32DD24E0-0409-4C9E-8088-A96C8EBD99DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{32DD24E0-0409-4C9E-8088-A96C8EBD99DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{32DD24E0-0409-4C9E-8088-A96C8EBD99DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{32DD24E0-0409-4C9E-8088-A96C8EBD99DF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{53465DB2-9BFF-4975-B9D0-EA5C2479D979}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{53465DB2-9BFF-4975-B9D0-EA5C2479D979}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{53465DB2-9BFF-4975-B9D0-EA5C2479D979}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{53465DB2-9BFF-4975-B9D0-EA5C2479D979}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{53465DB2-9BFF-4975-B9D0-EA5C2479D979}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{53465DB2-9BFF-4975-B9D0-EA5C2479D979}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{D7D84756-60D1-4EDF-966C-32E063F68E5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D7D84756-60D1-4EDF-966C-32E063F68E5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D7D84756-60D1-4EDF-966C-32E063F68E5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D7D84756-60D1-4EDF-966C-32E063F68E5D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{832711B9-EB4C-42A1-9E8A-A0D48AA75470}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{832711B9-EB4C-42A1-9E8A-A0D48AA75470}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{832711B9-EB4C-42A1-9E8A-A0D48AA75470}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{832711B9-EB4C-42A1-9E8A-A0D48AA75470}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1FE34FFE-AAF6-4D0F-9802-8695EC9C586F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1FE34FFE-AAF6-4D0F-9802-8695EC9C586F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1FE34FFE-AAF6-4D0F-9802-8695EC9C586F}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{1FE34FFE-AAF6-4D0F-9802-8695EC9C586F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1FE34FFE-AAF6-4D0F-9802-8695EC9C586F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1FE34FFE-AAF6-4D0F-9802-8695EC9C586F}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{5BA5283D-710E-49D1-8EB9-EB61385107C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5BA5283D-710E-49D1-8EB9-EB61385107C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5BA5283D-710E-49D1-8EB9-EB61385107C5}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{5BA5283D-710E-49D1-8EB9-EB61385107C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5BA5283D-710E-49D1-8EB9-EB61385107C5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5BA5283D-710E-49D1-8EB9-EB61385107C5}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{033FD150-887A-44DB-A0E7-7555B1BF8B07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{033FD150-887A-44DB-A0E7-7555B1BF8B07}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{033FD150-887A-44DB-A0E7-7555B1BF8B07}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{033FD150-887A-44DB-A0E7-7555B1BF8B07}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{454208AB-7A1A-4445-96C7-CFE410F0D5D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{454208AB-7A1A-4445-96C7-CFE410F0D5D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{454208AB-7A1A-4445-96C7-CFE410F0D5D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{454208AB-7A1A-4445-96C7-CFE410F0D5D6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{32A4A924-C3CD-4FE3-A21E-DD018F0CC4BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{32A4A924-C3CD-4FE3-A21E-DD018F0CC4BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{32A4A924-C3CD-4FE3-A21E-DD018F0CC4BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{32A4A924-C3CD-4FE3-A21E-DD018F0CC4BD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B157321E-9FB6-430E-B36C-D389DDEC22DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B157321E-9FB6-430E-B36C-D389DDEC22DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B157321E-9FB6-430E-B36C-D389DDEC22DE}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{B157321E-9FB6-430E-B36C-D389DDEC22DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B157321E-9FB6-430E-B36C-D389DDEC22DE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B157321E-9FB6-430E-B36C-D389DDEC22DE}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{4A36C4F9-20BE-4BAC-9E6C-B030F2B65370}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4A36C4F9-20BE-4BAC-9E6C-B030F2B65370}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4A36C4F9-20BE-4BAC-9E6C-B030F2B65370}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{4A36C4F9-20BE-4BAC-9E6C-B030F2B65370}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4A36C4F9-20BE-4BAC-9E6C-B030F2B65370}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4A36C4F9-20BE-4BAC-9E6C-B030F2B65370}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452} = {9F94CF92-5808-45B4-B08B-6E1B65389AD8}
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F} = {361A4F79-AB0F-423E-A1FD-BA5D0678C65F}
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D} = {3E56DEAA-CB3F-4905-BD59-8B3D31D04499}
|
||||
{E1082E26-D700-4127-9329-66D673FD2D55} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18} = {361A4F79-AB0F-423E-A1FD-BA5D0678C65F}
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC} = {7C68E109-0D43-46BB-8B41-8C439C4B9F02}
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4} = {361A4F79-AB0F-423E-A1FD-BA5D0678C65F}
|
||||
{9F94CF92-5808-45B4-B08B-6E1B65389AD8} = {09C264E9-E3F3-4586-9151-DCBB1F6DA7AB}
|
||||
{5774C01E-9D4D-47C0-BECD-1564EDE70926} = {09C264E9-E3F3-4586-9151-DCBB1F6DA7AB}
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE} = {C804DA95-C856-4090-8B0A-94F1691406FA}
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448} = {5774C01E-9D4D-47C0-BECD-1564EDE70926}
|
||||
{DE354790-6107-468A-B388-E1EFF1416240} = {361A4F79-AB0F-423E-A1FD-BA5D0678C65F}
|
||||
{802AA31E-051C-482F-9CA2-3F8FB11C251E} = {123AA89E-1638-4E0E-B828-B8F9F9F906A2}
|
||||
{AE2513CB-4E5E-4E5C-8237-88954D4C9433} = {C3870B28-291A-4DD8-862A-6ADC632E09D0}
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816} = {C3870B28-291A-4DD8-862A-6ADC632E09D0}
|
||||
{E26E6C2A-F5A2-4FEF-BFDA-57ABA0F77D08} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3} = {E26E6C2A-F5A2-4FEF-BFDA-57ABA0F77D08}
|
||||
{5C481AFC-E327-41A7-9FED-395519E6B4AF} = {123AA89E-1638-4E0E-B828-B8F9F9F906A2}
|
||||
{3E56DEAA-CB3F-4905-BD59-8B3D31D04499} = {123AA89E-1638-4E0E-B828-B8F9F9F906A2}
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB} = {5C481AFC-E327-41A7-9FED-395519E6B4AF}
|
||||
{C3870B28-291A-4DD8-862A-6ADC632E09D0} = {802AA31E-051C-482F-9CA2-3F8FB11C251E}
|
||||
{10F4E7CB-E20E-4393-BD88-FD7075AC4525} = {802AA31E-051C-482F-9CA2-3F8FB11C251E}
|
||||
{E175485B-3C8C-47D7-8DD5-F7FED627EB25} = {10F4E7CB-E20E-4393-BD88-FD7075AC4525}
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF} = {10F4E7CB-E20E-4393-BD88-FD7075AC4525}
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B} = {F1F73414-B424-4077-B8BE-31483F4B2CFF}
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E} = {361A4F79-AB0F-423E-A1FD-BA5D0678C65F}
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C} = {17CD1D1D-B4EA-4E7E-ABEF-945AC320936B}
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A} = {17CD1D1D-B4EA-4E7E-ABEF-945AC320936B}
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB} = {17CD1D1D-B4EA-4E7E-ABEF-945AC320936B}
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE} = {17CD1D1D-B4EA-4E7E-ABEF-945AC320936B}
|
||||
{F1F73414-B424-4077-B8BE-31483F4B2CFF} = {17CD1D1D-B4EA-4E7E-ABEF-945AC320936B}
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6} = {F1F73414-B424-4077-B8BE-31483F4B2CFF}
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79} = {F1F73414-B424-4077-B8BE-31483F4B2CFF}
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811} = {F1F73414-B424-4077-B8BE-31483F4B2CFF}
|
||||
{36A26976-BB1F-4B11-96B4-8042DE5F72EC} = {C804DA95-C856-4090-8B0A-94F1691406FA}
|
||||
{C804DA95-C856-4090-8B0A-94F1691406FA} = {44510C11-7CBF-4FE4-9F23-AE1FEE743522}
|
||||
{748E5A78-2A8E-4211-8584-95D73BE2F72B} = {44510C11-7CBF-4FE4-9F23-AE1FEE743522}
|
||||
{12B0CB4E-23EA-4824-AE29-8DD1FB845806} = {C804DA95-C856-4090-8B0A-94F1691406FA}
|
||||
{8A48532C-8522-4FED-88C4-63A078871977} = {748E5A78-2A8E-4211-8584-95D73BE2F72B}
|
||||
{7C68E109-0D43-46BB-8B41-8C439C4B9F02} = {94F3C036-A5F4-4ACC-A028-8506802ADB88}
|
||||
{CE647548-8401-475E-B819-7EBBCD689E7F} = {94F3C036-A5F4-4ACC-A028-8506802ADB88}
|
||||
{D83EF2B4-AF82-415B-B676-460C5282BE21} = {CE647548-8401-475E-B819-7EBBCD689E7F}
|
||||
{6CBE5266-3047-496E-A079-BA6F5B88038F} = {CE647548-8401-475E-B819-7EBBCD689E7F}
|
||||
{361A4F79-AB0F-423E-A1FD-BA5D0678C65F} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{BDB5477E-2440-42EC-8A9E-C6A4EDDBEAA3} = {A71D39F0-2BF0-49B3-A2C6-101580EDD304}
|
||||
{6621B7CA-EDEA-46EC-B019-15F1E0B97F8D} = {6B940FCC-88EE-464E-B26F-BCDD56174E8A}
|
||||
{7D96815E-D2BD-42ED-BE82-B2D0C9706301} = {6B940FCC-88EE-464E-B26F-BCDD56174E8A}
|
||||
{E0D575BC-45E8-4CA2-ADFA-6C3262B95D36} = {6621B7CA-EDEA-46EC-B019-15F1E0B97F8D}
|
||||
{0F88B718-7F93-43D8-A753-E498CB24E2A8} = {7D96815E-D2BD-42ED-BE82-B2D0C9706301}
|
||||
{32DD24E0-0409-4C9E-8088-A96C8EBD99DF} = {5774C01E-9D4D-47C0-BECD-1564EDE70926}
|
||||
{53465DB2-9BFF-4975-B9D0-EA5C2479D979} = {5774C01E-9D4D-47C0-BECD-1564EDE70926}
|
||||
{D7D84756-60D1-4EDF-966C-32E063F68E5D} = {361A4F79-AB0F-423E-A1FD-BA5D0678C65F}
|
||||
{832711B9-EB4C-42A1-9E8A-A0D48AA75470} = {361A4F79-AB0F-423E-A1FD-BA5D0678C65F}
|
||||
{1FE34FFE-AAF6-4D0F-9802-8695EC9C586F} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
{5BA5283D-710E-49D1-8EB9-EB61385107C5} = {C3870B28-291A-4DD8-862A-6ADC632E09D0}
|
||||
{033FD150-887A-44DB-A0E7-7555B1BF8B07} = {E26E6C2A-F5A2-4FEF-BFDA-57ABA0F77D08}
|
||||
{454208AB-7A1A-4445-96C7-CFE410F0D5D6} = {E26E6C2A-F5A2-4FEF-BFDA-57ABA0F77D08}
|
||||
{A2379B6A-CF92-4C97-8F72-FE9EAC669949} = {94F3C036-A5F4-4ACC-A028-8506802ADB88}
|
||||
{32A4A924-C3CD-4FE3-A21E-DD018F0CC4BD} = {A2379B6A-CF92-4C97-8F72-FE9EAC669949}
|
||||
{B157321E-9FB6-430E-B36C-D389DDEC22DE} = {A2379B6A-CF92-4C97-8F72-FE9EAC669949}
|
||||
{4A36C4F9-20BE-4BAC-9E6C-B030F2B65370} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {0B8ABEAD-D2B5-4370-A187-62B5ABE4EE50}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -1,85 +0,0 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.31410.414
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuspec", ".nuspec", "{7E12C50D-A570-4DF1-94E1-8599843FA87C}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.nuspec\Microsoft.Maui.Controls.Compatibility.Visual.Material.targets = .nuspec\Microsoft.Maui.Controls.Compatibility.Visual.Material.targets
|
||||
.nuspec\Microsoft.Maui.Controls.Debug.targets = .nuspec\Microsoft.Maui.Controls.Debug.targets
|
||||
.nuspec\Microsoft.Maui.Controls.DefaultItems.props = .nuspec\Microsoft.Maui.Controls.DefaultItems.props
|
||||
.nuspec\Microsoft.Maui.Controls.DefaultItems.targets = .nuspec\Microsoft.Maui.Controls.DefaultItems.targets
|
||||
.nuspec\Microsoft.Maui.Controls.MultiTargeting.targets = .nuspec\Microsoft.Maui.Controls.MultiTargeting.targets
|
||||
.nuspec\Microsoft.Maui.Controls.props = .nuspec\Microsoft.Maui.Controls.props
|
||||
.nuspec\Microsoft.Maui.Controls.SingleProject.props = .nuspec\Microsoft.Maui.Controls.SingleProject.props
|
||||
.nuspec\Microsoft.Maui.Controls.SingleProject.targets = .nuspec\Microsoft.Maui.Controls.SingleProject.targets
|
||||
.nuspec\Microsoft.Maui.Controls.targets = .nuspec\Microsoft.Maui.Controls.targets
|
||||
.nuspec\Microsoft.Maui.Resizetizer.targets = .nuspec\Microsoft.Maui.Resizetizer.targets
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Core-net6", "src\Controls\src\Core\Controls.Core-net6.csproj", "{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core-net6", "src\Core\src\Core-net6.csproj", "{29913989-0F70-48D8-8EDE-B1DD217F21D1}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Xaml-net6", "src\Controls\src\Xaml\Controls.Xaml-net6.csproj", "{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Build.Tasks-net6", "src\Controls\src\Build.Tasks\Controls.Build.Tasks-net6.csproj", "{C328C538-B69F-43D2-80EE-3C1EB8254CBA}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Resizetizer", "src\SingleProject\Resizetizer\src\Resizetizer.csproj", "{3E1D0DED-6B13-42C8-AA15-2EDFD8ECE80C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Resizetizer.UnitTests", "src\SingleProject\Resizetizer\test\UnitTests\Resizetizer.UnitTests.csproj", "{900BA626-5A26-4123-9A0E-43A0953B9053}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{FF16050F-B905-4DE1-92FA-8B9EC93EE009}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.SourceGen-net6", "src\Controls\src\SourceGen\Controls.SourceGen-net6.csproj", "{3E40598B-A52D-417D-B856-240847F6A43F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials-net6", "src\Essentials\src\Essentials-net6.csproj", "{63FDEDD9-C54C-44EE-A4BE-4C870D4CB68A}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3E1D0DED-6B13-42C8-AA15-2EDFD8ECE80C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3E1D0DED-6B13-42C8-AA15-2EDFD8ECE80C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3E1D0DED-6B13-42C8-AA15-2EDFD8ECE80C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3E1D0DED-6B13-42C8-AA15-2EDFD8ECE80C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{900BA626-5A26-4123-9A0E-43A0953B9053}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{900BA626-5A26-4123-9A0E-43A0953B9053}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{900BA626-5A26-4123-9A0E-43A0953B9053}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{900BA626-5A26-4123-9A0E-43A0953B9053}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3E40598B-A52D-417D-B856-240847F6A43F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3E40598B-A52D-417D-B856-240847F6A43F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3E40598B-A52D-417D-B856-240847F6A43F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3E40598B-A52D-417D-B856-240847F6A43F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{63FDEDD9-C54C-44EE-A4BE-4C870D4CB68A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{63FDEDD9-C54C-44EE-A4BE-4C870D4CB68A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{63FDEDD9-C54C-44EE-A4BE-4C870D4CB68A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{63FDEDD9-C54C-44EE-A4BE-4C870D4CB68A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{900BA626-5A26-4123-9A0E-43A0953B9053} = {FF16050F-B905-4DE1-92FA-8B9EC93EE009}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {650AE971-2F29-46A8-822C-FB4FCDC6A9A0}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"solution": {
|
||||
"path": "Microsoft.Maui-net6.sln",
|
||||
"projects": [
|
||||
"src\\Controls\\src\\Build.Tasks\\Controls.Build.Tasks-net6.csproj",
|
||||
"src\\Controls\\src\\Core\\Controls.Core-net6.csproj",
|
||||
"src\\Controls\\src\\Xaml\\Controls.Xaml-net6.csproj",
|
||||
"src\\Core\\src\\Core-net6.csproj",
|
||||
"src\\SingleProject\\Resizetizer\\src\\Resizetizer.csproj"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -44,7 +44,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Maui.Templates",
|
|||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestUtils", "TestUtils", "{6998CAA1-11D4-46B2-B80F-0AC882F58124}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils", "src\TestUtils\TestUtils\src\TestUtils.csproj", "{FBB3270F-1924-4A72-845E-A6DF39C402F6}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils", "src\TestUtils\src\TestUtils\TestUtils.csproj", "{FBB3270F-1924-4A72-845E-A6DF39C402F6}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.UnitTests", "src\Core\tests\UnitTests\Core.UnitTests.csproj", "{92644F6F-5946-48FC-A21A-A3D6EE24E8B3}"
|
||||
EndProject
|
||||
|
@ -58,7 +58,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Templates", "Templates", "{
|
|||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BlazorWebView", "BlazorWebView", "{1614D1A4-5C3D-4D5B-8C89-426E37A564EF}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.WebView.Maui", "src\BlazorWebView\src\core\Microsoft.AspNetCore.Components.WebView.Maui.csproj", "{F7F2B379-52CE-4802-9EC9-0D7967B6BFB7}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.WebView.Maui", "src\BlazorWebView\src\Maui\Microsoft.AspNetCore.Components.WebView.Maui.csproj", "{F7F2B379-52CE-4802-9EC9-0D7967B6BFB7}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiRazorClassLibrarySample", "src\BlazorWebView\samples\MauiRazorClassLibrarySample\MauiRazorClassLibrarySample.csproj", "{A33803A8-D398-49F3-B5E8-8C812237829A}"
|
||||
EndProject
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"solution": {
|
||||
"path": "Microsoft.Maui-net6.sln",
|
||||
"projects": [
|
||||
"src\\BlazorWebView\\src\\Maui\\Microsoft.AspNetCore.Components.WebView.Maui.csproj",
|
||||
"src\\BlazorWebView\\src\\WebView2\\Microsoft.AspNetCore.Components.WebView.WebView2.csproj",
|
||||
"src\\Compatibility\\Android.FormsViewGroup\\src\\Compatibility.Android.FormsViewGroup-net6.csproj",
|
||||
"src\\Compatibility\\Core\\src\\Compatibility-net6.csproj",
|
||||
"src\\Controls\\Maps\\src\\Controls.Maps-net6.csproj",
|
||||
"src\\Controls\\src\\Build.Tasks\\Controls.Build.Tasks-net6.csproj",
|
||||
"src\\Controls\\src\\Core.Design\\Controls.Core.Design-net6.csproj",
|
||||
"src\\Controls\\src\\Core\\Controls.Core-net6.csproj",
|
||||
"src\\Controls\\src\\SourceGen\\Controls.SourceGen-net6.csproj",
|
||||
"src\\Controls\\src\\Xaml.Design\\Controls.Xaml.Design-net6.csproj",
|
||||
"src\\Controls\\src\\Xaml\\Controls.Xaml-net6.csproj",
|
||||
"src\\Core\\src\\Core-net6.csproj",
|
||||
"src\\Essentials\\src\\Essentials-net6.csproj",
|
||||
"src\\SingleProject\\Resizetizer\\src\\Resizetizer.csproj",
|
||||
"src\\Templates\\src\\Microsoft.Maui.Templates.csproj",
|
||||
"src\\Workload\\Microsoft.Maui.Controls.Ref\\Microsoft.Maui.Controls.Ref.csproj",
|
||||
"src\\Workload\\Microsoft.Maui.Controls.Runtime\\Microsoft.Maui.Controls.Runtime.csproj",
|
||||
"src\\Workload\\Microsoft.Maui.Controls.Sdk\\Microsoft.Maui.Controls.Sdk.csproj",
|
||||
"src\\Workload\\Microsoft.Maui.Core.Ref\\Microsoft.Maui.Core.Ref.csproj",
|
||||
"src\\Workload\\Microsoft.Maui.Core.Runtime\\Microsoft.Maui.Core.Runtime.csproj",
|
||||
"src\\Workload\\Microsoft.Maui.Dependencies\\Microsoft.Maui.Dependencies.csproj",
|
||||
"src\\Workload\\Microsoft.Maui.Essentials.Ref\\Microsoft.Maui.Essentials.Ref.csproj",
|
||||
"src\\Workload\\Microsoft.Maui.Essentials.Runtime\\Microsoft.Maui.Essentials.Runtime.csproj",
|
||||
"src\\Workload\\Microsoft.Maui.Extensions\\Microsoft.Maui.Extensions.csproj",
|
||||
"src\\Workload\\Microsoft.Maui.Resizetizer.Sdk\\Microsoft.Maui.Resizetizer.Sdk.csproj",
|
||||
"src\\Workload\\Microsoft.NET.Sdk.Maui\\Microsoft.NET.Sdk.Maui.csproj"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"solution": {
|
||||
"path": "Microsoft.Maui-winui.sln",
|
||||
"projects": [
|
||||
"src\\BlazorWebView\\src\\Maui\\Microsoft.AspNetCore.Components.WebView.Maui.csproj",
|
||||
"src\\BlazorWebView\\src\\WebView2\\Microsoft.AspNetCore.Components.WebView.WebView2.csproj",
|
||||
"src\\BlazorWebView\\src\\WindowsForms\\Microsoft.AspNetCore.Components.WebView.WindowsForms.csproj",
|
||||
"src\\BlazorWebView\\src\\Wpf\\Microsoft.AspNetCore.Components.WebView.Wpf.csproj",
|
||||
"src\\Compatibility\\Core\\src\\Compatibility-net6.csproj",
|
||||
"src\\Controls\\Maps\\src\\Controls.Maps-net6.csproj",
|
||||
"src\\Controls\\src\\Build.Tasks\\Controls.Build.Tasks-net6.csproj",
|
||||
"src\\Controls\\src\\Core.Design\\Controls.Core.Design-net6.csproj",
|
||||
"src\\Controls\\src\\Core\\Controls.Core-net6.csproj",
|
||||
"src\\Controls\\src\\SourceGen\\Controls.SourceGen-net6.csproj",
|
||||
"src\\Controls\\src\\Xaml.Design\\Controls.Xaml.Design-net6.csproj",
|
||||
"src\\Controls\\src\\Xaml\\Controls.Xaml-net6.csproj",
|
||||
"src\\Core\\src\\Core-net6.csproj",
|
||||
"src\\Essentials\\src\\Essentials-net6.csproj",
|
||||
"src\\SingleProject\\Resizetizer\\src\\Resizetizer.csproj",
|
||||
"src\\Templates\\src\\Microsoft.Maui.Templates.csproj"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"solution": {
|
||||
"path": "Microsoft.Maui-winui.sln",
|
||||
"projects": [
|
||||
"src\\BlazorWebView\\src\\WebView2\\Microsoft.AspNetCore.Components.WebView.WebView2.csproj",
|
||||
"src\\BlazorWebView\\src\\WindowsForms\\Microsoft.AspNetCore.Components.WebView.WindowsForms.csproj",
|
||||
"src\\BlazorWebView\\src\\Wpf\\Microsoft.AspNetCore.Components.WebView.Wpf.csproj"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,612 +0,0 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30926.220
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core-net6", "src\Core\src\Core-net6.csproj", "{95BA42B5-B00E-4986-B9B5-517140378452}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Files", "Files", "{449F6071-A74F-4309-8D7B-7038CFD1B17B}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.nuspec\Microsoft.Maui.Controls.MultiTargeting.targets = .nuspec\Microsoft.Maui.Controls.MultiTargeting.targets
|
||||
README.md = README.md
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Core-net6", "src\Controls\src\Core\Controls.Core-net6.csproj", "{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility-net6", "src\Compatibility\Core\src\Compatibility-net6.csproj", "{00A11C2F-969F-4964-8557-91ADF4B1523D}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Controls", "Controls", "{459BF674-83CB-46F6-881F-A2D2117DBF4D}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{E1082E26-D700-4127-9329-66D673FD2D55}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Sample-net6", "src\Controls\samples\Controls.Sample\Maui.Controls.Sample-net6.csproj", "{B8DC1324-977C-46F1-B697-9064ADE6099A}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Compatibility", "Compatibility", "{123AA89E-1638-4E0E-B828-B8F9F9F906A2}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{09C264E9-E3F3-4586-9151-DCBB1F6DA7AB}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Build.Tasks-net6", "src\Controls\src\Build.Tasks\Controls.Build.Tasks-net6.csproj", "{75C380E0-CE53-4C01-B89F-CF685331DE18}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Essentials", "Essentials", "{94F3C036-A5F4-4ACC-A028-8506802ADB88}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials-net6", "src\Essentials\src\Essentials-net6.csproj", "{39B47A3C-21CA-4B28-9250-14FD957EB0FC}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Xaml-net6", "src\Controls\src\Xaml\Controls.Xaml-net6.csproj", "{CC3D4667-D94E-4276-9311-6439BFD075E4}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Sample.WinUI", "src\Controls\samples\Controls.Sample.WinUI\Maui.Controls.Sample.WinUI.csproj", "{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}"
|
||||
EndProject
|
||||
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "Maui.Controls.Sample.WinUI (Package)", "src\Controls\samples\Controls.Sample.WinUI (Package)\Maui.Controls.Sample.WinUI (Package).wapproj", "{503B7824-7376-450B-9EF7-EA587DF2C8BE}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{9F94CF92-5808-45B4-B08B-6E1B65389AD8}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{5774C01E-9D4D-47C0-BECD-1564EDE70926}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestUtils", "TestUtils", "{44510C11-7CBF-4FE4-9F23-AE1FEE743522}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils", "src\TestUtils\TestUtils\src\TestUtils.csproj", "{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.UnitTests", "src\Core\tests\UnitTests\Core.UnitTests.csproj", "{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BlazorWebView", "BlazorWebView", "{17CD1D1D-B4EA-4E7E-ABEF-945AC320936B}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Maps-net6", "src\Controls\Maps\src\Controls.Maps-net6.csproj", "{DE354790-6107-468A-B388-E1EFF1416240}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ControlGallery", "ControlGallery", "{802AA31E-051C-482F-9CA2-3F8FB11C251E}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Compatibility.ControlGallery.Issues.Shared", "src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.shproj", "{AE2513CB-4E5E-4E5C-8237-88954D4C9433}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.ControlGallery.Core-net6", "src\Compatibility\ControlGallery\src\Core\Compatibility.ControlGallery.Core-net6.csproj", "{63FFAE7F-72CE-4458-8C28-5D7733804816}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{E26E6C2A-F5A2-4FEF-BFDA-57ABA0F77D08}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.CustomAttributes", "src\Controls\tests\CustomAttributes\Controls.CustomAttributes.csproj", "{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{5C481AFC-E327-41A7-9FED-395519E6B4AF}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{3E56DEAA-CB3F-4905-BD59-8B3D31D04499}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.Windows.UnitTests", "src\Compatibility\Core\tests\WinUI\Compatibility.Windows.UnitTests.csproj", "{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.ControlGallery.WinUI", "src\Compatibility\ControlGallery\src\WinUI\Compatibility.ControlGallery.WinUI.csproj", "{6721124F-9975-4486-9FE7-263184E16061}"
|
||||
EndProject
|
||||
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "Compatibility.ControlGallery.WinUI (Package)", "src\Compatibility\ControlGallery\src\WinUI (Package)\Compatibility.ControlGallery.WinUI (Package).wapproj", "{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C3870B28-291A-4DD8-862A-6ADC632E09D0}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{10F4E7CB-E20E-4393-BD88-FD7075AC4525}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Compatibility.UITests.Shared", "src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.Shared.shproj", "{E175485B-3C8C-47D7-8DD5-F7FED627EB25}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinUI.UITests", "src\Compatibility\ControlGallery\test\WinUI.UITests\WinUI.UITests.csproj", "{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiRazorClassLibrarySample", "src\BlazorWebView\samples\MauiRazorClassLibrarySample\MauiRazorClassLibrarySample.csproj", "{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.SourceGen-net6", "src\Controls\src\SourceGen\Controls.SourceGen-net6.csproj", "{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.WebView.WindowsForms", "src\BlazorWebView\src\WindowsForms\Microsoft.AspNetCore.Components.WebView.WindowsForms.csproj", "{43F6074F-F96B-4B3D-868D-536C5212489C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.WebView.Wpf", "src\BlazorWebView\src\Wpf\Microsoft.AspNetCore.Components.WebView.Wpf.csproj", "{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.WebView.WebView2", "src\BlazorWebView\src\WebView2\Microsoft.AspNetCore.Components.WebView.WebView2.csproj", "{F89D546F-717C-440A-B8A5-6B404D85D4CB}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.WebView.Maui", "src\BlazorWebView\src\Maui\Microsoft.AspNetCore.Components.WebView.Maui.csproj", "{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{F1F73414-B424-4077-B8BE-31483F4B2CFF}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebViewAppShared", "src\BlazorWebView\samples\WebViewAppShared\WebViewAppShared.csproj", "{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BlazorWinFormsApp", "src\BlazorWebView\samples\BlazorWinFormsApp\BlazorWinFormsApp.csproj", "{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BlazorWpfApp", "src\BlazorWebView\samples\BlazorWpfApp\BlazorWpfApp.csproj", "{D9232847-18A6-461E-B974-B48FC3D44811}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{0a39a74b-6f7a-4d41-84f2-b0ccdce899df}*SharedItemsImports = 4
|
||||
src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.projitems*{0a39a74b-6f7a-4d41-84f2-b0ccdce899df}*SharedItemsImports = 4
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{63ffae7f-72ce-4458-8c28-5d7733804816}*SharedItemsImports = 5
|
||||
src\Compatibility\ControlGallery\src\Issues.Shared\Compatibility.ControlGallery.Issues.Shared.projitems*{ae2513cb-4e5e-4e5c-8237-88954d4c9433}*SharedItemsImports = 13
|
||||
src\Compatibility\ControlGallery\src\UITests.Shared\Compatibility.UITests.projitems*{e175485b-3c8c-47d7-8dd5-f7fed627eb25}*SharedItemsImports = 13
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|arm64 = Debug|arm64
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|arm64 = Release|arm64
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Release|x64.Build.0 = Release|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Release|x86.Build.0 = Release|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Release|x64.Build.0 = Release|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Release|x86.Build.0 = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|arm64.Deploy.0 = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|x64.Deploy.0 = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|x86.Deploy.0 = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|arm64.Deploy.0 = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|x64.Build.0 = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|x64.Deploy.0 = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|x86.Build.0 = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|x86.Deploy.0 = Release|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Release|x64.Build.0 = Release|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18}.Release|x86.Build.0 = Release|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Release|x64.Build.0 = Release|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC}.Release|x86.Build.0 = Release|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Release|x64.Build.0 = Release|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4}.Release|x86.Build.0 = Release|Any CPU
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Debug|Any CPU.ActiveCfg = Debug|x64
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Debug|Any CPU.Build.0 = Debug|x64
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Debug|arm64.ActiveCfg = Debug|arm64
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Debug|arm64.Build.0 = Debug|arm64
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Debug|x64.Build.0 = Debug|x64
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Debug|x86.Build.0 = Debug|x86
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Release|arm64.ActiveCfg = Release|arm64
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Release|arm64.Build.0 = Release|arm64
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Release|x64.ActiveCfg = Release|x64
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Release|x64.Build.0 = Release|x64
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Release|x86.ActiveCfg = Release|x86
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53}.Release|x86.Build.0 = Release|x86
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Debug|Any CPU.ActiveCfg = Debug|x64
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Debug|arm64.ActiveCfg = Debug|arm64
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Debug|arm64.Build.0 = Debug|arm64
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Debug|arm64.Deploy.0 = Debug|arm64
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Debug|x64.Build.0 = Debug|x64
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Debug|x86.Build.0 = Debug|x86
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Debug|x86.Deploy.0 = Debug|x86
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Release|arm64.ActiveCfg = Release|arm64
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Release|arm64.Build.0 = Release|arm64
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Release|arm64.Deploy.0 = Release|arm64
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Release|x64.ActiveCfg = Release|x64
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Release|x64.Build.0 = Release|x64
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Release|x64.Deploy.0 = Release|x64
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Release|x86.ActiveCfg = Release|x86
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Release|x86.Build.0 = Release|x86
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE}.Release|x86.Deploy.0 = Release|x86
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Release|x64.Build.0 = Release|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE}.Release|x86.Build.0 = Release|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Release|x64.Build.0 = Release|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448}.Release|x86.Build.0 = Release|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Release|x64.Build.0 = Release|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{DE354790-6107-468A-B388-E1EFF1416240}.Release|x86.Build.0 = Release|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Release|x64.Build.0 = Release|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Release|x64.Build.0 = Release|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3}.Release|x86.Build.0 = Release|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Release|x64.Build.0 = Release|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB}.Release|x86.Build.0 = Release|Any CPU
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Debug|Any CPU.ActiveCfg = Debug|x64
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Debug|Any CPU.Build.0 = Debug|x64
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Debug|arm64.ActiveCfg = Debug|arm64
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Debug|arm64.Build.0 = Debug|arm64
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Debug|x64.Build.0 = Debug|x64
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Debug|x86.Build.0 = Debug|x86
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Release|arm64.ActiveCfg = Release|arm64
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Release|arm64.Build.0 = Release|arm64
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Release|x64.ActiveCfg = Release|x64
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Release|x64.Build.0 = Release|x64
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Release|x86.ActiveCfg = Release|x86
|
||||
{6721124F-9975-4486-9FE7-263184E16061}.Release|x86.Build.0 = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|arm64.ActiveCfg = Debug|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|arm64.Build.0 = Debug|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|arm64.Deploy.0 = Debug|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x64.Build.0 = Debug|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x86.Build.0 = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x86.Deploy.0 = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|arm64.ActiveCfg = Release|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|arm64.Build.0 = Release|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|arm64.Deploy.0 = Release|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x64.ActiveCfg = Release|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x64.Build.0 = Release|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x64.Deploy.0 = Release|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x86.ActiveCfg = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x86.Build.0 = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x86.Deploy.0 = Release|x86
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Release|x64.Build.0 = Release|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B}.Release|x86.Build.0 = Release|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Release|x64.Build.0 = Release|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E}.Release|x86.Build.0 = Release|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Release|x64.Build.0 = Release|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB}.Release|x86.Build.0 = Release|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Release|x64.Build.0 = Release|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE}.Release|x86.Build.0 = Release|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Release|x64.Build.0 = Release|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79}.Release|x86.Build.0 = Release|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Release|x64.Build.0 = Release|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452} = {9F94CF92-5808-45B4-B08B-6E1B65389AD8}
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D} = {3E56DEAA-CB3F-4905-BD59-8B3D31D04499}
|
||||
{E1082E26-D700-4127-9329-66D673FD2D55} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
{75C380E0-CE53-4C01-B89F-CF685331DE18} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{39B47A3C-21CA-4B28-9250-14FD957EB0FC} = {94F3C036-A5F4-4ACC-A028-8506802ADB88}
|
||||
{CC3D4667-D94E-4276-9311-6439BFD075E4} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{B82F17CF-3D08-4D07-BF86-DF48D89E0B53} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
{503B7824-7376-450B-9EF7-EA587DF2C8BE} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
{9F94CF92-5808-45B4-B08B-6E1B65389AD8} = {09C264E9-E3F3-4586-9151-DCBB1F6DA7AB}
|
||||
{5774C01E-9D4D-47C0-BECD-1564EDE70926} = {09C264E9-E3F3-4586-9151-DCBB1F6DA7AB}
|
||||
{CAD6061F-A1B1-41B3-B906-6C6C0BD850EE} = {44510C11-7CBF-4FE4-9F23-AE1FEE743522}
|
||||
{CB3EEB1E-311B-4BF6-9E1A-9CEF74200448} = {5774C01E-9D4D-47C0-BECD-1564EDE70926}
|
||||
{DE354790-6107-468A-B388-E1EFF1416240} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{802AA31E-051C-482F-9CA2-3F8FB11C251E} = {123AA89E-1638-4E0E-B828-B8F9F9F906A2}
|
||||
{AE2513CB-4E5E-4E5C-8237-88954D4C9433} = {C3870B28-291A-4DD8-862A-6ADC632E09D0}
|
||||
{63FFAE7F-72CE-4458-8C28-5D7733804816} = {C3870B28-291A-4DD8-862A-6ADC632E09D0}
|
||||
{E26E6C2A-F5A2-4FEF-BFDA-57ABA0F77D08} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{F918CD6C-0A26-4D04-AB22-AF02C4D615A3} = {E26E6C2A-F5A2-4FEF-BFDA-57ABA0F77D08}
|
||||
{5C481AFC-E327-41A7-9FED-395519E6B4AF} = {123AA89E-1638-4E0E-B828-B8F9F9F906A2}
|
||||
{3E56DEAA-CB3F-4905-BD59-8B3D31D04499} = {123AA89E-1638-4E0E-B828-B8F9F9F906A2}
|
||||
{ADAA2498-16D1-4A1E-ADAA-9F46967FADDB} = {5C481AFC-E327-41A7-9FED-395519E6B4AF}
|
||||
{6721124F-9975-4486-9FE7-263184E16061} = {C3870B28-291A-4DD8-862A-6ADC632E09D0}
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6} = {C3870B28-291A-4DD8-862A-6ADC632E09D0}
|
||||
{C3870B28-291A-4DD8-862A-6ADC632E09D0} = {802AA31E-051C-482F-9CA2-3F8FB11C251E}
|
||||
{10F4E7CB-E20E-4393-BD88-FD7075AC4525} = {802AA31E-051C-482F-9CA2-3F8FB11C251E}
|
||||
{E175485B-3C8C-47D7-8DD5-F7FED627EB25} = {10F4E7CB-E20E-4393-BD88-FD7075AC4525}
|
||||
{0A39A74B-6F7A-4D41-84F2-B0CCDCE899DF} = {10F4E7CB-E20E-4393-BD88-FD7075AC4525}
|
||||
{1373F90D-D4BA-4A76-BDB8-FAD569BD682B} = {F1F73414-B424-4077-B8BE-31483F4B2CFF}
|
||||
{8E6FFD4B-1D9E-4CAF-A798-33D81F22EA8E} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{43F6074F-F96B-4B3D-868D-536C5212489C} = {17CD1D1D-B4EA-4E7E-ABEF-945AC320936B}
|
||||
{41ABBA34-33FF-4A65-BB18-E55DF4D9711A} = {17CD1D1D-B4EA-4E7E-ABEF-945AC320936B}
|
||||
{F89D546F-717C-440A-B8A5-6B404D85D4CB} = {17CD1D1D-B4EA-4E7E-ABEF-945AC320936B}
|
||||
{6C4BE40E-269F-4B17-8DCD-AD7BDBAD83FE} = {17CD1D1D-B4EA-4E7E-ABEF-945AC320936B}
|
||||
{F1F73414-B424-4077-B8BE-31483F4B2CFF} = {17CD1D1D-B4EA-4E7E-ABEF-945AC320936B}
|
||||
{7FE7653D-289E-47B7-B30F-4B6BF9389ED6} = {F1F73414-B424-4077-B8BE-31483F4B2CFF}
|
||||
{F67D81FF-3022-49EA-ADAB-FFD2138E9B79} = {F1F73414-B424-4077-B8BE-31483F4B2CFF}
|
||||
{D9232847-18A6-461E-B974-B48FC3D44811} = {F1F73414-B424-4077-B8BE-31483F4B2CFF}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {0B8ABEAD-D2B5-4370-A187-62B5ABE4EE50}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -96,7 +96,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Xaml.UnitTests", "
|
|||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestUtils", "TestUtils", "{0F9BA970-11B1-4ACA-AF41-1021AFC0F29C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils", "src\TestUtils\TestUtils\src\TestUtils.csproj", "{E4CB9988-7348-4D55-A08E-85907732F8DA}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils", "src\TestUtils\src\TestUtils\TestUtils.csproj", "{E4CB9988-7348-4D55-A08E-85907732F8DA}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils.DeviceTests", "src\TestUtils\TestUtils.DeviceTests\src\TestUtils.DeviceTests.csproj", "{551B2209-4298-4D60-B55C-79077B8BC244}"
|
||||
EndProject
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30503.244
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.31519.186
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Controls", "Controls", "{9AD757F5-E57A-459D-A0A7-E0675E045B84}"
|
||||
EndProject
|
||||
|
@ -58,12 +58,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Build.Tasks", "src
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.UnitTests", "src\Core\tests\UnitTests\Core.UnitTests.csproj", "{7A753001-1C3D-404D-A421-2E052A545EAC}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.DeviceTests", "src\Core\tests\DeviceTests\Core.DeviceTests.csproj", "{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.DeviceTests.Android", "src\Core\tests\DeviceTests.Android\Core.DeviceTests.Android.csproj", "{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.DeviceTests.iOS", "src\Core\tests\DeviceTests.iOS\Core.DeviceTests.iOS.csproj", "{EE8FC716-27FC-405B-BD27-AF17E01A6671}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Essentials", "Essentials", "{DFD73007-5DB1-43AD-87A8-BD8622C2B192}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{7E12E071-51C0-4668-9FF3-E2DE9DC51962}"
|
||||
|
@ -74,22 +68,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{99FDF6CA-D
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials.UnitTests", "src\Essentials\test\UnitTests\Essentials.UnitTests.csproj", "{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Essentials.DeviceTests.iOS", "src\Essentials\test\DeviceTests.iOS\Essentials.DeviceTests.iOS.csproj", "{B73EB308-70BE-49FD-91A7-1D1495663D6D}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials.DeviceTests.Shared", "src\Essentials\test\DeviceTests.Shared\Essentials.DeviceTests.Shared.csproj", "{81128D28-CFC8-4EA4-B68D-9939339C461A}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{5817A848-0B04-4035-9F7E-B8621B61CBDD}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Essentials.Samples.iOS", "src\Essentials\samples\Samples.iOS\Essentials.Samples.iOS.csproj", "{AB6242B7-634F-4839-A991-7629D0D2C636}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Essentials.Samples.Android", "src\Essentials\samples\Samples.Android\Essentials.Samples.Android.csproj", "{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials.Samples", "src\Essentials\samples\Samples\Essentials.Samples.csproj", "{2C69EB76-02C4-4921-96A1-4D70CB7CE744}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials.Sample.Server.WebAuthenticator", "src\Essentials\samples\Sample.Server.WebAuthenticator\Essentials.Sample.Server.WebAuthenticator.csproj", "{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.Benchmarks", "src\Core\tests\Benchmarks\Core.Benchmarks.csproj", "{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{806499EB-C2CC-4E85-BC19-613F3DE5E0C3}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Sample", "src\Controls\samples\Controls.Sample\Controls.Sample.csproj", "{90B727DD-4C7B-4462-950F-61842A87DE8A}"
|
||||
|
@ -104,11 +82,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Xaml.UnitTests", "
|
|||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestUtils", "TestUtils", "{0F9BA970-11B1-4ACA-AF41-1021AFC0F29C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils", "src\TestUtils\TestUtils\src\TestUtils.csproj", "{E4CB9988-7348-4D55-A08E-85907732F8DA}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils.DeviceTests", "src\TestUtils\TestUtils.DeviceTests\src\TestUtils.DeviceTests.csproj", "{551B2209-4298-4D60-B55C-79077B8BC244}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Essentials.DeviceTests.UWP", "src\Essentials\test\DeviceTests.UWP\Essentials.DeviceTests.UWP.csproj", "{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestUtils", "src\TestUtils\src\TestUtils\TestUtils.csproj", "{E4CB9988-7348-4D55-A08E-85907732F8DA}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Resizetizer", "Resizetizer", "{4A3BAF64-E9D9-4036-9FDA-8B326C382667}"
|
||||
EndProject
|
||||
|
@ -120,8 +94,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Resizetizer", "src\SinglePr
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Resizetizer.UnitTests", "src\SingleProject\Resizetizer\test\UnitTests\Resizetizer.UnitTests.csproj", "{BDFA84D6-6C6B-44C9-ABC5-563CFD0C4DB5}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Essentials.DeviceTests.Android", "src\Essentials\test\DeviceTests.Android\Essentials.DeviceTests.Android.csproj", "{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SingleProject", "SingleProject", "{15878D2D-B0F1-4EE9-875D-4A643DB0C842}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.CustomAttributes", "src\Controls\tests\CustomAttributes\Controls.CustomAttributes.csproj", "{D816B818-F58F-4738-93AE-924EFAB7A07F}"
|
||||
|
@ -354,108 +326,6 @@ Global
|
|||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|x86.Build.0 = Release|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Release|x64.Build.0 = Release|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6}.Release|x86.Build.0 = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|ARM.Deploy.0 = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|ARM64.Deploy.0 = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|iPhone.Deploy.0 = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|x64.Deploy.0 = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Debug|x86.Deploy.0 = Debug|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|ARM.Deploy.0 = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|ARM64.Deploy.0 = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|iPhone.Deploy.0 = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|x64.Build.0 = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|x64.Deploy.0 = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|x86.Build.0 = Release|Any CPU
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105}.Release|x86.Deploy.0 = Release|Any CPU
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|Any CPU.Deploy.0 = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|ARM.Build.0 = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|ARM64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|ARM64.Build.0 = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|iPhone.Build.0 = Debug|iPhone
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|iPhone.Deploy.0 = Debug|iPhone
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|iPhoneSimulator.Deploy.0 = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|x64.Build.0 = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|x64.Deploy.0 = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Debug|x86.Build.0 = Debug|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Release|Any CPU.Build.0 = Release|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Release|ARM.ActiveCfg = Release|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Release|ARM.Build.0 = Release|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Release|ARM64.ActiveCfg = Release|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Release|ARM64.Build.0 = Release|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Release|iPhone.ActiveCfg = Release|iPhone
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Release|iPhone.Build.0 = Release|iPhone
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Release|x64.ActiveCfg = Release|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Release|x64.Build.0 = Release|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Release|x86.ActiveCfg = Release|iPhoneSimulator
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671}.Release|x86.Build.0 = Release|iPhoneSimulator
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
|
@ -512,204 +382,6 @@ Global
|
|||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|x64.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|x86.Build.0 = Release|Any CPU
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|ARM64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhone.Build.0 = Debug|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhone.Deploy.0 = Debug|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|x64.Build.0 = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|x64.Deploy.0 = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|ARM.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|ARM64.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|iPhone.ActiveCfg = Release|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|iPhone.Build.0 = Release|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|x64.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|x86.ActiveCfg = Release|iPhoneSimulator
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|ARM64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhone.Build.0 = Debug|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhone.Deploy.0 = Debug|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|x64.Build.0 = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|x64.Deploy.0 = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|ARM.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|ARM64.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|iPhone.ActiveCfg = Release|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|iPhone.Build.0 = Release|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|x64.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|x86.ActiveCfg = Release|iPhoneSimulator
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM64.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhone.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x64.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x86.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM64.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhone.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x64.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x86.Deploy.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|x64.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|x86.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Release|x64.Build.0 = Release|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424}.Release|x86.Build.0 = Release|Any CPU
|
||||
{90B727DD-4C7B-4462-950F-61842A87DE8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{90B727DD-4C7B-4462-950F-61842A87DE8A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{90B727DD-4C7B-4462-950F-61842A87DE8A}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
|
@ -883,66 +555,6 @@ Global
|
|||
{E4CB9988-7348-4D55-A08E-85907732F8DA}.Release|x64.Build.0 = Release|Any CPU
|
||||
{E4CB9988-7348-4D55-A08E-85907732F8DA}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{E4CB9988-7348-4D55-A08E-85907732F8DA}.Release|x86.Build.0 = Release|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Release|x64.Build.0 = Release|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244}.Release|x86.Build.0 = Release|Any CPU
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|Any CPU.Build.0 = Debug|x86
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|Any CPU.Deploy.0 = Debug|x86
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|ARM.Deploy.0 = Debug|ARM
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|iPhone.ActiveCfg = Debug|x86
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|x64.Build.0 = Debug|x64
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|x86.Build.0 = Debug|x86
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Debug|x86.Deploy.0 = Debug|x86
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|ARM.Build.0 = Release|ARM
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|ARM.Deploy.0 = Release|ARM
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|iPhone.ActiveCfg = Release|x86
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|iPhoneSimulator.ActiveCfg = Release|x86
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|x64.ActiveCfg = Release|x64
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|x64.Build.0 = Release|x64
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|x64.Deploy.0 = Release|x64
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|x86.ActiveCfg = Release|x86
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|x86.Build.0 = Release|x86
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B}.Release|x86.Deploy.0 = Release|x86
|
||||
{3E1D0DED-6B13-42C8-AA15-2EDFD8ECE80C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3E1D0DED-6B13-42C8-AA15-2EDFD8ECE80C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3E1D0DED-6B13-42C8-AA15-2EDFD8ECE80C}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
|
@ -999,48 +611,6 @@ Global
|
|||
{BDFA84D6-6C6B-44C9-ABC5-563CFD0C4DB5}.Release|x64.Build.0 = Release|Any CPU
|
||||
{BDFA84D6-6C6B-44C9-ABC5-563CFD0C4DB5}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{BDFA84D6-6C6B-44C9-ABC5-563CFD0C4DB5}.Release|x86.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM64.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhone.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x64.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x86.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM64.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhone.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x64.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x64.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x86.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x86.Deploy.0 = Release|Any CPU
|
||||
{D816B818-F58F-4738-93AE-924EFAB7A07F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D816B818-F58F-4738-93AE-924EFAB7A07F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D816B818-F58F-4738-93AE-924EFAB7A07F}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
|
@ -1199,21 +769,10 @@ Global
|
|||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27} = {D5B986A3-7FC9-437E-8030-349AA4698DFD}
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA} = {D5B986A3-7FC9-437E-8030-349AA4698DFD}
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC} = {2ACC7FFA-238F-44FD-93CB-4D9B17D8C4BA}
|
||||
{DA9E4D76-8CA4-4CC3-A47C-BA75DFF805C6} = {2ACC7FFA-238F-44FD-93CB-4D9B17D8C4BA}
|
||||
{A0B8D99F-4C0E-4D47-8182-9E8879A9B105} = {2ACC7FFA-238F-44FD-93CB-4D9B17D8C4BA}
|
||||
{EE8FC716-27FC-405B-BD27-AF17E01A6671} = {2ACC7FFA-238F-44FD-93CB-4D9B17D8C4BA}
|
||||
{7E12E071-51C0-4668-9FF3-E2DE9DC51962} = {DFD73007-5DB1-43AD-87A8-BD8622C2B192}
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549} = {7E12E071-51C0-4668-9FF3-E2DE9DC51962}
|
||||
{99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232} = {DFD73007-5DB1-43AD-87A8-BD8622C2B192}
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886} = {99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D} = {99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A} = {99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}
|
||||
{5817A848-0B04-4035-9F7E-B8621B61CBDD} = {DFD73007-5DB1-43AD-87A8-BD8622C2B192}
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{73100F0D-C0BB-4F16-8FC2-FA3FA8ACD424} = {2ACC7FFA-238F-44FD-93CB-4D9B17D8C4BA}
|
||||
{806499EB-C2CC-4E85-BC19-613F3DE5E0C3} = {9AD757F5-E57A-459D-A0A7-E0675E045B84}
|
||||
{90B727DD-4C7B-4462-950F-61842A87DE8A} = {806499EB-C2CC-4E85-BC19-613F3DE5E0C3}
|
||||
{676C1EE2-C2B3-4C01-9781-3DAE0995D2FE} = {806499EB-C2CC-4E85-BC19-613F3DE5E0C3}
|
||||
|
@ -1221,14 +780,11 @@ Global
|
|||
{F2379E0F-524F-47BC-877C-0428E4C836D4} = {D5B986A3-7FC9-437E-8030-349AA4698DFD}
|
||||
{F905B72C-4DF7-408B-8B2B-50F9B8246A5E} = {75A2CD30-BB85-4CA6-AC95-86A8A538A690}
|
||||
{E4CB9988-7348-4D55-A08E-85907732F8DA} = {0F9BA970-11B1-4ACA-AF41-1021AFC0F29C}
|
||||
{551B2209-4298-4D60-B55C-79077B8BC244} = {0F9BA970-11B1-4ACA-AF41-1021AFC0F29C}
|
||||
{4BD0D88F-7E7A-4C3B-9E34-BF3717A8FF4B} = {99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}
|
||||
{4A3BAF64-E9D9-4036-9FDA-8B326C382667} = {15878D2D-B0F1-4EE9-875D-4A643DB0C842}
|
||||
{F83AC93C-9694-4A01-B9CB-7AA8E514B01F} = {4A3BAF64-E9D9-4036-9FDA-8B326C382667}
|
||||
{08F720FF-7530-43BF-A252-8946927669E3} = {4A3BAF64-E9D9-4036-9FDA-8B326C382667}
|
||||
{3E1D0DED-6B13-42C8-AA15-2EDFD8ECE80C} = {08F720FF-7530-43BF-A252-8946927669E3}
|
||||
{BDFA84D6-6C6B-44C9-ABC5-563CFD0C4DB5} = {F83AC93C-9694-4A01-B9CB-7AA8E514B01F}
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1} = {99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}
|
||||
{D816B818-F58F-4738-93AE-924EFAB7A07F} = {75A2CD30-BB85-4CA6-AC95-86A8A538A690}
|
||||
{AE2513CB-4E5E-4E5C-8237-88954D4C9433} = {75A2CD30-BB85-4CA6-AC95-86A8A538A690}
|
||||
{B5F94CCB-5868-43BD-89B5-B66C97C3A741} = {75A2CD30-BB85-4CA6-AC95-86A8A538A690}
|
||||
|
|
|
@ -1,676 +0,0 @@
|
|||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/DEFAULT_PRIVATE_MODIFIER/@EntryValue">Implicit</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ANONYMOUS_METHOD_DECLARATION_BRACES/@EntryValue">NEXT_LINE</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/CASE_BLOCK_BRACES/@EntryValue">NEXT_LINE</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/INITIALIZER_BRACES/@EntryValue">NEXT_LINE</s:String>
|
||||
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_BLANK_LINES_IN_CODE/@EntryValue">1</s:Int64>
|
||||
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_BLANK_LINES_IN_DECLARATIONS/@EntryValue">1</s:Int64>
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/OTHER_BRACES/@EntryValue">NEXT_LINE</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_IFELSE_BRACES_STYLE/@EntryValue">ONLY_FOR_MULTILINE</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_FOR_BRACES_STYLE/@EntryValue">ONLY_FOR_MULTILINE</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_FOREACH_BRACES_STYLE/@EntryValue">ONLY_FOR_MULTILINE</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_WHILE_BRACES_STYLE/@EntryValue">ONLY_FOR_MULTILINE</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_USING_BRACES_STYLE/@EntryValue">ONLY_FOR_MULTILINE</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/FORCE_FIXED_BRACES_STYLE/@EntryValue">ONLY_FOR_MULTILINE</s:String>
|
||||
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AROUND_SINGLE_LINE_AUTO_PROPERTY/@EntryValue">1</s:Int64>
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_ELSE_ON_NEW_LINE/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_CATCH_ON_NEW_LINE/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_FINALLY_ON_NEW_LINE/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AFTER_TYPECAST_PARENTHESES/@EntryValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_BEFORE_IF_PARENTHESES/@EntryValue">True</s:Boolean>
|
||||
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_BEFORE_LOCK_PARENTHESES/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_BEFORE_METHOD_CALL_PARENTHESES/@EntryValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_BEFORE_EMPTY_METHOD_CALL_PARENTHESES/@EntryValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_BEFORE_METHOD_PARENTHESES/@EntryValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_BEFORE_EMPTY_METHOD_PARENTHESES/@EntryValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AROUND_MULTIPLICATIVE_OP/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_BEFORE_USING_PARENTHESES/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_WITHIN_SINGLE_LINE_ARRAY_INITIALIZER_BRACES/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/STICK_COMMENT/@EntryValue">False</s:Boolean>
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/ThisQualifier/INSTANCE_MEMBERS_QUALIFY_MEMBERS/@EntryValue">None</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/CSharpFileLayoutPatterns/Pattern/@EntryValue"><?xml version="1.0" encoding="utf-16"?>
|
||||
<Patterns xmlns="urn:schemas-jetbrains-com:member-reordering-patterns">
|
||||
<TypePattern DisplayName="COM interfaces or structs">
|
||||
<TypePattern.Match>
|
||||
<Or>
|
||||
<And>
|
||||
<Kind Is="Interface" />
|
||||
<Or>
|
||||
<HasAttribute Name="System.Runtime.InteropServices.InterfaceTypeAttribute" />
|
||||
<HasAttribute Name="System.Runtime.InteropServices.ComImport" />
|
||||
</Or>
|
||||
</And>
|
||||
<Kind Is="Struct" />
|
||||
</Or>
|
||||
</TypePattern.Match>
|
||||
</TypePattern>
|
||||
<TypePattern DisplayName="NUnit Test Fixtures" RemoveRegions="All">
|
||||
<TypePattern.Match>
|
||||
<And>
|
||||
<Kind Is="Class" />
|
||||
<HasAttribute Name="NUnit.Framework.TestFixtureAttribute" Inherited="True" />
|
||||
</And>
|
||||
</TypePattern.Match>
|
||||
<Entry DisplayName="Setup/Teardown Methods">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Kind Is="Method" />
|
||||
<Or>
|
||||
<HasAttribute Name="NUnit.Framework.SetUpAttribute" Inherited="True" />
|
||||
<HasAttribute Name="NUnit.Framework.TearDownAttribute" Inherited="True" />
|
||||
<HasAttribute Name="NUnit.Framework.FixtureSetUpAttribute" Inherited="True" />
|
||||
<HasAttribute Name="NUnit.Framework.FixtureTearDownAttribute" Inherited="True" />
|
||||
</Or>
|
||||
</And>
|
||||
</Entry.Match>
|
||||
</Entry>
|
||||
<Entry DisplayName="All other members" />
|
||||
<Entry Priority="100" DisplayName="Test Methods">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Kind Is="Method" />
|
||||
<HasAttribute Name="NUnit.Framework.TestAttribute" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
</TypePattern>
|
||||
<TypePattern DisplayName="Default Pattern">
|
||||
<Entry Priority="100" DisplayName="Public Delegates">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Public" />
|
||||
<Kind Is="Delegate" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry Priority="100" DisplayName="Public Enums">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Public" />
|
||||
<Kind Is="Enum" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Static Fields and Constants">
|
||||
<Entry.Match>
|
||||
<Or>
|
||||
<Kind Is="Constant" />
|
||||
<And>
|
||||
<Kind Is="Field" />
|
||||
<Static />
|
||||
</And>
|
||||
</Or>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Kind Order="Constant Field" />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Fields">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Kind Is="Field" />
|
||||
<Not>
|
||||
<Static />
|
||||
</Not>
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Readonly />
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Constructors">
|
||||
<Entry.Match>
|
||||
<Kind Is="Constructor" />
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Static />
|
||||
<Access />
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Properties, Indexers">
|
||||
<Entry.Match>
|
||||
<Or>
|
||||
<Kind Is="Property" />
|
||||
<Kind Is="Indexer" />
|
||||
</Or>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Access />
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry Priority="100" DisplayName="Interface Implementations">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Kind Is="Member" />
|
||||
<ImplementsInterface />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<ImplementsInterface />
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="All other members">
|
||||
<Entry.SortBy>
|
||||
<Access />
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Nested Types">
|
||||
<Entry.Match>
|
||||
<Kind Is="Type" />
|
||||
</Entry.Match>
|
||||
</Entry>
|
||||
</TypePattern>
|
||||
<TypePattern DisplayName="Forms Pattern" RemoveRegions="All">
|
||||
<Region Name="Statics">
|
||||
<Entry DisplayName="Constructors">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Static />
|
||||
<Kind Is="Constructor" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Public Fields">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Static />
|
||||
<Kind Is="Field" />
|
||||
<Access Is="Public" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Public Events">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Public" />
|
||||
<Static />
|
||||
<Kind Is="Event" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Public Properties">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Public" />
|
||||
<Static />
|
||||
<Kind Is="Property" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Public Methods">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Public" />
|
||||
<Static />
|
||||
<Kind Is="Method" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Public Other">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Public" />
|
||||
<Static />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Internal Fields">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Static />
|
||||
<Kind Is="Field" />
|
||||
<Access Is="Internal" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Internal Events">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Internal" />
|
||||
<Static />
|
||||
<Kind Is="Event" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Internal Properties">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Internal" />
|
||||
<Static />
|
||||
<Kind Is="Property" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Internal Methods">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Internal" />
|
||||
<Static />
|
||||
<Kind Is="Method" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Internal Other">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Internal" />
|
||||
<Static />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Protected Fields">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Static />
|
||||
<Kind Is="Field" />
|
||||
<Access Is="Protected" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Protected Events">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Protected" />
|
||||
<Static />
|
||||
<Kind Is="Event" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Protected Properties">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Protected" />
|
||||
<Static />
|
||||
<Kind Is="Property" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Protected Methods">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Protected" />
|
||||
<Static />
|
||||
<Kind Is="Method" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Protected Other">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Protected" />
|
||||
<Static />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Private Fields">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Static />
|
||||
<Kind Is="Field" />
|
||||
<Access Is="Private" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Private Events">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Private" />
|
||||
<Static />
|
||||
<Kind Is="Event" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Private Properties">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Private" />
|
||||
<Static />
|
||||
<Kind Is="Property" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Private Methods">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Private" />
|
||||
<Static />
|
||||
<Kind Is="Method" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Private Other">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Private" />
|
||||
<Static />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
</Region>
|
||||
<Entry DisplayName="Constructors">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Kind Is="Constructor" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Public Fields">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Kind Is="Field" />
|
||||
<Access Is="Public" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Public Events">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Public" />
|
||||
<Kind Is="Event" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Public Properties">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Public" />
|
||||
<Kind Is="Property" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Public Methods">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Public" />
|
||||
<Kind Is="Method" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Other">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Public" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Internal Fields">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Kind Is="Field" />
|
||||
<Access Is="Internal" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Internal Events">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Internal" />
|
||||
<Kind Is="Event" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Internal Properties">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Internal" />
|
||||
<Kind Is="Property" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Internal Methods">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Internal" />
|
||||
<Kind Is="Method" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Internal Other">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Internal" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Protected Fields">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Kind Is="Field" />
|
||||
<Access Is="Protected" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Protected Events">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Protected" />
|
||||
<Kind Is="Event" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Protected Properties">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Protected" />
|
||||
<Kind Is="Property" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Protected Methods">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Protected" />
|
||||
<Kind Is="Method" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Protected Other">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Protected" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Private Fields">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Kind Is="Field" />
|
||||
<Access Is="Private" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Kind Is="Member" />
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Private Events">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Private" />
|
||||
<Kind Is="Event" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Private Properties">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Private" />
|
||||
<Kind Is="Property" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Private Methods">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Private" />
|
||||
<Kind Is="Method" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Private Other">
|
||||
<Entry.Match>
|
||||
<And>
|
||||
<Access Is="Private" />
|
||||
</And>
|
||||
</Entry.Match>
|
||||
<Entry.SortBy>
|
||||
<Name />
|
||||
</Entry.SortBy>
|
||||
</Entry>
|
||||
<Entry DisplayName="Other Members" />
|
||||
</TypePattern>
|
||||
</Patterns></s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=UI/@EntryIndexedValue">UI</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=WP8/@EntryIndexedValue">WP8</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=API/@EntryIndexedValue">API</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateInstanceFields/@EntryIndexedValue"><Policy Inspect="True" Prefix="_" Suffix="" Style="aaBb" /></s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticFields/@EntryIndexedValue"><Policy Inspect="True" Prefix="s_" Suffix="" Style="aaBb" /></s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/CSharpVarKeywordUsage/ForBuiltInTypes/@EntryValue">UseVarWhenEvident</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/CSharpVarKeywordUsage/ForSimpleTypes/@EntryValue">UseVarWhenEvident</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/CSharpVarKeywordUsage/ForOtherTypes/@EntryValue">UseVarWhenEvident</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticReadonly/@EntryIndexedValue"><Policy Inspect="True" Prefix="s_" Suffix="" Style="aaBb" /></s:String>
|
||||
<s:Boolean x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=64B48C7709A839499C5E49DBCE502A37/@KeyIndexDefined">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/InjectedLayers/InjectedLayerCustomization/=File64B48C7709A839499C5E49DBCE502A37/@KeyIndexDefined">True</s:Boolean>
|
||||
<s:Double x:Key="/Default/Environment/InjectedLayers/InjectedLayerCustomization/=File64B48C7709A839499C5E49DBCE502A37/RelativePriority/@EntryValue">1</s:Double>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpUseContinuousIndentInsideBracesMigration/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAlwaysTreatStructAsNotReorderableMigration/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateThisQualifierSettings/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
27
README.md
27
README.md
|
@ -1,22 +1,28 @@
|
|||
# Introducing .NET Multi-platform App UI (MAUI)
|
||||
# .NET Multi-platform App UI (.NET MAUI)
|
||||
|
||||
.NET Multi-platform App UI (.NET MAUI) is a cross-platform framework for creating native mobile and desktop apps with C# and XAML. Using .NET MAUI, you can develop apps that can run on Android, iOS, macOS, and Windows from a single shared code-base. [Read More](https://docs.microsoft.com/en-us/dotnet/maui/what-is-maui)
|
||||
[![Build Status](https://dev.azure.com/xamarin/public/_apis/build/status/MAUI-public?repoName=dotnet%2Fmaui&branchName=main&label=Public)](https://dev.azure.com/xamarin/public/_build/latest?definitionId=57&repoName=dotnet%2Fmaui&branchName=main)[![Build Status](https://devdiv.visualstudio.com/DevDiv/_apis/build/status/MAUI?repoName=dotnet%2Fmaui&branchName=main&label=Private)](https://devdiv.visualstudio.com/DevDiv/_build/latest?definitionId=13330&repoName=dotnet%2Fmaui&branchName=main)
|
||||
|
||||
.NET Multi-platform App UI (.NET MAUI) is a cross-platform framework for creating native mobile and desktop apps with C# and XAML. Using .NET MAUI, you can develop apps that can run on Android, iOS, iPadOS, macOS, and Windows from a single shared code-base.
|
||||
|
||||
## Getting Started ##
|
||||
|
||||
* [Install .NET MAUI](https://github.com/dotnet/maui/wiki/Getting-Started)
|
||||
* [MAUI documentation](https://docs.microsoft.com/en-us/dotnet/maui)
|
||||
* [MAUI samples](https://github.com/dotnet/maui-samples)
|
||||
* [Developer Guide](DEVELOPMENT.md)
|
||||
* [Install .NET MAUI](https://docs.microsoft.com/dotnet/maui/get-started/first-app?pivots=windows)
|
||||
* [.NET MAUI documentation](https://docs.microsoft.com/dotnet/maui)
|
||||
* [Weather '21 Sample App](https://github.com/davidortinau/WeatherTwentyOne)
|
||||
* [Contributor Guide](DEVELOPMENT.md)
|
||||
|
||||
## Build Status ##
|
||||
Follow the [.NET MAUI Blog](https://devblogs.microsoft.com/dotnet/category/net-maui/) for news and updates.
|
||||
|
||||
| Private | Public |
|
||||
|--|--|
|
||||
| [![Build Status](https://devdiv.visualstudio.com/DevDiv/_apis/build/status/MAUI?repoName=dotnet%2Fmaui&branchName=main)](https://devdiv.visualstudio.com/DevDiv/_build/latest?definitionId=13330&repoName=dotnet%2Fmaui&branchName=main) | [![Build Status](https://dev.azure.com/xamarin/public/_apis/build/status/MAUI-public?repoName=dotnet%2Fmaui&branchName=main)](https://dev.azure.com/xamarin/public/_build/latest?definitionId=57&repoName=dotnet%2Fmaui&branchName=main) |
|
||||
## Overview
|
||||
|
||||
.NET MAUI is open-source and is the evolution of Xamarin.Forms, extended from mobile to desktop scenarios, with UI controls rebuilt from the ground up for performance and extensibility. If you've previously used Xamarin.Forms to build cross-platform user interfaces, you'll notice many similarities with .NET MAUI. However, there are also some differences. Using .NET MAUI, you can create multi-platform apps using a single project, but you can add platform-specific source code and resources if necessary. One of the key aims of .NET MAUI is to enable you to implement as much of your app logic and UI layout as possible in a single code-base. [Read More](https://docs.microsoft.com/dotnet/maui/what-is-maui)
|
||||
|
||||
![.NET MAUI Weather App on all platforms](Assets/maui-weather-hero-sm.png)
|
||||
|
||||
## Current News
|
||||
|
||||
[August 10, 2021 - Announcing .NET MAUI Preview 7](https://devblogs.microsoft.com/dotnet/announcing-net-maui-preview-7/)
|
||||
|
||||
[July 14, 2021 - Announcing .NET MAUI Preview 6](https://devblogs.microsoft.com/dotnet/announcing-net-maui-preview-6/)
|
||||
|
||||
[June 17, 2021 - Announcing .NET MAUI Preview 5](https://devblogs.microsoft.com/dotnet/announcing-net-maui-preview-5/)
|
||||
|
@ -62,3 +68,4 @@ See [CONTRIBUTING](./.github/CONTRIBUTING.md)
|
|||
## Code of conduct
|
||||
|
||||
See [CODE-OF-CONDUCT](./.github/CODE_OF_CONDUCT.md)
|
||||
|
||||
|
|
87
build.cake
87
build.cake
|
@ -19,7 +19,7 @@ PowerShell:
|
|||
// ADDINS
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
#addin "nuget:?package=Cake.Android.SdkManager&version=3.0.2"
|
||||
#addin "nuget:?package=Cake.Boots&version=1.0.4.600-preview1"
|
||||
#addin "nuget:?package=Cake.Boots&version=1.0.4.624"
|
||||
#addin "nuget:?package=Cake.AppleSimulator&version=0.2.0"
|
||||
#addin "nuget:?package=Cake.FileHelpers&version=3.2.1"
|
||||
#load "eng/cake/dotnet.cake"
|
||||
|
@ -75,10 +75,12 @@ var BUILD_TASKS_PROJ ="Microsoft.Maui.BuildTasks.sln";
|
|||
|
||||
var XamarinFormsVersion = Argument("XamarinFormsVersion", "");
|
||||
var packageVersion = GetBuildVariable("packageVersion", "0.1.0-p2");
|
||||
var releaseChannelArg = Argument("CHANNEL", "Stable");
|
||||
releaseChannelArg = EnvironmentVariable("CHANNEL") ?? releaseChannelArg;
|
||||
var teamProject = Argument("TeamProject", "");
|
||||
var releaseChannelArg = GetBuildVariable("CHANNEL", "Stable");
|
||||
var teamProject = GetBuildVariable("TeamProject", GetBuildVariable("SYSTEM_TEAMPROJECT", ""));
|
||||
bool isHostedAgent = agentName.StartsWith("Azure Pipelines") || agentName.StartsWith("Hosted Agent");
|
||||
var localDotnet = GetBuildVariable("workloads", "local") == "local";
|
||||
|
||||
var vsVersion = GetBuildVariable("VS", "");
|
||||
|
||||
var MAUI_SLN = "./Microsoft.Maui.sln";
|
||||
|
||||
|
@ -117,6 +119,7 @@ string androidSdks = EnvironmentVariable("ANDROID_API_SDKS",
|
|||
"platforms;android-28," +
|
||||
"platforms;android-29," +
|
||||
"platforms;android-30," +
|
||||
"platforms;android-31," +
|
||||
// emulators
|
||||
androidEmulators);
|
||||
|
||||
|
@ -169,6 +172,10 @@ Information("workingDirectory: {0}", workingDirectory);
|
|||
Information("NUNIT_TEST_WHERE: {0}", NUNIT_TEST_WHERE);
|
||||
Information("TARGET: {0}", target);
|
||||
Information("MSBUILD: {0}", MSBuildExe);
|
||||
Information("vsVersion: {0}", vsVersion);
|
||||
Information("localDotnet: {0}", localDotnet);
|
||||
Information("dotnet: {0}", GetBuildVariable("dotnet", ""));
|
||||
Information("workloads: {0}", GetBuildVariable("workloads", ""));
|
||||
|
||||
|
||||
var releaseChannel = ReleaseChannel.Stable;
|
||||
|
@ -218,7 +225,9 @@ string androidSDK_windows = "";
|
|||
string iOSSDK_windows = "";
|
||||
string monoSDK_windows = "";
|
||||
string macSDK_windows = "";
|
||||
|
||||
string android_jdk_11_windows = "https://aka.ms/download-jdk/microsoft-jdk-11.0.12.7.1-windows-x64.msi";
|
||||
string android_jdk_11_macos = "https://aka.ms/download-jdk/microsoft-jdk-11.0.12.7.1-macOS-x64.pkg";
|
||||
string android_jdk_11_folder = "C:\\Program Files\\Microsoft\\jdk-11.0.12.7-hotspot";
|
||||
|
||||
androidSDK_macos = EnvironmentVariable("ANDROID_SDK_MAC", androidSDK_macos);
|
||||
iOSSDK_macos = EnvironmentVariable("IOS_SDK_MAC", iOSSDK_macos);
|
||||
|
@ -346,17 +355,30 @@ Task("provision-androidsdk")
|
|||
}
|
||||
}
|
||||
|
||||
if (!IsRunningOnWindows ()) {
|
||||
if (!IsRunningOnWindows ())
|
||||
{
|
||||
|
||||
await Boots(android_jdk_11_macos);
|
||||
|
||||
if(!String.IsNullOrWhiteSpace(androidSDK))
|
||||
{
|
||||
await Boots (androidSDK);
|
||||
}
|
||||
else
|
||||
{
|
||||
await Boots (Product.XamarinAndroid, releaseChannel);
|
||||
}
|
||||
}
|
||||
else if(!String.IsNullOrWhiteSpace(androidSDK))
|
||||
else
|
||||
{
|
||||
await Boots (androidSDK);
|
||||
if(!DirectoryExists(android_jdk_11_folder))
|
||||
{
|
||||
await Boots(android_jdk_11_windows);
|
||||
}
|
||||
if(!String.IsNullOrWhiteSpace(androidSDK))
|
||||
{
|
||||
await Boots (androidSDK);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -757,7 +779,7 @@ Task("Android100")
|
|||
});
|
||||
|
||||
Task("VS")
|
||||
.Description("Builds projects necessary so solution compiles on VS")
|
||||
.Description("Builds projects necessary so solution compiles on VS Preview")
|
||||
.IsDependentOn("Clean")
|
||||
.IsDependentOn("VSMAC")
|
||||
.IsDependentOn("VSWINDOWS");
|
||||
|
@ -768,6 +790,17 @@ Task("VS-CG")
|
|||
.IsDependentOn("VSMAC")
|
||||
.IsDependentOn("VSWINDOWS");
|
||||
|
||||
Task("VS-CG-STABLE")
|
||||
.Description("Builds projects necessary so solution compiles on VS")
|
||||
.IsDependentOn("Clean")
|
||||
.IsDependentOn("VSMAC")
|
||||
.IsDependentOn("VSWINDOWS");
|
||||
|
||||
Task("VS-STABLE")
|
||||
.Description("Builds projects necessary so solution compiles on VS Stable")
|
||||
.IsDependentOn("Clean")
|
||||
.IsDependentOn("VSMAC")
|
||||
.IsDependentOn("VSWINDOWS");
|
||||
|
||||
Task("VSWINDOWS")
|
||||
.Description("Builds projects necessary so solution compiles on VS Windows")
|
||||
|
@ -775,15 +808,22 @@ Task("VSWINDOWS")
|
|||
.WithCriteria(IsRunningOnWindows())
|
||||
.Does(() =>
|
||||
{
|
||||
string sln = "Microsoft.Maui.sln";
|
||||
if (target == "VS-CG")
|
||||
sln = "Compatibility.ControlGallery.sln";
|
||||
bool includePrerelease = !target.ToLower().Contains("stable");
|
||||
|
||||
MSBuild(sln,
|
||||
if (target.ToLower().StartsWith("vs-cg"))
|
||||
{
|
||||
MSBuild("Compatibility.ControlGallery.sln",
|
||||
GetMSBuildSettings()
|
||||
.WithRestore());
|
||||
|
||||
StartVisualStudio(sln);
|
||||
StartVisualStudio("Compatibility.ControlGallery.sln", includePrerelease: includePrerelease);
|
||||
}
|
||||
else
|
||||
{
|
||||
MSBuild(@"src\Compatibility\Core\src\Compatibility.csproj",
|
||||
GetMSBuildSettings()
|
||||
.WithRestore());
|
||||
StartVisualStudio("Microsoft.Maui.sln", includePrerelease: includePrerelease);
|
||||
}
|
||||
});
|
||||
|
||||
Task("VSMAC")
|
||||
|
@ -1055,20 +1095,21 @@ void RunTests(string unitTestLibrary, NUnit3Settings settings, ICakeContext ctx)
|
|||
}
|
||||
}
|
||||
|
||||
void StartVisualStudio(string sln = "./Microsoft.Maui.sln")
|
||||
void StartVisualStudio(string sln = "./Microsoft.Maui.sln", bool includePrerelease = true)
|
||||
{
|
||||
if(isCIBuild)
|
||||
return;
|
||||
|
||||
if (!String.IsNullOrWhiteSpace(vsVersion))
|
||||
includePrerelease = (vsVersion == "preview");
|
||||
|
||||
if(IsRunningOnWindows())
|
||||
{
|
||||
StartProcess("powershell",
|
||||
new ProcessSettings
|
||||
{
|
||||
Arguments = new ProcessArgumentBuilder()
|
||||
.Append("start")
|
||||
.Append(sln)
|
||||
});
|
||||
var vsLatest = VSWhereLatest(new VSWhereLatestSettings { IncludePrerelease = includePrerelease, });
|
||||
if (vsLatest == null)
|
||||
throw new Exception("Unable to find Visual Studio!");
|
||||
|
||||
StartProcess(vsLatest.CombineWithFilePath("./Common7/IDE/devenv.exe"), sln);
|
||||
}
|
||||
else
|
||||
StartProcess("open", new ProcessSettings{ Arguments = sln });
|
||||
|
|
|
@ -1,52 +1,48 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<!-- Uncomment to use preview packages -->
|
||||
<!-- <_AndroidXVersion>-net6preview03.4680155</_AndroidXVersion> -->
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference
|
||||
Update="Xamarin.AndroidX.AppCompat.AppCompatResources"
|
||||
Version="1.2.0.7$(_AndroidXVersion)"
|
||||
Version="1.3.1.1"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Xamarin.AndroidX.Browser"
|
||||
Version="1.3.0.5$(_AndroidXVersion)"
|
||||
Version="1.3.0.6"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Xamarin.AndroidX.Legacy.Support.V4"
|
||||
Version="1.0.0.7$(_AndroidXVersion)"
|
||||
Version="1.0.0.8"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Xamarin.AndroidX.Lifecycle.LiveData"
|
||||
Version="2.3.1$(_AndroidXVersion)"
|
||||
Version="2.3.1.1"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Xamarin.AndroidX.Navigation.UI"
|
||||
Version="2.3.5$(_AndroidXVersion)"
|
||||
Version="2.3.5.1"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Xamarin.AndroidX.Navigation.Fragment"
|
||||
Version="2.3.5$(_AndroidXVersion)"
|
||||
Version="2.3.5.1"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Xamarin.AndroidX.Navigation.Runtime"
|
||||
Version="2.3.5$(_AndroidXVersion)"
|
||||
Version="2.3.5.1"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Xamarin.AndroidX.Navigation.Common"
|
||||
Version="2.3.5$(_AndroidXVersion)"
|
||||
Version="2.3.5.1"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Xamarin.AndroidX.MediaRouter"
|
||||
Version="1.2.2.1$(_AndroidXVersion)"
|
||||
Version="1.2.4.1"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Xamarin.AndroidX.Palette"
|
||||
Version="1.0.0.7$(_AndroidXVersion)"
|
||||
Version="1.0.0.8"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Xamarin.AndroidX.RecyclerView"
|
||||
Version="1.2.0$(_AndroidXVersion)"
|
||||
Version="1.2.1.1"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Xamarin.Build.Download"
|
||||
|
@ -54,7 +50,12 @@
|
|||
/>
|
||||
<PackageReference
|
||||
Update="Xamarin.Google.Android.Material"
|
||||
Version="1.3.0.1$(_AndroidXVersion)"
|
||||
Version="1.4.0.2"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Xamarin.AndroidX.Migration"
|
||||
Version="1.0.8"
|
||||
NoWarn="NU1701"
|
||||
/>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
@ -3,30 +3,17 @@
|
|||
<_UseNet6Packages Condition=" '$(TargetFramework.Contains(net6.0))' == 'true' or '$(PackageType)' == 'DotnetPlatform' ">true</_UseNet6Packages>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(_UseNet6Packages)' != 'true' ">
|
||||
<_MicrosoftHostingVersion>5.0.0</_MicrosoftHostingVersion>
|
||||
<SystemCodeDomPackageVersion>4.7.0</SystemCodeDomPackageVersion>
|
||||
<MicrosoftExtensionsPrimitivesPackageVersion>(_MicrosoftHostingVersion)</MicrosoftExtensionsPrimitivesPackageVersion>
|
||||
<MicrosoftExtensionsHostingAbstractionsPackageVersion>$(_MicrosoftHostingVersion)</MicrosoftExtensionsHostingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>$(_MicrosoftHostingVersion)</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsDependencyInjectionPackageVersion>5.0.1</MicrosoftExtensionsDependencyInjectionPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>$(_MicrosoftHostingVersion)</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationPackageVersion>$(_MicrosoftHostingVersion)</MicrosoftExtensionsConfigurationPackageVersion>
|
||||
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>$(_MicrosoftHostingVersion)</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsLoggingPackageVersion>$(_MicrosoftHostingVersion)</MicrosoftExtensionsLoggingPackageVersion>
|
||||
<MicrosoftExtensionsLoggingConsolePackageVersion>$(_MicrosoftHostingVersion)</MicrosoftExtensionsLoggingConsolePackageVersion>
|
||||
<MicrosoftExtensionsLoggingDebugPackageVersion>$(_MicrosoftHostingVersion)</MicrosoftExtensionsLoggingDebugPackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>$(_MicrosoftHostingVersion)</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>5.0.6</MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>
|
||||
</PropertyGroup>
|
||||
<!-- Microsoft.Maui.Graphics related Packages -->
|
||||
<PropertyGroup>
|
||||
<_MicrosoftGraphicsWin2DVersion>0.8.0.21</_MicrosoftGraphicsWin2DVersion>
|
||||
<_MicrosoftMauiGraphics>6.0.100-preview.7.332</_MicrosoftMauiGraphics>
|
||||
<_MicrosoftMauiGraphicsWin2D>6.0.100-preview.7.332</_MicrosoftMauiGraphicsWin2D>
|
||||
<_MicrosoftMauiGraphics>6.0.100-rc.1.382</_MicrosoftMauiGraphics>
|
||||
<_MicrosoftMauiGraphicsWin2D>6.0.100-rc.1.382</_MicrosoftMauiGraphicsWin2D>
|
||||
</PropertyGroup>
|
||||
<!-- WINUI related Packages -->
|
||||
<PropertyGroup>
|
||||
<_MicrosoftProjectReunionVersion>0.8.1</_MicrosoftProjectReunionVersion>
|
||||
<_MicrosoftWindowsAppSdkVersion>1.0.0-experimental1</_MicrosoftWindowsAppSdkVersion>
|
||||
<_MicrosoftWebWebView2Version>1.0.705.50</_MicrosoftWebWebView2Version>
|
||||
</PropertyGroup>
|
||||
<!-- Android related Packages -->
|
||||
|
@ -40,7 +27,7 @@
|
|||
<ItemGroup>
|
||||
<PackageReference
|
||||
Update="Reloadify3000"
|
||||
Version="1.0.6"
|
||||
Version="1.0.7"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Microsoft.Maui.Graphics"
|
||||
|
@ -71,8 +58,8 @@
|
|||
Version="$(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion)"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Microsoft.Extensions.FileProviders.Embedded"
|
||||
Version="$(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion)"
|
||||
Update="Microsoft.Extensions.Hosting"
|
||||
Version="$(MicrosoftExtensionsHostingPackageVersion)"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Microsoft.Extensions.Hosting.Abstractions"
|
||||
|
@ -99,20 +86,20 @@
|
|||
Version="$(MicrosoftExtensionsPrimitivesPackageVersion)"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Microsoft.ProjectReunion"
|
||||
Version="$(_MicrosoftProjectReunionVersion)"
|
||||
Update="Microsoft.WindowsAppSDK"
|
||||
Version="$(_MicrosoftWindowsAppSdkVersion)"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Microsoft.ProjectReunion.Foundation"
|
||||
Version="$(_MicrosoftProjectReunionVersion)"
|
||||
Update="Microsoft.WindowsAppSDK.Foundation"
|
||||
Version="$(_MicrosoftWindowsAppSdkVersion)"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Microsoft.ProjectReunion.WinUI"
|
||||
Version="$(_MicrosoftProjectReunionVersion)"
|
||||
Update="Microsoft.WindowsAppSDK.WinUI"
|
||||
Version="$(_MicrosoftWindowsAppSdkVersion)"
|
||||
/>
|
||||
<PackageReference
|
||||
Update="Microsoft.ProjectReunion.InteractiveExperiences"
|
||||
Version="$(_MicrosoftProjectReunionVersion)"
|
||||
Update="Microsoft.WindowsAppSDK.InteractiveExperiences"
|
||||
Version="$(_MicrosoftWindowsAppSdkVersion)"
|
||||
NoWarn="NU1701"
|
||||
/>
|
||||
<PackageReference
|
||||
|
|
|
@ -1,108 +1,108 @@
|
|||
<Dependencies>
|
||||
<ProductDependencies>
|
||||
<Dependency Name="Microsoft.Dotnet.Sdk.Internal" Version="6.0.100-preview.7.21377.35" CoherentParentDependency="Microsoft.Android.Sdk.Windows">
|
||||
<Dependency Name="Microsoft.Dotnet.Sdk.Internal" Version="6.0.100-rc.2.21423.2" CoherentParentDependency="Microsoft.Android.Sdk.Windows">
|
||||
<Uri>https://github.com/dotnet/installer</Uri>
|
||||
<Sha>bb99a6213fdd6d2801b61353f636c18a4d59505a</Sha>
|
||||
<Sha>eca586b5e70ee7f55557daed7fa00be974639bf5</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NETCore.App.Ref" Version="6.0.0-preview.7.21377.12" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Dependency Name="Microsoft.NETCore.App.Ref" Version="6.0.0-rc.2.21420.29" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>d5e38a60fd747ca35386fbf50389fca0ce0dc58a</Sha>
|
||||
<Sha>91406a13fb953d6ba8a6e274e8a6f6d240ac9436</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Android.Sdk.Windows" Version="30.0.100-preview.7.106">
|
||||
<Dependency Name="Microsoft.Android.Sdk.Windows" Version="31.0.100-rc.2.12">
|
||||
<Uri>https://github.com/xamarin/xamarin-android</Uri>
|
||||
<Sha>ce2830613a0123d3fd8207e97e5ec7483706409e</Sha>
|
||||
<Sha>846086707c53bb710008b8245c011e4273e5284c</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.MacCatalyst.Sdk" Version="15.0.100-preview.7221">
|
||||
<Dependency Name="Microsoft.MacCatalyst.Sdk" Version="15.0.100-rc.1.1531">
|
||||
<Uri>https://github.com/xamarin/xamarin-macios</Uri>
|
||||
<Sha>e685f6302ad7a05a99f1392f49a6ab084057463c</Sha>
|
||||
<Sha>a0ad498842dc6288b14814a7ab9a6cac3763ea8c</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.iOS.Sdk" Version="15.0.100-preview.7221">
|
||||
<Dependency Name="Microsoft.iOS.Sdk" Version="15.0.100-rc.1.1531">
|
||||
<Uri>https://github.com/xamarin/xamarin-macios</Uri>
|
||||
<Sha>e685f6302ad7a05a99f1392f49a6ab084057463c</Sha>
|
||||
<Sha>a0ad498842dc6288b14814a7ab9a6cac3763ea8c</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.tvOS.Sdk" Version="15.0.100-preview.7221">
|
||||
<Dependency Name="Microsoft.tvOS.Sdk" Version="15.0.100-rc.1.1531">
|
||||
<Uri>https://github.com/xamarin/xamarin-macios</Uri>
|
||||
<Sha>e685f6302ad7a05a99f1392f49a6ab084057463c</Sha>
|
||||
<Sha>a0ad498842dc6288b14814a7ab9a6cac3763ea8c</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.macOS.Sdk" Version="12.0.100-preview.7221">
|
||||
<Dependency Name="Microsoft.macOS.Sdk" Version="12.0.100-rc.1.1531">
|
||||
<Uri>https://github.com/xamarin/xamarin-macios</Uri>
|
||||
<Sha>e685f6302ad7a05a99f1392f49a6ab084057463c</Sha>
|
||||
<Sha>a0ad498842dc6288b14814a7ab9a6cac3763ea8c</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="6.0.0-preview.7.21377.13" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="6.0.0-rc.2.21420.26" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||
<Sha>afa975487fb04102c1260dceb21ca543e3cd5533</Sha>
|
||||
<Sha>51deae0b18ab779e227b31688a6157441027ea15</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Primitives" Version="6.0.0-preview.7.21377.12" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Dependency Name="Microsoft.Extensions.Primitives" Version="6.0.0-rc.2.21420.29" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>d5e38a60fd747ca35386fbf50389fca0ce0dc58a</Sha>
|
||||
<Sha>91406a13fb953d6ba8a6e274e8a6f6d240ac9436</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="6.0.0-preview.7.21377.12" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Dependency Name="Microsoft.Extensions.Hosting" Version="6.0.0-rc.2.21420.29" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>d5e38a60fd747ca35386fbf50389fca0ce0dc58a</Sha>
|
||||
<Sha>91406a13fb953d6ba8a6e274e8a6f6d240ac9436</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0-preview.7.21377.12" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="6.0.0-rc.2.21420.29" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>d5e38a60fd747ca35386fbf50389fca0ce0dc58a</Sha>
|
||||
<Sha>91406a13fb953d6ba8a6e274e8a6f6d240ac9436</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.DependencyInjection" Version="6.0.0-preview.7.21377.12" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0-rc.2.21420.29" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>d5e38a60fd747ca35386fbf50389fca0ce0dc58a</Sha>
|
||||
<Sha>91406a13fb953d6ba8a6e274e8a6f6d240ac9436</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="6.0.0-preview.7.21377.12" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Dependency Name="Microsoft.Extensions.DependencyInjection" Version="6.0.0-rc.2.21420.29" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>d5e38a60fd747ca35386fbf50389fca0ce0dc58a</Sha>
|
||||
<Sha>91406a13fb953d6ba8a6e274e8a6f6d240ac9436</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Configuration" Version="6.0.0-preview.7.21377.12" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="6.0.0-rc.2.21420.29" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>d5e38a60fd747ca35386fbf50389fca0ce0dc58a</Sha>
|
||||
<Sha>91406a13fb953d6ba8a6e274e8a6f6d240ac9436</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0-preview.7.21377.12" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Dependency Name="Microsoft.Extensions.Configuration" Version="6.0.0-rc.2.21420.29" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>d5e38a60fd747ca35386fbf50389fca0ce0dc58a</Sha>
|
||||
<Sha>91406a13fb953d6ba8a6e274e8a6f6d240ac9436</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Logging" Version="6.0.0-preview.7.21377.12" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0-rc.2.21420.29" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>d5e38a60fd747ca35386fbf50389fca0ce0dc58a</Sha>
|
||||
<Sha>91406a13fb953d6ba8a6e274e8a6f6d240ac9436</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="6.0.0-preview.7.21377.12" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Dependency Name="Microsoft.Extensions.Logging" Version="6.0.0-rc.2.21420.29" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>d5e38a60fd747ca35386fbf50389fca0ce0dc58a</Sha>
|
||||
<Sha>91406a13fb953d6ba8a6e274e8a6f6d240ac9436</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Debug" Version="6.0.0-preview.7.21377.12" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="6.0.0-rc.2.21420.29" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>d5e38a60fd747ca35386fbf50389fca0ce0dc58a</Sha>
|
||||
<Sha>91406a13fb953d6ba8a6e274e8a6f6d240ac9436</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="6.0.0-preview.7.21377.12" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Debug" Version="6.0.0-rc.2.21420.29" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>d5e38a60fd747ca35386fbf50389fca0ce0dc58a</Sha>
|
||||
<Sha>91406a13fb953d6ba8a6e274e8a6f6d240ac9436</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.FileProviders.Embedded" Version="6.0.0-preview.7.21377.13" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="6.0.0-rc.2.21420.29" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>91406a13fb953d6ba8a6e274e8a6f6d240ac9436</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.AspNetCore.Authorization" Version="6.0.0-rc.2.21420.26" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||
<Sha>afa975487fb04102c1260dceb21ca543e3cd5533</Sha>
|
||||
<Sha>51deae0b18ab779e227b31688a6157441027ea15</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.AspNetCore.Authorization" Version="6.0.0-preview.7.21377.13" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Dependency Name="Microsoft.AspNetCore.Components.WebView" Version="6.0.0-rc.2.21420.26" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||
<Sha>afa975487fb04102c1260dceb21ca543e3cd5533</Sha>
|
||||
<Sha>51deae0b18ab779e227b31688a6157441027ea15</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.AspNetCore.Components.WebView" Version="6.0.0-preview.7.21377.13" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Dependency Name="Microsoft.AspNetCore.Components.Web" Version="6.0.0-rc.2.21420.26" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||
<Sha>afa975487fb04102c1260dceb21ca543e3cd5533</Sha>
|
||||
<Sha>51deae0b18ab779e227b31688a6157441027ea15</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.AspNetCore.Components.Web" Version="6.0.0-preview.7.21377.13" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Dependency Name="Microsoft.JSInterop" Version="6.0.0-rc.2.21420.26" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||
<Sha>afa975487fb04102c1260dceb21ca543e3cd5533</Sha>
|
||||
<Sha>51deae0b18ab779e227b31688a6157441027ea15</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.JSInterop" Version="6.0.0-preview.7.21377.13" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||
<Sha>afa975487fb04102c1260dceb21ca543e3cd5533</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="6.0.0-preview.7.21377.9" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="6.0.0-rc.2.21419.14" CoherentParentDependency="Microsoft.Dotnet.Sdk.Internal">
|
||||
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
|
||||
<Sha>9a3f9f6abab4ed6f02ce3489e125005267fcf773</Sha>
|
||||
<Sha>139cb9518e7bdd2219a552b5e23ac412f09000a4</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.CodeDom" Version="6.0.0-preview.7.21377.12" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Dependency Name="System.CodeDom" Version="6.0.0-rc.2.21420.29" CoherentParentDependency="Microsoft.AspNetCore.App.Runtime.win-x64">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>d5e38a60fd747ca35386fbf50389fca0ce0dc58a</Sha>
|
||||
<Sha>91406a13fb953d6ba8a6e274e8a6f6d240ac9436</Sha>
|
||||
</Dependency>
|
||||
</ProductDependencies>
|
||||
</Dependencies>
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<!-- This file is an alternative to Versions.targets, when building locally and not for CI -->
|
||||
<Project>
|
||||
<Target Name="SetVersions">
|
||||
<PropertyGroup>
|
||||
<PackageReferenceVersion>$(PackageVersion)</PackageReferenceVersion>
|
||||
<VSComponentVersion>$(PackageVersion)</VSComponentVersion>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
</Project>
|
|
@ -1,32 +1,32 @@
|
|||
<Project>
|
||||
<!--Package versions-->
|
||||
<PropertyGroup>
|
||||
<MicrosoftDotnetSdkInternalPackageVersion>6.0.100-preview.7.21377.35</MicrosoftDotnetSdkInternalPackageVersion>
|
||||
<MicrosoftNETCoreAppRefPackageVersion>6.0.0-preview.7.21377.12</MicrosoftNETCoreAppRefPackageVersion>
|
||||
<MicrosoftAndroidSdkWindowsPackageVersion>30.0.100-preview.7.106</MicrosoftAndroidSdkWindowsPackageVersion>
|
||||
<MicrosoftMacCatalystSdkPackageVersion>15.0.100-preview.7221</MicrosoftMacCatalystSdkPackageVersion>
|
||||
<MicrosoftiOSSdkPackageVersion>15.0.100-preview.7221</MicrosoftiOSSdkPackageVersion>
|
||||
<MicrosofttvOSSdkPackageVersion>15.0.100-preview.7221</MicrosofttvOSSdkPackageVersion>
|
||||
<MicrosoftmacOSSdkPackageVersion>12.0.100-preview.7221</MicrosoftmacOSSdkPackageVersion>
|
||||
<MicrosoftExtensionsPrimitivesPackageVersion>6.0.0-preview.7.21377.12</MicrosoftExtensionsPrimitivesPackageVersion>
|
||||
<MicrosoftExtensionsHostingAbstractionsPackageVersion>6.0.0-preview.7.21377.12</MicrosoftExtensionsHostingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>6.0.0-preview.7.21377.12</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsDependencyInjectionPackageVersion>6.0.0-preview.7.21377.12</MicrosoftExtensionsDependencyInjectionPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>6.0.0-preview.7.21377.12</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationPackageVersion>6.0.0-preview.7.21377.12</MicrosoftExtensionsConfigurationPackageVersion>
|
||||
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>6.0.0-preview.7.21377.12</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsLoggingPackageVersion>6.0.0-preview.7.21377.12</MicrosoftExtensionsLoggingPackageVersion>
|
||||
<MicrosoftExtensionsLoggingConsolePackageVersion>6.0.0-preview.7.21377.12</MicrosoftExtensionsLoggingConsolePackageVersion>
|
||||
<MicrosoftExtensionsLoggingDebugPackageVersion>6.0.0-preview.7.21377.12</MicrosoftExtensionsLoggingDebugPackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>6.0.0-preview.7.21377.12</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>6.0.0-preview.7.21377.13</MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>
|
||||
<MicrosoftAspNetCoreAuthorizationPackageVersion>6.0.0-preview.7.21377.13</MicrosoftAspNetCoreAuthorizationPackageVersion>
|
||||
<MicrosoftAspNetCoreComponentsWebViewPackageVersion>6.0.0-preview.7.21377.13</MicrosoftAspNetCoreComponentsWebViewPackageVersion>
|
||||
<MicrosoftAspNetCoreComponentsWebPackageVersion>6.0.0-preview.7.21377.13</MicrosoftAspNetCoreComponentsWebPackageVersion>
|
||||
<MicrosoftJSInteropPackageVersion>6.0.0-preview.7.21377.13</MicrosoftJSInteropPackageVersion>
|
||||
<MicrosoftAspNetCoreAppRuntimewinx64Version>6.0.0-preview.7.21377.13</MicrosoftAspNetCoreAppRuntimewinx64Version>
|
||||
<MicrosoftWindowsDesktopAppRuntimewinx64Version>6.0.0-preview.7.21377.9</MicrosoftWindowsDesktopAppRuntimewinx64Version>
|
||||
<SystemCodeDomPackageVersion>6.0.0-preview.7.21377.12</SystemCodeDomPackageVersion>
|
||||
<MicrosoftDotnetSdkInternalPackageVersion>6.0.100-rc.2.21423.2</MicrosoftDotnetSdkInternalPackageVersion>
|
||||
<MicrosoftNETCoreAppRefPackageVersion>6.0.0-rc.2.21420.29</MicrosoftNETCoreAppRefPackageVersion>
|
||||
<MicrosoftAndroidSdkWindowsPackageVersion>31.0.100-rc.2.12</MicrosoftAndroidSdkWindowsPackageVersion>
|
||||
<MicrosoftMacCatalystSdkPackageVersion>15.0.100-rc.1.521</MicrosoftMacCatalystSdkPackageVersion>
|
||||
<MicrosoftiOSSdkPackageVersion>15.0.100-rc.1.521</MicrosoftiOSSdkPackageVersion>
|
||||
<MicrosofttvOSSdkPackageVersion>15.0.100-rc.1.521</MicrosofttvOSSdkPackageVersion>
|
||||
<MicrosoftmacOSSdkPackageVersion>12.0.100-rc.1.521</MicrosoftmacOSSdkPackageVersion>
|
||||
<MicrosoftExtensionsPrimitivesPackageVersion>6.0.0-rc.2.21420.29</MicrosoftExtensionsPrimitivesPackageVersion>
|
||||
<MicrosoftExtensionsHostingAbstractionsPackageVersion>6.0.0-rc.2.21420.29</MicrosoftExtensionsHostingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsHostingPackageVersion>6.0.0-rc.2.21420.29</MicrosoftExtensionsHostingPackageVersion>
|
||||
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>6.0.0-rc.2.21420.29</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsDependencyInjectionPackageVersion>6.0.0-rc.2.21420.29</MicrosoftExtensionsDependencyInjectionPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>6.0.0-rc.2.21420.29</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationPackageVersion>6.0.0-rc.2.21420.29</MicrosoftExtensionsConfigurationPackageVersion>
|
||||
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>6.0.0-rc.2.21420.29</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsLoggingPackageVersion>6.0.0-rc.2.21420.29</MicrosoftExtensionsLoggingPackageVersion>
|
||||
<MicrosoftExtensionsLoggingConsolePackageVersion>6.0.0-rc.2.21420.29</MicrosoftExtensionsLoggingConsolePackageVersion>
|
||||
<MicrosoftExtensionsLoggingDebugPackageVersion>6.0.0-rc.2.21420.29</MicrosoftExtensionsLoggingDebugPackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>6.0.0-rc.2.21420.29</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
|
||||
<MicrosoftAspNetCoreAuthorizationPackageVersion>6.0.0-rc.2.21420.26</MicrosoftAspNetCoreAuthorizationPackageVersion>
|
||||
<MicrosoftAspNetCoreComponentsWebViewPackageVersion>6.0.0-rc.2.21420.26</MicrosoftAspNetCoreComponentsWebViewPackageVersion>
|
||||
<MicrosoftAspNetCoreComponentsWebPackageVersion>6.0.0-rc.2.21420.26</MicrosoftAspNetCoreComponentsWebPackageVersion>
|
||||
<MicrosoftJSInteropPackageVersion>6.0.0-rc.2.21420.26</MicrosoftJSInteropPackageVersion>
|
||||
<MicrosoftAspNetCoreAppRuntimewinx64Version>6.0.0-rc.2.21420.26</MicrosoftAspNetCoreAppRuntimewinx64Version>
|
||||
<MicrosoftWindowsDesktopAppRuntimewinx64Version>6.0.0-rc.2.21419.14</MicrosoftWindowsDesktopAppRuntimewinx64Version>
|
||||
<SystemCodeDomPackageVersion>6.0.0-rc.2.21420.29</SystemCodeDomPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Trim all characters after first `-` or `+` is encountered. -->
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<TargetName>Microsoft.NET.Sdk.Maui.Workload</TargetName>
|
||||
<ManifestBuildVersion>@VS_COMPONENT_VERSION@</ManifestBuildVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<!-- Shorten package names to avoid long path caching issues in Visual Studio -->
|
||||
|
|
|
@ -3,79 +3,173 @@
|
|||
var ext = IsRunningOnWindows() ? ".exe" : "";
|
||||
var dotnetPath = $"./bin/dotnet/dotnet{ext}";
|
||||
|
||||
// Tasks for CI
|
||||
|
||||
Task("dotnet")
|
||||
.Description("Provisions .NET 6 into bin/dotnet based on eng/Versions.props")
|
||||
.Does(() =>
|
||||
{
|
||||
var binlog = $"artifacts/dotnet-{configuration}.binlog";
|
||||
var settings = new DotNetCoreBuildSettings
|
||||
if (!localDotnet)
|
||||
return;
|
||||
|
||||
DotNetCoreBuild("./src/DotNet/DotNet.csproj", new DotNetCoreBuildSettings
|
||||
{
|
||||
MSBuildSettings = new DotNetCoreMSBuildSettings()
|
||||
.EnableBinaryLogger(binlog)
|
||||
.EnableBinaryLogger($"{logDirectory}/dotnet-{configuration}.binlog")
|
||||
.SetConfiguration(configuration),
|
||||
};
|
||||
DotNetCoreBuild("./src/DotNet/DotNet.csproj", settings);
|
||||
});
|
||||
});
|
||||
|
||||
Task("dotnet-pack")
|
||||
.Description("Build and create .NET 6 NuGet packages")
|
||||
//.IsDependentOn("dotnet")
|
||||
// .IsDependentOn("dotnet-buildtasks")
|
||||
.Does(()=>
|
||||
Task("dotnet-local-workloads")
|
||||
.Does(() =>
|
||||
{
|
||||
|
||||
var settings = new DotNetCoreToolSettings
|
||||
if (!localDotnet)
|
||||
return;
|
||||
|
||||
DotNetCoreBuild("./src/DotNet/DotNet.csproj", new DotNetCoreBuildSettings
|
||||
{
|
||||
DiagnosticOutput = true,
|
||||
ArgumentCustomization = args => args.Append($"./eng/package.ps1 -configuration \"{configuration}\"")
|
||||
};
|
||||
MSBuildSettings = new DotNetCoreMSBuildSettings()
|
||||
.EnableBinaryLogger($"{logDirectory}/dotnet-{configuration}.binlog")
|
||||
.SetConfiguration(configuration)
|
||||
.WithProperty("InstallWorkloadPacks", "false"),
|
||||
});
|
||||
|
||||
DotNetCoreTool("pwsh", settings);
|
||||
|
||||
// RunMSBuildWithLocalDotNet("Microsoft.Maui-net6.sln", (settings) =>
|
||||
// {
|
||||
// if (settings is MSBuildSettings msbuildSettings)
|
||||
// {
|
||||
// msbuildSettings
|
||||
// .WithProperty("Packing", "true")
|
||||
// .WithProperty("CI", "true")
|
||||
// .WithTarget("build");
|
||||
|
||||
// }
|
||||
// else if( settings is DotNetCoreMSBuildSettings dotnetSettings )
|
||||
// {
|
||||
// dotnetSettings
|
||||
// .WithProperty("Packing", "true")
|
||||
// .WithProperty("CI", "true")
|
||||
// .WithTarget("pack");
|
||||
|
||||
// }
|
||||
// });
|
||||
|
||||
|
||||
// if (IsRunningOnWindows())
|
||||
// {
|
||||
// RunMSBuildWithLocalDotNet("Microsoft.Maui-net6.sln", (settings) =>
|
||||
// {
|
||||
// if (settings is MSBuildSettings msbuildSettings)
|
||||
// {
|
||||
// msbuildSettings
|
||||
// .WithProperty("Packing", "true")
|
||||
// .WithProperty("CI", "true")
|
||||
// .WithTarget("pack");
|
||||
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
DotNetCoreBuild("./src/DotNet/DotNet.csproj", new DotNetCoreBuildSettings
|
||||
{
|
||||
MSBuildSettings = new DotNetCoreMSBuildSettings()
|
||||
.EnableBinaryLogger($"{logDirectory}/dotnet-install-{configuration}.binlog")
|
||||
.SetConfiguration(configuration)
|
||||
.WithTarget("Install"),
|
||||
ToolPath = dotnetPath,
|
||||
});
|
||||
});
|
||||
|
||||
Task("dotnet-buildtasks")
|
||||
.IsDependentOn("dotnet")
|
||||
.Does(() =>
|
||||
{
|
||||
RunMSBuildWithLocalDotNet("./Microsoft.Maui.BuildTasks-net6.sln");
|
||||
RunMSBuildWithDotNet("./Microsoft.Maui.BuildTasks-net6.slnf");
|
||||
});
|
||||
|
||||
Task("dotnet-build")
|
||||
.IsDependentOn("dotnet")
|
||||
.Description("Build the solutions")
|
||||
.Does(() =>
|
||||
{
|
||||
if (IsRunningOnWindows())
|
||||
{
|
||||
RunMSBuildWithDotNet("./Microsoft.Maui.BuildTasks-net6.slnf", new Dictionary<string, string> {
|
||||
["BuildForWinUI"] = bool.TrueString,
|
||||
});
|
||||
RunMSBuildWithDotNet("./Microsoft.Maui-winui.sln");
|
||||
}
|
||||
else
|
||||
{
|
||||
RunMSBuildWithDotNet("./Microsoft.Maui.BuildTasks-net6.slnf");
|
||||
RunMSBuildWithDotNet("./Microsoft.Maui-net6.sln");
|
||||
}
|
||||
});
|
||||
|
||||
Task("dotnet-build-winui")
|
||||
.IsDependentOn("dotnet")
|
||||
.Description("Build the solutions")
|
||||
.Does(() =>
|
||||
{
|
||||
RunMSBuildWithDotNet("./Microsoft.Maui.BuildTasks-net6.slnf", new Dictionary<string, string> {
|
||||
["BuildForWinUI"] = bool.TrueString,
|
||||
});
|
||||
RunMSBuildWithDotNet("./Microsoft.Maui-winui.sln");
|
||||
});
|
||||
|
||||
Task("dotnet-build-net6")
|
||||
.IsDependentOn("dotnet")
|
||||
.Does(() =>
|
||||
{
|
||||
RunMSBuildWithDotNet("./Microsoft.Maui.BuildTasks-net6.slnf");
|
||||
RunMSBuildWithDotNet("./Microsoft.Maui-net6.sln");
|
||||
});
|
||||
|
||||
Task("dotnet-samples")
|
||||
.Does(() =>
|
||||
{
|
||||
RunMSBuildWithDotNet("./Microsoft.Maui.Samples-net6.slnf", new Dictionary<string, string> {
|
||||
["UseWorkload"] = bool.TrueString,
|
||||
});
|
||||
});
|
||||
|
||||
Task("dotnet-templates")
|
||||
.Does(() =>
|
||||
{
|
||||
if (localDotnet)
|
||||
SetDotNetEnvironmentVariables();
|
||||
|
||||
var dn = localDotnet ? dotnetPath : "dotnet";
|
||||
|
||||
CleanDirectories("./templatesTest/");
|
||||
|
||||
foreach (var template in new [] { "maui", "maui-blazor", "mauilib" })
|
||||
{
|
||||
var name = template.Replace("-", "");
|
||||
StartProcess(dn, $"new {template} -o ./templatesTest/{name}");
|
||||
|
||||
RunMSBuildWithDotNet($"./templatesTest/{name}");
|
||||
}
|
||||
});
|
||||
|
||||
Task("dotnet-test")
|
||||
.IsDependentOn("dotnet")
|
||||
.Description("Build the solutions")
|
||||
.Does(() =>
|
||||
{
|
||||
var tests = new []
|
||||
{
|
||||
"**/Controls.Core.UnitTests-net6.csproj",
|
||||
"**/Controls.Xaml.UnitTests-net6.csproj",
|
||||
"**/Core.UnitTests-net6.csproj",
|
||||
"**/Essentials.UnitTests-net6.csproj",
|
||||
"**/Resizetizer.UnitTests-net6.csproj",
|
||||
};
|
||||
|
||||
var success = true;
|
||||
|
||||
foreach (var test in tests)
|
||||
{
|
||||
foreach (var project in GetFiles(test))
|
||||
{
|
||||
try
|
||||
{
|
||||
RunTestWithLocalDotNet(project.FullPath);
|
||||
}
|
||||
catch
|
||||
{
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!success)
|
||||
throw new Exception("Some tests failed. Check the logs or test results.");
|
||||
});
|
||||
|
||||
Task("dotnet-pack")
|
||||
.Description("Build and create .NET 6 NuGet packages")
|
||||
.Does(() =>
|
||||
{
|
||||
DotNetCoreTool("pwsh", new DotNetCoreToolSettings
|
||||
{
|
||||
DiagnosticOutput = true,
|
||||
ArgumentCustomization = args => args.Append($"./eng/package.ps1 -configuration \"{configuration}\"")
|
||||
});
|
||||
});
|
||||
|
||||
Task("dotnet-build-test")
|
||||
.IsDependentOn("dotnet")
|
||||
.IsDependentOn("dotnet-buildtasks")
|
||||
.IsDependentOn("dotnet-build")
|
||||
.IsDependentOn("dotnet-test");
|
||||
|
||||
// Tasks for Local Development
|
||||
|
||||
Task("VS-DOGFOOD")
|
||||
.Description("Provisions .NET 6 and launches an instance of Visual Studio using it.")
|
||||
.IsDependentOn("dotnet")
|
||||
|
@ -93,28 +187,20 @@ Task("VS-NET6")
|
|||
{
|
||||
// VS has trouble building all the references correctly so this makes sure everything is built
|
||||
// and we're ready to go right when VS launches
|
||||
RunMSBuildWithLocalDotNet("./src/Controls/samples/Controls.Sample/Maui.Controls.Sample-net6.csproj");
|
||||
|
||||
RunMSBuildWithDotNet("./src/Compatibility/Android.FormsViewGroup/src/Compatibility.Android.FormsViewGroup-net6.csproj");
|
||||
RunMSBuildWithDotNet("./src/Compatibility/Core/src/Compatibility-net6.csproj");
|
||||
StartVisualStudioForDotNet6();
|
||||
});
|
||||
|
||||
Task("VS-WINUI-CI")
|
||||
.Description("Validates that WinUI can build with the cake scripts.")
|
||||
.IsDependentOn("Clean")
|
||||
.IsDependentOn("dotnet")
|
||||
.Does(() =>
|
||||
{
|
||||
RunMSBuildWithLocalDotNet("./Microsoft.Maui.BuildTasks-net6.sln", settings => ((MSBuildSettings)settings).WithProperty("BuildForWinUI", "true"));
|
||||
RunMSBuildWithLocalDotNet("./Microsoft.Maui.WinUI.sln");
|
||||
});
|
||||
|
||||
Task("VS-WINUI")
|
||||
.Description("Provisions .NET 6 and launches an instance of Visual Studio with WinUI projects.")
|
||||
.IsDependentOn("Clean")
|
||||
// .IsDependentOn("dotnet") WINUI currently can't launch application with local dotnet
|
||||
// .IsDependentOn("dotnet") WINUI currently can't launch application with local dotnet
|
||||
// .IsDependentOn("dotnet-buildtasks")
|
||||
.Does(() =>
|
||||
{
|
||||
string sln = "./Microsoft.Maui.WinUI.sln";
|
||||
string sln = "./Microsoft.Maui-winui.sln";
|
||||
var msbuildSettings = new MSBuildSettings
|
||||
{
|
||||
Configuration = configuration,
|
||||
|
@ -122,20 +208,20 @@ Task("VS-WINUI")
|
|||
BinaryLogger = new MSBuildBinaryLogSettings
|
||||
{
|
||||
Enabled = true,
|
||||
FileName = "artifacts/winui-buildtasks.binlog",
|
||||
FileName = $"{logDirectory}/winui-buildtasks.binlog",
|
||||
}
|
||||
}.WithRestore().WithProperty("BuildForWinUI", "true");
|
||||
|
||||
MSBuild("./Microsoft.Maui.BuildTasks-net6.sln", msbuildSettings);
|
||||
MSBuild("./Microsoft.Maui.BuildTasks-net6.slnf", msbuildSettings);
|
||||
|
||||
msbuildSettings = new MSBuildSettings
|
||||
msbuildSettings = new MSBuildSettings
|
||||
{
|
||||
Configuration = configuration,
|
||||
ToolPath = FindMSBuild(),
|
||||
BinaryLogger = new MSBuildBinaryLogSettings
|
||||
{
|
||||
Enabled = true,
|
||||
FileName = "artifacts/winui.binlog",
|
||||
FileName = $"{logDirectory}/winui.binlog",
|
||||
}
|
||||
}.WithRestore();
|
||||
|
||||
|
@ -145,7 +231,7 @@ Task("VS-WINUI")
|
|||
|
||||
if (vsLatest == null)
|
||||
throw new Exception("Unable to find Visual Studio!");
|
||||
|
||||
|
||||
StartProcess(vsLatest.CombineWithFilePath("./Common7/IDE/devenv.exe"), sln);
|
||||
});
|
||||
|
||||
|
@ -163,7 +249,7 @@ Task("VS-ANDROID")
|
|||
|
||||
// VS has trouble building all the references correctly so this makes sure everything is built
|
||||
// and we're ready to go right when VS launches
|
||||
RunMSBuildWithLocalDotNet("./src/Controls/samples/Controls.Sample/Maui.Controls.Sample-net6.csproj");
|
||||
RunMSBuildWithDotNet("./src/Controls/samples/Controls.Sample/Maui.Controls.Sample-net6.csproj");
|
||||
StartVisualStudioForDotNet6("./Microsoft.Maui.Droid.sln");
|
||||
});
|
||||
|
||||
|
@ -173,7 +259,7 @@ Task("SAMPLE-ANDROID")
|
|||
.IsDependentOn("dotnet-buildtasks")
|
||||
.Does(() =>
|
||||
{
|
||||
RunMSBuildWithLocalDotNet("./src/Controls/samples/Controls.Sample.Droid/Maui.Controls.Sample.Droid-net6.csproj", deployAndRun:true);
|
||||
RunMSBuildWithDotNet("./src/Controls/samples/Controls.Sample.Droid/Maui.Controls.Sample.Droid-net6.csproj", deployAndRun: true);
|
||||
});
|
||||
|
||||
Task("SAMPLE-IOS")
|
||||
|
@ -182,7 +268,7 @@ Task("SAMPLE-IOS")
|
|||
.IsDependentOn("dotnet-buildtasks")
|
||||
.Does(() =>
|
||||
{
|
||||
RunMSBuildWithLocalDotNet("./src/Controls/samples/Controls.Sample.iOS/Maui.Controls.Sample.iOS-net6.csproj", deployAndRun:true);
|
||||
RunMSBuildWithDotNet("./src/Controls/samples/Controls.Sample.iOS/Maui.Controls.Sample.iOS-net6.csproj", deployAndRun: true);
|
||||
});
|
||||
|
||||
Task("SAMPLE-MAC")
|
||||
|
@ -191,7 +277,7 @@ Task("SAMPLE-MAC")
|
|||
.IsDependentOn("dotnet-buildtasks")
|
||||
.Does(() =>
|
||||
{
|
||||
RunMSBuildWithLocalDotNet("./src/Controls/samples/Controls.Sample.MacCatalyst/Maui.Controls.Sample.MacCatalyst-net6.csproj", deployAndRun:true);
|
||||
RunMSBuildWithDotNet("./src/Controls/samples/Controls.Sample.MacCatalyst/Maui.Controls.Sample.MacCatalyst-net6.csproj", deployAndRun: true);
|
||||
});
|
||||
|
||||
|
||||
|
@ -208,7 +294,7 @@ string FindMSBuild()
|
|||
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;
|
||||
|
@ -220,13 +306,13 @@ string FindMSBuild()
|
|||
void SetDotNetEnvironmentVariables()
|
||||
{
|
||||
var dotnet = MakeAbsolute(Directory("./bin/dotnet/")).ToString();
|
||||
var target = EnvironmentVariableTarget.Process;
|
||||
Environment.SetEnvironmentVariable("DOTNET_INSTALL_DIR", dotnet, target);
|
||||
Environment.SetEnvironmentVariable("DOTNET_ROOT", dotnet, target);
|
||||
Environment.SetEnvironmentVariable("DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR", dotnet, target);
|
||||
Environment.SetEnvironmentVariable("DOTNET_MULTILEVEL_LOOKUP", "0", target);
|
||||
Environment.SetEnvironmentVariable("MSBuildEnableWorkloadResolver", "true", target);
|
||||
Environment.SetEnvironmentVariable("PATH", dotnet + System.IO.Path.PathSeparator + EnvironmentVariable("PATH"), target);
|
||||
|
||||
SetEnvironmentVariable("DOTNET_INSTALL_DIR", dotnet);
|
||||
SetEnvironmentVariable("DOTNET_ROOT", dotnet);
|
||||
SetEnvironmentVariable("DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR", dotnet);
|
||||
SetEnvironmentVariable("DOTNET_MULTILEVEL_LOOKUP", "0");
|
||||
SetEnvironmentVariable("MSBuildEnableWorkloadResolver", "true");
|
||||
SetEnvironmentVariable("PATH", dotnet, prepend: true);
|
||||
}
|
||||
|
||||
void StartVisualStudioForDotNet6(string sln = "./Microsoft.Maui-net6.sln")
|
||||
|
@ -242,62 +328,98 @@ void StartVisualStudioForDotNet6(string sln = "./Microsoft.Maui-net6.sln")
|
|||
return;
|
||||
}
|
||||
|
||||
var vsLatest = VSWhereLatest(new VSWhereLatestSettings { IncludePrerelease = true, });
|
||||
bool includePrerelease = true;
|
||||
|
||||
if (!String.IsNullOrEmpty(vsVersion))
|
||||
includePrerelease = (vsVersion == "preview");
|
||||
|
||||
var vsLatest = VSWhereLatest(new VSWhereLatestSettings { IncludePrerelease = includePrerelease, });
|
||||
if (vsLatest == null)
|
||||
throw new Exception("Unable to find Visual Studio!");
|
||||
SetDotNetEnvironmentVariables();
|
||||
Environment.SetEnvironmentVariable("_ExcludeMauiProjectCapability", "true", EnvironmentVariableTarget.Process);
|
||||
if(localDotnet)
|
||||
{
|
||||
SetDotNetEnvironmentVariables();
|
||||
SetEnvironmentVariable("_ExcludeMauiProjectCapability", "true");
|
||||
}
|
||||
|
||||
StartProcess(vsLatest.CombineWithFilePath("./Common7/IDE/devenv.exe"), sln);
|
||||
}
|
||||
|
||||
// NOTE: this method works as long as the DotNet target has already run
|
||||
void RunMSBuildWithLocalDotNet(string sln, Action<object> settings = null, bool deployAndRun = false)
|
||||
// NOTE: These methods work as long as the "dotnet" target has already run
|
||||
|
||||
void RunMSBuildWithDotNet(string sln, Dictionary<string, string> properties = null, bool deployAndRun = false)
|
||||
{
|
||||
var name = System.IO.Path.GetFileNameWithoutExtension(sln);
|
||||
var binlog = $"artifacts/{name}-{configuration}.binlog";
|
||||
|
||||
SetDotNetEnvironmentVariables();
|
||||
var binlog = $"{logDirectory}/{name}-{configuration}.binlog";
|
||||
|
||||
if(localDotnet)
|
||||
SetDotNetEnvironmentVariables();
|
||||
|
||||
// If we're not on Windows, use ./bin/dotnet/dotnet
|
||||
if (!IsRunningOnWindows() || deployAndRun)
|
||||
{
|
||||
var dotnetBuildSettings = new DotNetCoreMSBuildSettings
|
||||
var msbuildSettings = new DotNetCoreMSBuildSettings()
|
||||
.SetConfiguration(configuration)
|
||||
.EnableBinaryLogger(binlog);
|
||||
|
||||
if (properties != null)
|
||||
{
|
||||
BinaryLogger = new MSBuildBinaryLoggerSettings
|
||||
foreach (var property in properties)
|
||||
{
|
||||
Enabled = true,
|
||||
FileName = binlog,
|
||||
},
|
||||
msbuildSettings.WithProperty(property.Key, property.Value);
|
||||
}
|
||||
}
|
||||
|
||||
if (deployAndRun)
|
||||
msbuildSettings.WithTarget("Run");
|
||||
|
||||
var dotnetBuildSettings = new DotNetCoreBuildSettings
|
||||
{
|
||||
MSBuildSettings = msbuildSettings,
|
||||
};
|
||||
|
||||
settings?.Invoke(dotnetBuildSettings);
|
||||
|
||||
DotNetCoreBuild(sln,
|
||||
new DotNetCoreBuildSettings
|
||||
{
|
||||
Configuration = configuration,
|
||||
ToolPath = dotnetPath,
|
||||
MSBuildSettings = dotnetBuildSettings,
|
||||
ArgumentCustomization = args=> { if(deployAndRun) { args.Append("-t:Run"); } return args; }
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (localDotnet)
|
||||
dotnetBuildSettings.ToolPath = dotnetPath;
|
||||
|
||||
// Otherwise we need to run MSBuild for WinUI support
|
||||
var msbuildSettings = new MSBuildSettings
|
||||
DotNetCoreBuild(sln, dotnetBuildSettings);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Otherwise we need to run MSBuild for WinUI support
|
||||
var msbuildSettings = new MSBuildSettings { ToolPath = FindMSBuild() }
|
||||
.WithRestore()
|
||||
.SetConfiguration(configuration)
|
||||
.EnableBinaryLogger(binlog);
|
||||
|
||||
if (properties != null)
|
||||
{
|
||||
foreach (var property in properties)
|
||||
{
|
||||
msbuildSettings.WithProperty(property.Key, property.Value);
|
||||
}
|
||||
}
|
||||
|
||||
MSBuild(sln, msbuildSettings);
|
||||
}
|
||||
}
|
||||
|
||||
void RunTestWithLocalDotNet(string csproj)
|
||||
{
|
||||
var name = System.IO.Path.GetFileNameWithoutExtension(csproj);
|
||||
var binlog = $"{logDirectory}/{name}-{configuration}.binlog";
|
||||
var results = $"{name}-{configuration}.trx";
|
||||
|
||||
if(localDotnet)
|
||||
SetDotNetEnvironmentVariables();
|
||||
|
||||
DotNetCoreTest(csproj,
|
||||
new DotNetCoreTestSettings
|
||||
{
|
||||
Configuration = configuration,
|
||||
BinaryLogger = new MSBuildBinaryLogSettings
|
||||
{
|
||||
Enabled = true,
|
||||
FileName = binlog,
|
||||
},
|
||||
ToolPath = FindMSBuild(),
|
||||
};
|
||||
|
||||
settings?.Invoke(msbuildSettings);
|
||||
|
||||
MSBuild(sln,
|
||||
msbuildSettings
|
||||
.WithRestore());
|
||||
ToolPath = dotnetPath,
|
||||
NoBuild = true,
|
||||
Logger = $"trx;LogFileName={results}",
|
||||
ResultsDirectory = testResultsDirectory,
|
||||
ArgumentCustomization = args => args.Append($"-bl:{binlog}")
|
||||
});
|
||||
}
|
||||
|
|
|
@ -59,4 +59,28 @@ public void PrintEnvironmentVariables()
|
|||
envVar.Value
|
||||
);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
void SetDotNetEnvironmentVariables(string dotnetDir)
|
||||
{
|
||||
var dotnet = dotnetDir ?? MakeAbsolute(Directory("./bin/dotnet/")).ToString();
|
||||
|
||||
SetEnvironmentVariable("DOTNET_INSTALL_DIR", dotnet);
|
||||
SetEnvironmentVariable("DOTNET_ROOT", dotnet);
|
||||
SetEnvironmentVariable("DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR", dotnet);
|
||||
SetEnvironmentVariable("DOTNET_MULTILEVEL_LOOKUP", "0");
|
||||
SetEnvironmentVariable("MSBuildEnableWorkloadResolver", "true");
|
||||
SetEnvironmentVariable("PATH", dotnet, prepend: true);
|
||||
}
|
||||
|
||||
void SetEnvironmentVariable(string name, string value, bool prepend = false)
|
||||
{
|
||||
var target = EnvironmentVariableTarget.Process;
|
||||
|
||||
if (prepend)
|
||||
value = value + System.IO.Path.PathSeparator + EnvironmentVariable(name);
|
||||
|
||||
Environment.SetEnvironmentVariable(name, value, target);
|
||||
|
||||
Information("Setting environment variable: {0} = '{1}'", name, value);
|
||||
}
|
||||
|
|
|
@ -10,10 +10,11 @@ string TEST_DEVICE = Argument("device", EnvironmentVariable("ANDROID_TEST_DEVICE
|
|||
string DEVICE_NAME = Argument("skin", EnvironmentVariable("ANDROID_TEST_SKIN") ?? "Nexus 5X");
|
||||
|
||||
// optional
|
||||
var USE_DOTNET = Argument("dotnet", false);
|
||||
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 BINLOG = Argument("binlog", EnvironmentVariable("ANDROID_TEST_BINLOG") ?? PROJECT + ".binlog");
|
||||
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") ?? "");
|
||||
var TEST_APP_PACKAGE_NAME = Argument("package", EnvironmentVariable("ANDROID_TEST_APP_PACKAGE_NAME") ?? "");
|
||||
var TEST_APP_INSTRUMENTATION = Argument("instrumentation", EnvironmentVariable("ANDROID_TEST_APP_INSTRUMENTATION") ?? "");
|
||||
|
@ -30,15 +31,13 @@ bool DEVICE_BOOT_WAIT = Argument("wait", true);
|
|||
// set up env
|
||||
var ANDROID_SDK_ROOT = GetAndroidSDKPath();
|
||||
|
||||
System.Environment.SetEnvironmentVariable("PATH",
|
||||
$"{ANDROID_SDK_ROOT}/tools/bin" + System.IO.Path.PathSeparator +
|
||||
$"{ANDROID_SDK_ROOT}/platform-tools" + System.IO.Path.PathSeparator +
|
||||
$"{ANDROID_SDK_ROOT}/emulator" + System.IO.Path.PathSeparator +
|
||||
EnvironmentVariable("PATH"));
|
||||
SetEnvironmentVariable("PATH", $"{ANDROID_SDK_ROOT}/tools/bin", prepend: true);
|
||||
SetEnvironmentVariable("PATH", $"{ANDROID_SDK_ROOT}/platform-tools", prepend: true);
|
||||
SetEnvironmentVariable("PATH", $"{ANDROID_SDK_ROOT}/emulator", prepend: true);
|
||||
|
||||
Information("Android SDK Root: {0}", ANDROID_SDK_ROOT);
|
||||
Information("Project File: {0}", PROJECT);
|
||||
Information("Build Binary Log (binlog): {0}", BINLOG);
|
||||
Information("Build Binary Log (binlog): {0}", BINLOG_DIR);
|
||||
Information("Build Configuration: {0}", CONFIGURATION);
|
||||
|
||||
var avdSettings = new AndroidAvdManagerToolSettings { SdkRoot = ANDROID_SDK_ROOT };
|
||||
|
@ -82,7 +81,8 @@ Setup(context =>
|
|||
else
|
||||
DEVICE_ARCH = "arm64-v8a";
|
||||
}
|
||||
DEVICE_ID = $"system-images;android-{api};google_apis;{DEVICE_ARCH}";
|
||||
var sdk = api >= 24 ? "google_apis_playstore" : "google_apis";
|
||||
DEVICE_ID = $"system-images;android-{api};{sdk};{DEVICE_ARCH}";
|
||||
|
||||
// we are not using a virtual device, so quit
|
||||
if (!emulator)
|
||||
|
@ -135,14 +135,19 @@ Task("Build")
|
|||
.WithCriteria(!string.IsNullOrEmpty(PROJECT.FullPath))
|
||||
.Does(() =>
|
||||
{
|
||||
var name = System.IO.Path.GetFileNameWithoutExtension(PROJECT.FullPath);
|
||||
var binlog = $"{BINLOG_DIR}/{name}-{CONFIGURATION}-android.binlog";
|
||||
|
||||
if (USE_DOTNET)
|
||||
{
|
||||
SetDotNetEnvironmentVariables(DOTNET_PATH);
|
||||
|
||||
DotNetCoreBuild(PROJECT.FullPath, new DotNetCoreBuildSettings {
|
||||
Configuration = CONFIGURATION,
|
||||
Framework = TARGET_FRAMEWORK,
|
||||
ArgumentCustomization = args => args
|
||||
.Append("/p:EmbedAssembliesIntoApk=true")
|
||||
.Append("/bl:" + BINLOG),
|
||||
.Append("/bl:" + binlog),
|
||||
ToolPath = DOTNET_PATH,
|
||||
});
|
||||
}
|
||||
|
@ -159,7 +164,7 @@ Task("Build")
|
|||
c.Targets.Add("SignAndroidPackage");
|
||||
c.BinaryLogger = new MSBuildBinaryLogSettings {
|
||||
Enabled = true,
|
||||
FileName = BINLOG,
|
||||
FileName = binlog,
|
||||
};
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#addin nuget:?package=Cake.AppleSimulator&version=0.2.0
|
||||
#load "../cake/helpers.cake"
|
||||
|
||||
string TARGET = Argument("target", "Test");
|
||||
|
||||
|
@ -7,10 +8,11 @@ FilePath PROJECT = Argument("project", EnvironmentVariable("IOS_TEST_PROJECT") ?
|
|||
string TEST_DEVICE = Argument("device", EnvironmentVariable("IOS_TEST_DEVICE") ?? "ios-simulator-64_14.4"); // comma separated in the form <platform>-<device|simulator>[-<32|64>][_<version>] (eg: ios-simulator-64_13.4,[...])
|
||||
|
||||
// optional
|
||||
var USE_DOTNET = Argument("dotnet", false);
|
||||
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 BINLOG = Argument("binlog", EnvironmentVariable("IOS_TEST_BINLOG") ?? PROJECT + ".binlog");
|
||||
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") ?? "");
|
||||
var TEST_RESULTS = Argument("results", EnvironmentVariable("IOS_TEST_RESULTS") ?? "");
|
||||
|
||||
|
@ -21,7 +23,7 @@ string CONFIGURATION = "Release";
|
|||
bool DEVICE_CLEANUP = Argument("cleanup", true);
|
||||
|
||||
Information("Project File: {0}", PROJECT);
|
||||
Information("Build Binary Log (binlog): {0}", BINLOG);
|
||||
Information("Build Binary Log (binlog): {0}", BINLOG_DIR);
|
||||
Information("Build Platform: {0}", PLATFORM);
|
||||
Information("Build Configuration: {0}", CONFIGURATION);
|
||||
|
||||
|
@ -79,14 +81,19 @@ Task("Build")
|
|||
.WithCriteria(!string.IsNullOrEmpty(PROJECT.FullPath))
|
||||
.Does(() =>
|
||||
{
|
||||
var name = System.IO.Path.GetFileNameWithoutExtension(PROJECT.FullPath);
|
||||
var binlog = $"{BINLOG_DIR}/{name}-{CONFIGURATION}-ios.binlog";
|
||||
|
||||
if (USE_DOTNET)
|
||||
{
|
||||
SetDotNetEnvironmentVariables(DOTNET_PATH);
|
||||
|
||||
DotNetCoreBuild(PROJECT.FullPath, new DotNetCoreBuildSettings {
|
||||
Configuration = CONFIGURATION,
|
||||
Framework = TARGET_FRAMEWORK,
|
||||
ArgumentCustomization = args => args
|
||||
.Append("/p:BuildIpa=true")
|
||||
.Append("/bl:" + BINLOG),
|
||||
.Append("/bl:" + binlog),
|
||||
ToolPath = DOTNET_PATH,
|
||||
});
|
||||
}
|
||||
|
@ -104,7 +111,7 @@ Task("Build")
|
|||
c.Targets.Add("Build");
|
||||
c.BinaryLogger = new MSBuildBinaryLogSettings {
|
||||
Enabled = true,
|
||||
FileName = BINLOG,
|
||||
FileName = binlog,
|
||||
};
|
||||
});
|
||||
}
|
||||
|
|
|
@ -8,13 +8,13 @@ Write-Host "-msbuild: $msbuild"
|
|||
Write-Host "MSBUILD_EXE: $env:MSBUILD_EXE"
|
||||
|
||||
$artifacts = Join-Path $PSScriptRoot ../artifacts
|
||||
$sln = Join-Path $PSScriptRoot ../Microsoft.Maui-net6.sln
|
||||
$blazorWebViewSln = Join-Path $PSScriptRoot ../BlazorWindowsDesktop-net6.sln
|
||||
$slnTasks = Join-Path $PSScriptRoot ../Microsoft.Maui.BuildTasks-net6.sln
|
||||
$logsDirectory = Join-Path $artifacts logs
|
||||
$sln = Join-Path $PSScriptRoot ../Microsoft.Maui.Packages-net6.slnf
|
||||
$blazorWebViewSln = Join-Path $PSScriptRoot ../Microsoft.Maui.Packages.Desktop-winui.slnf
|
||||
|
||||
# Bootstrap ./bin/dotnet/
|
||||
$csproj = Join-Path $PSScriptRoot ../src/DotNet/DotNet.csproj
|
||||
& dotnet build $csproj -bl:$artifacts/dotnet-$configuration.binlog
|
||||
& dotnet build $csproj -bl:$logsDirectory/dotnet-$configuration.binlog
|
||||
|
||||
# Full path to dotnet folder
|
||||
$dotnet = Join-Path $PSScriptRoot ../bin/dotnet/
|
||||
|
@ -75,30 +75,22 @@ if ($IsWindows)
|
|||
# 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 tasks
|
||||
& $msbuild $slnTasks `
|
||||
/p:configuration=$configuration `
|
||||
/p:SymbolPackageFormat=snupkg `
|
||||
/restore `
|
||||
/t:build `
|
||||
/bl:"$artifacts/maui-build-tasks-$configuration.binlog"
|
||||
|
||||
# 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 `
|
||||
/t:Build `
|
||||
/p:Packing=true `
|
||||
/bl:"$artifacts/maui-build-$configuration.binlog"
|
||||
/bl:"$logsDirectory/maui-build-$configuration.binlog"
|
||||
if (!$?) { throw "Build .NET MAUI failed." }
|
||||
|
||||
& $msbuild $sln `
|
||||
/p:configuration=$configuration `
|
||||
/p:SymbolPackageFormat=snupkg `
|
||||
/t:pack `
|
||||
/t:Pack `
|
||||
/p:Packing=true `
|
||||
/bl:"$artifacts/maui-pack-$configuration.binlog"
|
||||
/bl:"$logsDirectory/maui-pack-$configuration.binlog"
|
||||
if (!$?) { throw "Pack .NET MAUI failed." }
|
||||
|
||||
# Then build and pack the BlazorWebView projects for WPF/WinForms
|
||||
|
@ -106,17 +98,17 @@ if ($IsWindows)
|
|||
/p:configuration=$configuration `
|
||||
/p:SymbolPackageFormat=snupkg `
|
||||
/restore `
|
||||
/t:build `
|
||||
/t:Build `
|
||||
/p:Packing=true `
|
||||
/bl:"$artifacts/blazorwebview-build-$configuration.binlog"
|
||||
/bl:"$logsDirectory/blazorwebview-build-$configuration.binlog"
|
||||
if (!$?) { throw "Build BlazorWebView failed." }
|
||||
|
||||
& $msbuild $blazorWebViewSln `
|
||||
/p:configuration=$configuration `
|
||||
/p:SymbolPackageFormat=snupkg `
|
||||
/t:pack `
|
||||
/t:Pack `
|
||||
/p:Packing=true `
|
||||
/bl:"$artifacts/blazorwebview-pack-$configuration.binlog"
|
||||
/bl:"$logsDirectory/blazorwebview-pack-$configuration.binlog"
|
||||
if (!$?) { throw "Pack BlazorWebView failed." }
|
||||
}
|
||||
finally
|
||||
|
@ -142,7 +134,7 @@ else
|
|||
& $dotnet_tool pack $sln `
|
||||
-c:$configuration `
|
||||
-p:SymbolPackageFormat=snupkg `
|
||||
-bl:$artifacts/maui-pack-$configuration.binlog
|
||||
-bl:$logsDirectory/maui-pack-$configuration.binlog
|
||||
if (!$?) { throw "Pack failed." }
|
||||
}
|
||||
finally
|
||||
|
|
|
@ -1,79 +0,0 @@
|
|||
parameters:
|
||||
msbuildExtraArguments : ''
|
||||
artifactsTargetFolder: '$(build.artifactstagingdirectory)'
|
||||
artifactsName: 'win_build'
|
||||
nunitTestFolder: '$(build.sourcesdirectory)'
|
||||
nunitTestAdapterFolder: 'packages/NUnitTestAdapter.AnyVersion/build/'
|
||||
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: true
|
||||
|
||||
- task: xamops.azdevex.provisionator-task.provisionator@1
|
||||
displayName: 'Provisionator'
|
||||
condition: eq(variables['provisioning'], 'true')
|
||||
inputs:
|
||||
provisioning_script: $(provisionator.path)
|
||||
provisioning_extra_args: $(provisionator.extraArguments)
|
||||
|
||||
- powershell: |
|
||||
& dotnet build src\DotNet\DotNet.csproj -bl:${{ parameters.artifactsTargetFolder }}\$(BuildConfiguration)-dotnet.binlog
|
||||
displayName: install .NET
|
||||
|
||||
- powershell: |
|
||||
$(System.DefaultWorkingDirectory)/build.ps1 --target provision --TeamProject="$(System.TeamProject)"
|
||||
displayName: 'Cake Provision'
|
||||
condition: eq(variables['provisioningCake'], 'true')
|
||||
|
||||
- task: NuGetToolInstaller@1
|
||||
displayName: 'Use NuGet $(NUGET_VERSION)'
|
||||
condition: ne(variables['NUGET_VERSION'], '')
|
||||
inputs:
|
||||
versionSpec: $(NUGET_VERSION)
|
||||
|
||||
- task: CmdLine@2
|
||||
displayName: 'install NUnit3TestAdapter'
|
||||
inputs:
|
||||
script: 'nuget install NUnit3TestAdapter'
|
||||
|
||||
- script: build.cmd -Target BuildUnitTests -ScriptArgs '--configuration="$(BuildConfiguration)"','--Build_ArtifactStagingDirectory="$(Build.ArtifactStagingDirectory)"'
|
||||
name: winbuild
|
||||
displayName: 'Build Projects For Nuget'
|
||||
|
||||
- task: VSTest@2
|
||||
displayName: 'XAML Unit Tests'
|
||||
inputs:
|
||||
testAssemblyVer2: |
|
||||
**/bin/$(BuildConfiguration)/**/Microsoft.Maui.Controls.Xaml.UnitTests.dll
|
||||
searchFolder: ${{ parameters.nunitTestFolder }}
|
||||
codeCoverageEnabled: true
|
||||
testRunTitle: '$(BuildConfiguration)_UnitTests'
|
||||
configuration: '$(BuildConfiguration)'
|
||||
diagnosticsEnabled: true
|
||||
# Disable code coverage in child processes
|
||||
# See: https://github.com/Microsoft/vstest/issues/1263
|
||||
otherConsoleOptions: -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.CodeCoverage.CollectFromChildProcesses=False
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: 'Unit Tests'
|
||||
inputs:
|
||||
command: test
|
||||
projects: |
|
||||
**/Controls.Core.UnitTests.csproj
|
||||
**/Core.UnitTests.csproj
|
||||
**/Essentials.UnitTests.csproj
|
||||
**/Resizetizer.UnitTests.csproj
|
||||
arguments: '--configuration $(BuildConfiguration)'
|
||||
|
||||
- task: CopyFiles@2
|
||||
displayName: 'Copy Files dlls'
|
||||
inputs:
|
||||
Contents: |
|
||||
src/**/bin/**/*.dll
|
||||
TargetFolder: ${{ parameters.artifactsTargetFolder }}
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Publish Artifact: ${{ parameters.artifactsName }}'
|
||||
condition: always()
|
||||
inputs:
|
||||
ArtifactName: ${{ parameters.artifactsName }}
|
|
@ -2,65 +2,25 @@ parameters:
|
|||
platform: '' # [ android, ios ]
|
||||
path: '' # path to csproj
|
||||
device: '' # the xharness device to use
|
||||
net6: false # whether or not this is a net6 build
|
||||
cakeArgs: '' # additional cake args
|
||||
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: true
|
||||
|
||||
- task: xamops.azdevex.provisionator-task.provisionator@1
|
||||
displayName: 'Provision Xcode'
|
||||
condition: ne(variables['REQUIRED_XCODE'], '')
|
||||
inputs:
|
||||
provisioning_script: $(provisionator.xcode)
|
||||
|
||||
- script: |
|
||||
echo "##vso[task.prependpath]/Library/Frameworks/Mono.framework/Versions/Current/Commands/"
|
||||
echo "##vso[task.prependpath]~/Library/Developer/Xamarin/android-sdk-macosx"
|
||||
displayName: 'Setup SDK Paths'
|
||||
condition: or(and(ne(variables['androidTestsVmPool'], 'Azure Pipelines'), ne('${{ parameters.platform }}', 'android')), and(ne(variables['iosTestsVmPool'], 'Azure Pipelines'), ne('${{ parameters.platform }}', 'ios')))
|
||||
|
||||
- ${{ if eq(parameters['platform'], 'ios') }}:
|
||||
- task: InstallAppleCertificate@2
|
||||
displayName: 'Install an Apple certificate'
|
||||
inputs:
|
||||
certSecureFile: 'Maui.p12'
|
||||
certPwd: $(P12password)
|
||||
- template: provision.yml
|
||||
parameters:
|
||||
platform: macos
|
||||
skipXcode: ${{ eq(parameters.platform, 'android') }}
|
||||
|
||||
- task: InstallAppleProvisioningProfile@1
|
||||
displayName: 'Install an Apple provisioning profile'
|
||||
inputs:
|
||||
provProfileSecureFile: 'Maui_iOS_Provisioning.mobileprovision'
|
||||
- pwsh: ./build.ps1 --target=dotnet --configuration="Release"
|
||||
displayName: 'Install .NET'
|
||||
|
||||
- task: xamops.azdevex.provisionator-task.provisionator@1
|
||||
displayName: 'Provisionator'
|
||||
condition: eq(variables['provisioning'], 'true')
|
||||
inputs:
|
||||
provisioning_script: $(provisionator.path)
|
||||
provisioning_extra_args: $(provisionator.extraArguments)
|
||||
- pwsh: echo "##vso[task.prependpath]$(DotNet.Dir)"
|
||||
displayName: 'Add .NET to PATH'
|
||||
|
||||
- script: |
|
||||
dotnet build src/DotNet/DotNet.csproj -bl:$(Build.ArtifactStagingDirectory)/$(BuildConfiguration)-dotnet.binlog
|
||||
echo "##vso[task.prependpath]$(DotNet.Dir)"
|
||||
displayName: install .NET
|
||||
|
||||
- script: |
|
||||
dotnet tool restore
|
||||
dotnet tool update microsoft.dotnet.xharness.cli --version $(XHARNESS_VERSION)
|
||||
displayName: install dotnet tools
|
||||
|
||||
- pwsh: |
|
||||
./build.ps1 --target provision --TeamProject="$(System.TeamProject)"
|
||||
displayName: 'Cake Provision'
|
||||
condition: eq(variables['provisioningCake'], 'true')
|
||||
|
||||
- pwsh: |
|
||||
./build.ps1 --target=${{ replace(replace(parameters.net6, 'true', 'dotnet-'), 'false', '') }}buildtasks --configuration=Debug --Build_ArtifactStagingDirectory="$(Build.ArtifactStagingDirectory)"
|
||||
- pwsh: ./build.ps1 --target=dotnet-buildtasks --configuration="Release"
|
||||
displayName: 'Build the MSBuild Tasks'
|
||||
|
||||
- pwsh: |
|
||||
./build.ps1 -Script eng/devices/${{ parameters.platform }}.cake --project="${{ parameters.path }}" --device=${{ parameters.device }} --results="$(System.DefaultWorkingDirectory)/output/testlogs" ${{ replace(replace(parameters.net6, 'true', '--dotnet=true'), 'false', '') }} ${{ parameters.cakeArgs }}
|
||||
- pwsh: ./build.ps1 -Script eng/devices/${{ parameters.platform }}.cake --project="${{ parameters.path }}" --device=${{ parameters.device }} --results="$(TestResultsDirectory)" --binlog="$(LogDirectory)" ${{ parameters.cakeArgs }}
|
||||
displayName: $(Agent.JobName)
|
||||
|
||||
- task: PublishTestResults@2
|
||||
|
@ -68,12 +28,11 @@ steps:
|
|||
condition: always()
|
||||
inputs:
|
||||
testResultsFormat: xUnit
|
||||
testResultsFiles: 'output/testlogs/**/TestResults.xml'
|
||||
testResultsFiles: '$(TestResultsDirectory)/**/TestResults.xml'
|
||||
testRunTitle: '$(System.PhaseName)'
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: Publish the $(System.PhaseName) logs
|
||||
displayName: Publish Artifacts
|
||||
condition: always()
|
||||
inputs:
|
||||
artifactName: $(System.PhaseName)
|
||||
pathToPublish: 'output/testlogs'
|
||||
|
|
|
@ -10,7 +10,6 @@ parameters:
|
|||
desc: Human Description
|
||||
android: /optional/path/to/android.csproj
|
||||
ios: /optional/path/to/ios.csproj
|
||||
net6: false
|
||||
|
||||
stages:
|
||||
|
||||
|
@ -29,7 +28,10 @@ stages:
|
|||
name: ${{ parameters.androidVmPool }}
|
||||
vmImage: ${{ parameters.androidVmImage }}
|
||||
variables:
|
||||
ANDROID_EMULATORS: "system-images;android-${{ api }};google_apis;x86"
|
||||
${{ if ge(api, 24) }}:
|
||||
ANDROID_EMULATORS: "system-images;android-${{ api }};google_apis_playstore;x86"
|
||||
${{ if lt(api, 24) }}:
|
||||
ANDROID_EMULATORS: "system-images;android-${{ api }};google_apis;x86"
|
||||
REQUIRED_XCODE: $(DEVICETESTS_REQUIRED_XCODE)
|
||||
steps:
|
||||
- template: device-tests-steps.yml
|
||||
|
@ -37,7 +39,6 @@ stages:
|
|||
platform: android
|
||||
path: ${{ project.android }}
|
||||
device: android-emulator-32_${{ api }}
|
||||
net6: ${{ project.net6 }}
|
||||
|
||||
- stage: ios_device_tests
|
||||
displayName: iOS Device Tests
|
||||
|
@ -64,4 +65,3 @@ stages:
|
|||
device: ios-simulator-64
|
||||
${{ if ne(version, 'latest') }}:
|
||||
device: ios-simulator-64_${{ version }}
|
||||
net6: ${{ project.net6 }}
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
parameters:
|
||||
platform : ''
|
||||
skipXcode: false
|
||||
|
||||
steps:
|
||||
|
||||
# Prepare macOS
|
||||
- ${{ if eq(parameters.platform, 'macos') }}:
|
||||
# Provision Xcode
|
||||
- ${{ if ne(parameters.skipXcode, 'true') }}:
|
||||
- task: xamops.azdevex.provisionator-task.provisionator@1
|
||||
displayName: 'Provision Xcode'
|
||||
condition: ne(variables['REQUIRED_XCODE'], '')
|
||||
inputs:
|
||||
provisioning_script: $(provisionator.xcode)
|
||||
# Provision Additional Software
|
||||
- task: xamops.azdevex.provisionator-task.provisionator@1
|
||||
displayName: 'Provision Additional Software'
|
||||
condition: eq(variables['provisioning'], 'true')
|
||||
inputs:
|
||||
provisioning_script: $(provisionator.path)
|
||||
provisioning_extra_args: $(provisionator.extraArguments)
|
||||
# Setup SDK Paths
|
||||
- bash: |
|
||||
echo "##vso[task.prependpath]/Library/Frameworks/Mono.framework/Versions/Current/Commands/"
|
||||
echo "##vso[task.prependpath]~/Library/Developer/Xamarin/android-sdk-macosx"
|
||||
displayName: 'Setup SDK Paths'
|
||||
condition: ne(variables['osx2019VmPool'], 'Azure Pipelines')
|
||||
# Setup JDK Paths
|
||||
- bash: |
|
||||
echo "##vso[task.setvariable variable=JI_JAVA_HOME]$(JAVA_HOME_11_X64)"
|
||||
displayName: 'Setup JDK Paths'
|
||||
# Configure VS Mac for Xcode
|
||||
- bash: |
|
||||
set -x
|
||||
mkdir -p ~/Library/Preferences/Xamarin
|
||||
rm -f ~/Library/Preferences/Xamarin/Settings.plist
|
||||
/usr/libexec/PlistBuddy -c "add :AppleSdkRoot string $(dirname $(dirname $(xcode-select -p)))" ~/Library/Preferences/Xamarin/Settings.plist || true
|
||||
cat ~/Library/Preferences/Xamarin/Settings.plist || true
|
||||
displayName: 'Configure Visual Studio'
|
||||
# Install Certificates and Provisioning Profiles
|
||||
- task: InstallAppleProvisioningProfile@1
|
||||
displayName: 'Install the iOS provisioning profile'
|
||||
inputs:
|
||||
provProfileSecureFile: 'Components iOS Provisioning.mobileprovision'
|
||||
- task: InstallAppleProvisioningProfile@1
|
||||
displayName: 'Install the macOS provisioning profile'
|
||||
inputs:
|
||||
provProfileSecureFile: 'Components Mac Provisioning.mobileprovision'
|
||||
- task: InstallAppleProvisioningProfile@1
|
||||
displayName: 'Install the tvOS provisioning profile'
|
||||
inputs:
|
||||
provProfileSecureFile: 'Components tvOS Provisioning.mobileprovision'
|
||||
- task: InstallAppleCertificate@2
|
||||
displayName: 'Install the iOS certificate'
|
||||
inputs:
|
||||
certSecureFile: 'Components iOS Certificate.p12'
|
||||
- task: InstallAppleCertificate@2
|
||||
condition: eq(variables['System.JobName'], 'macos')
|
||||
displayName: 'Install the macOS certificate'
|
||||
inputs:
|
||||
certSecureFile: 'Components Mac Certificate.p12'
|
||||
|
||||
|
||||
# Prepare Windows
|
||||
- ${{ if eq(parameters.platform, 'windows') }}:
|
||||
- task: xamops.azdevex.provisionator-task.provisionator@1
|
||||
displayName: 'Provision Visual Studio'
|
||||
inputs:
|
||||
provisioning_script: $(provisionator.vs)
|
||||
- powershell: |
|
||||
if (-not $(where.exe pwsh)) {
|
||||
$url = "https://github.com/PowerShell/PowerShell/releases/download/v$env:POWERSHELL_VERSION/PowerShell-$env:POWERSHELL_VERSION-win-x64.msi"
|
||||
$output = "$env:TEMP\PowerShell.msi"
|
||||
Remove-Item $output
|
||||
Invoke-WebRequest -Uri $url -OutFile $output
|
||||
msiexec.exe /package $output /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1
|
||||
}
|
||||
displayName: 'Install PowerShell Core'
|
||||
- pwsh: |
|
||||
$msbuild = "$env:ProgramFiles/Microsoft Visual Studio/2022/Preview/MSBuild/Current/Bin/MSBuild.exe"
|
||||
echo "##vso[task.setvariable variable=MSBUILD_EXE]$msbuild"
|
||||
displayName: 'Setup MSBuild Paths'
|
||||
|
||||
|
||||
# Prepare Both
|
||||
- pwsh: ./build.ps1 --target provision
|
||||
displayName: 'Cake Provision'
|
||||
condition: eq(variables['provisioningCake'], 'true')
|
|
@ -7,8 +7,6 @@ variables:
|
|||
value: true
|
||||
- name: DOTNET_VERSION
|
||||
value: 5.0.201
|
||||
- name: XHARNESS_VERSION
|
||||
value: 1.0.0-prerelease.21372.1
|
||||
- name: LocBranchPrefix
|
||||
value: 'loc-hb'
|
||||
- name: LocBranch
|
||||
|
@ -27,9 +25,11 @@ variables:
|
|||
value: $[eq(variables['Build.Reason'], 'PullRequest')]
|
||||
# Common Agent Pools in use
|
||||
- name: HostedWinVS2019
|
||||
value: Hosted Windows 2019 with VS2019
|
||||
value: Hosted Windows 2019 with VS2019
|
||||
- name: LogDirectory
|
||||
value: $(Build.ArtifactStagingDirectory)/logs
|
||||
- name: TestResultsDirectory
|
||||
value: $(Build.ArtifactStagingDirectory)/test-results
|
||||
- name: provisionator.xcode
|
||||
value: '$(System.DefaultWorkingDirectory)/eng/provisioning/xcode.csx'
|
||||
- name: provisionator.path
|
||||
|
@ -44,3 +44,5 @@ variables:
|
|||
value: $(System.DefaultWorkingDirectory)/bin/dotnet/dotnet
|
||||
- name: TeamName
|
||||
value: Maui
|
||||
- name: POWERSHELL_VERSION
|
||||
value: 7.1.3
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
- release/*
|
||||
- loc
|
||||
tags:
|
||||
include:
|
||||
- '*'
|
||||
paths:
|
||||
include:
|
||||
- '*'
|
||||
exclude:
|
||||
- .github/*
|
||||
- docs/*
|
||||
- CODE-OF-CONDUCT.md
|
||||
- CONTRIBUTING.md
|
||||
- LICENSE.TXT
|
||||
- PATENTS.TXT
|
||||
- README.md
|
||||
- SECURITY.md
|
||||
- THIRD-PARTY-NOTICES.TXT
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
- release/*
|
||||
paths:
|
||||
include:
|
||||
- '*'
|
||||
exclude:
|
||||
- .github/*
|
||||
- docs/*
|
||||
- CODE-OF-CONDUCT.md
|
||||
- CONTRIBUTING.md
|
||||
- LICENSE.TXT
|
||||
- PATENTS.TXT
|
||||
- README.md
|
||||
- SECURITY.md
|
||||
- THIRD-PARTY-NOTICES.TXT
|
||||
|
||||
variables:
|
||||
- template: /eng/pipelines/common/variables.yml
|
||||
|
||||
parameters:
|
||||
- name: BuildEverything
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
stages:
|
||||
|
||||
- template: common/device-tests.yml
|
||||
parameters:
|
||||
${{ if or(parameters.BuildEverything, and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'devdiv'))) }}:
|
||||
androidApiLevels: [ 30, 29, 28, 27, 26, 25, 24, 23 ]
|
||||
# androidApiLevels: [ 30, 29, 28, 27, 26, 25, 24, 23, 22, 21 ] # fix the issue of getting the test results off
|
||||
iosVersions: [ 'latest', '14.5', '13.7', '12.4', '11.4' ]
|
||||
projects:
|
||||
- name: essentials
|
||||
desc: Essentials
|
||||
android: $(System.DefaultWorkingDirectory)/src/Essentials/test/DeviceTests/Essentials.DeviceTests.csproj
|
||||
ios: $(System.DefaultWorkingDirectory)/src/Essentials/test/DeviceTests/Essentials.DeviceTests.csproj
|
||||
- name: core
|
||||
desc: Core
|
||||
android: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests/Core.DeviceTests.csproj
|
||||
ios: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests/Core.DeviceTests.csproj
|
|
@ -62,13 +62,13 @@ parameters:
|
|||
- name: BuildPlatforms
|
||||
type: object
|
||||
default:
|
||||
- name: windows
|
||||
- name: Windows
|
||||
poolName: $(windowsNet6VmPool)
|
||||
vmImage: $(windowsNet6VmImage)
|
||||
bootsAndroid: $(Android.Msi)
|
||||
bootsiOS: $(iOS.Msi)
|
||||
artifact: net6-windows
|
||||
- name: macos
|
||||
- name: macOS
|
||||
poolName: $(macOSXNet6VmPool)
|
||||
vmImage: $(macOSXNet6VmImage)
|
||||
bootsAndroid: $(Android.Pkg)
|
||||
|
@ -78,13 +78,13 @@ parameters:
|
|||
- name: PackPlatforms
|
||||
type: object
|
||||
default:
|
||||
- name: windows
|
||||
- name: Windows
|
||||
poolName: $(windowsNet6VmPool)
|
||||
vmImage: $(windowsNet6VmImage)
|
||||
bootsAndroid: $(Android.Msi)
|
||||
bootsiOS: $(iOS.Msi)
|
||||
artifact: nuget
|
||||
- name: macos
|
||||
- name: macOS
|
||||
poolName: $(macOSXNet6VmPool)
|
||||
vmImage: $(macOSXNet6VmImage)
|
||||
bootsAndroid: $(Android.Pkg)
|
||||
|
@ -102,105 +102,44 @@ resources:
|
|||
|
||||
stages:
|
||||
|
||||
- stage: windows
|
||||
displayName: Build Windows
|
||||
jobs:
|
||||
- ${{ each BuildCondition in parameters.BuildConfigurations }}:
|
||||
- job: win_hosted_${{ BuildCondition }}
|
||||
workspace:
|
||||
clean: all
|
||||
displayName: Build Windows Phase (${{ BuildCondition }})
|
||||
condition: or(
|
||||
${{ parameters.BuildEverything }},
|
||||
ne(variables['Build.Reason'], 'PullRequest'),
|
||||
eq('${{ BuildCondition }}', 'Release'))
|
||||
timeoutInMinutes: 60
|
||||
pool:
|
||||
name: $(vs2019VmPool)
|
||||
vmImage: $(vs2019VmImage)
|
||||
demands: [ msbuild ]
|
||||
steps:
|
||||
- template: common/build-windows.yml
|
||||
|
||||
- stage: windows_cake_validation
|
||||
displayName: Windows Cake Validation
|
||||
- stage: build_net6
|
||||
displayName: Build .NET 6
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- ${{ each BuildCondition in parameters.BuildConfigurations }}:
|
||||
- job: win_hosted_${{ BuildCondition }}
|
||||
workspace:
|
||||
clean: all
|
||||
displayName: Build Windows Phase (${{ BuildCondition }})
|
||||
condition: or(
|
||||
${{ parameters.BuildEverything }},
|
||||
ne(variables['Build.Reason'], 'PullRequest'),
|
||||
eq('${{ BuildCondition }}', 'Release'))
|
||||
timeoutInMinutes: 60
|
||||
pool:
|
||||
name: $(vs2019VmPool)
|
||||
vmImage: $(vs2019VmImage)
|
||||
demands: [ msbuild ]
|
||||
steps:
|
||||
- task: xamops.azdevex.provisionator-task.provisionator@1
|
||||
displayName: 'Provision VSWindows'
|
||||
inputs:
|
||||
provisioning_script: $(provisionator.vs)
|
||||
- script: dotnet tool restore
|
||||
displayName: install dotnet tools
|
||||
- powershell: |
|
||||
$msbuild = "$env:ProgramFiles/Microsoft Visual Studio/2022/Preview/MSBuild/Current/Bin/MSBuild.exe"
|
||||
$env:MSBUILD_EXE = "$msbuild"
|
||||
& dotnet cake --target=VS-WINUI-CI --configuration=${{ BuildCondition }} --msbuild="$msbuild"
|
||||
displayName: 'Build WinUI SLN'
|
||||
- task: CopyFiles@2
|
||||
displayName: 'Copy Bin Log Files'
|
||||
condition: always()
|
||||
inputs:
|
||||
Contents: |
|
||||
**/*.binlog
|
||||
TargetFolder: $(build.artifactstagingdirectory)
|
||||
flattenFolders: true
|
||||
- task: PublishBuildArtifacts@1
|
||||
condition: always()
|
||||
displayName: publish artifacts
|
||||
inputs:
|
||||
ArtifactName: win_build_cake
|
||||
|
||||
- stage: build_osx
|
||||
displayName: iOS
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- job: ios
|
||||
workspace:
|
||||
clean: all
|
||||
displayName: Build ControlGallery iOS
|
||||
timeoutInMinutes: 120
|
||||
pool:
|
||||
name: $(macOSXVmPool)
|
||||
vmImage: $(macOSXVmImage)
|
||||
demands:
|
||||
- sh
|
||||
- Xamarin.iOS
|
||||
steps:
|
||||
- template: common/controlgallery-ios.yml
|
||||
|
||||
- stage: build_android
|
||||
displayName: Android
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- job: android
|
||||
workspace:
|
||||
clean: all
|
||||
displayName: Build ControlGallery Android
|
||||
timeoutInMinutes: 120
|
||||
pool:
|
||||
name: $(macOSXVmPool)
|
||||
vmImage: $(macOSXVmImage)
|
||||
variables:
|
||||
renderers: 'FAST'
|
||||
outputfolder: 'newRenderers'
|
||||
steps:
|
||||
- template: common/controlgallery-android.yml
|
||||
- ${{ each BuildPlatform in parameters.BuildPlatforms }}:
|
||||
- ${{ each BuildConfiguration in parameters.BuildConfigurations }}:
|
||||
- job: build_net6_${{ BuildPlatform.name }}_${{ BuildConfiguration }}
|
||||
workspace:
|
||||
clean: all
|
||||
displayName: ${{ BuildPlatform.name }} (${{ BuildConfiguration }})
|
||||
timeoutInMinutes: 120
|
||||
condition: or(
|
||||
${{ parameters.BuildEverything }},
|
||||
ne(variables['Build.Reason'], 'PullRequest'),
|
||||
eq('${{ BuildConfiguration }}', 'Release'))
|
||||
pool:
|
||||
name: ${{ BuildPlatform.poolName }}
|
||||
vmImage: ${{ BuildPlatform.vmImage }}
|
||||
steps:
|
||||
- template: common/provision.yml
|
||||
parameters:
|
||||
platform: ${{ BuildPlatform.name }}
|
||||
- pwsh: ./build.ps1 --target=dotnet --configuration="${{ BuildConfiguration }}" --verbosity=diagnostic
|
||||
displayName: 'Install .NET'
|
||||
- pwsh: ./build.ps1 --target=dotnet-build --configuration="${{ BuildConfiguration }}" --verbosity=diagnostic
|
||||
displayName: 'Build .NET Maui'
|
||||
- pwsh: ./build.ps1 --target=dotnet-test --configuration="${{ BuildConfiguration }}" --verbosity=diagnostic
|
||||
displayName: 'Run Unit Tests'
|
||||
- task: PublishTestResults@2
|
||||
condition: always()
|
||||
inputs:
|
||||
testRunner: VSTest
|
||||
testResultsFiles: '$(build.artifactstagingdirectory)/**/*.trx'
|
||||
- task: PublishBuildArtifacts@1
|
||||
condition: always()
|
||||
displayName: Publish Artifacts (${{ BuildPlatform.artifact }})
|
||||
inputs:
|
||||
ArtifactName: ${{ BuildPlatform.artifact }}
|
||||
|
||||
- stage: pack_net6
|
||||
displayName: Pack .NET 6
|
||||
|
@ -210,75 +149,34 @@ stages:
|
|||
- job: pack_net6_${{ BuildPlatform.name }}
|
||||
workspace:
|
||||
clean: all
|
||||
displayName: Pack .NET 6 (${{ BuildPlatform.name }})
|
||||
displayName: ${{ BuildPlatform.name }}
|
||||
timeoutInMinutes: 120
|
||||
pool:
|
||||
name: ${{ BuildPlatform.poolName }}
|
||||
vmImage: ${{ BuildPlatform.vmImage }}
|
||||
steps:
|
||||
- ${{ if eq(BuildPlatform.name, 'macos') }}:
|
||||
- task: xamops.azdevex.provisionator-task.provisionator@1
|
||||
displayName: 'Provision Xcode'
|
||||
condition: ne(variables['REQUIRED_XCODE'], '')
|
||||
inputs:
|
||||
provisioning_script: $(provisionator.xcode)
|
||||
|
||||
- task: xamops.azdevex.provisionator-task.provisionator@1
|
||||
displayName: 'Provisionator'
|
||||
condition: eq(variables['provisioning'], 'true')
|
||||
inputs:
|
||||
provisioning_script: $(provisionator.path)
|
||||
provisioning_extra_args: $(provisionator.extraArguments)
|
||||
|
||||
- script: |
|
||||
echo "##vso[task.prependpath]/Library/Frameworks/Mono.framework/Versions/Current/Commands/"
|
||||
echo "##vso[task.prependpath]~/Library/Developer/Xamarin/android-sdk-macosx"
|
||||
displayName: 'Setup SDK Paths'
|
||||
condition: ne(variables['osx2019VmPool'], 'Azure Pipelines')
|
||||
|
||||
- bash: |
|
||||
set -x
|
||||
mkdir -p ~/Library/Preferences/Xamarin
|
||||
rm -f ~/Library/Preferences/Xamarin/Settings.plist
|
||||
/usr/libexec/PlistBuddy -c "add :AppleSdkRoot string $(dirname $(dirname $(xcode-select -p)))" ~/Library/Preferences/Xamarin/Settings.plist || true
|
||||
cat ~/Library/Preferences/Xamarin/Settings.plist || true
|
||||
displayName: configure vsmac xcode
|
||||
|
||||
- script: echo '##vso[task.setvariable variable=JI_JAVA_HOME]$(JAVA_HOME_11_X64)'
|
||||
displayName: set JI_JAVA_HOME
|
||||
|
||||
- ${{ if eq(BuildPlatform.name, 'windows') }}:
|
||||
- task: xamops.azdevex.provisionator-task.provisionator@1
|
||||
displayName: 'Provision VSWindows'
|
||||
inputs:
|
||||
provisioning_script: $(provisionator.vs)
|
||||
- powershell: |
|
||||
$msbuild = "$env:ProgramFiles/Microsoft Visual Studio/2022/Preview/MSBuild/Current/Bin/MSBuild.exe"
|
||||
echo "MSBUILD_EXE: $msbuild"
|
||||
echo "##vso[task.setvariable variable=MSBUILD_EXE]$msbuild"
|
||||
displayName: set MSBUILD_EXE
|
||||
|
||||
- script: dotnet tool restore
|
||||
displayName: install dotnet tools
|
||||
- powershell: dotnet cake --configuration=Release
|
||||
displayName: pack nugets
|
||||
- template: common/provision.yml
|
||||
parameters:
|
||||
platform: ${{ BuildPlatform.name }}
|
||||
- pwsh: ./build.ps1 --target=dotnet-pack --configuration="Release" --verbosity=diagnostic
|
||||
displayName: 'Pack .NET Maui'
|
||||
- task: CopyFiles@2
|
||||
condition: always()
|
||||
displayName: 'Copy files to staging'
|
||||
inputs:
|
||||
Contents: |
|
||||
artifacts/*nupkg
|
||||
artifacts/**/*.*nupkg
|
||||
artifacts/vs-workload.props
|
||||
**/SignList.xml
|
||||
eng/automation/SignList.xml
|
||||
TargetFolder: $(build.artifactstagingdirectory)
|
||||
flattenFolders: true
|
||||
- task: CopyFiles@2
|
||||
displayName: 'Copy Bin Log Files'
|
||||
displayName: 'Copy Log Files'
|
||||
condition: always()
|
||||
inputs:
|
||||
Contents: |
|
||||
**/*.binlog
|
||||
TargetFolder: $(build.artifactstagingdirectory)
|
||||
artifacts/logs/**
|
||||
TargetFolder: $(build.artifactstagingdirectory)/logs
|
||||
flattenFolders: true
|
||||
- task: PublishBuildArtifacts@1
|
||||
condition: always()
|
||||
|
@ -286,99 +184,92 @@ stages:
|
|||
inputs:
|
||||
ArtifactName: ${{ BuildPlatform.artifact }}
|
||||
|
||||
- stage: build_net6
|
||||
displayName: .NET 6 Samples
|
||||
- stage: samples_net6
|
||||
displayName: Build .NET 6 Samples
|
||||
dependsOn: pack_net6
|
||||
jobs:
|
||||
- ${{ each BuildPlatform in parameters.BuildPlatforms }}:
|
||||
- ${{ each BuildCondition in parameters.BuildConfigurations }}:
|
||||
- job: build_net6_${{ BuildPlatform.name }}_${{ BuildCondition }}
|
||||
- ${{ each BuildConfiguration in parameters.BuildConfigurations }}:
|
||||
- job: build_net6_${{ BuildPlatform.name }}_${{ BuildConfiguration }}
|
||||
workspace:
|
||||
clean: all
|
||||
displayName: .NET 6 Samples (${{ BuildPlatform.name }} | ${{ BuildCondition }})
|
||||
displayName: ${{ BuildPlatform.name }} (${{ BuildConfiguration }})
|
||||
timeoutInMinutes: 120
|
||||
condition: or(
|
||||
${{ parameters.BuildEverything }},
|
||||
ne(variables['Build.Reason'], 'PullRequest'),
|
||||
eq('${{ BuildCondition }}', 'Release'))
|
||||
eq('${{ BuildConfiguration }}', 'Release'))
|
||||
pool:
|
||||
name: ${{ BuildPlatform.poolName }}
|
||||
vmImage: ${{ BuildPlatform.vmImage }}
|
||||
steps:
|
||||
- ${{ if eq(BuildPlatform.name, 'macos') }}:
|
||||
- task: xamops.azdevex.provisionator-task.provisionator@1
|
||||
displayName: 'Provision Xcode'
|
||||
condition: ne(variables['REQUIRED_XCODE'], '')
|
||||
inputs:
|
||||
provisioning_script: $(provisionator.xcode)
|
||||
|
||||
- task: xamops.azdevex.provisionator-task.provisionator@1
|
||||
displayName: 'Provisionator'
|
||||
condition: eq(variables['provisioning'], 'true')
|
||||
inputs:
|
||||
provisioning_script: $(provisionator.path)
|
||||
provisioning_extra_args: $(provisionator.extraArguments)
|
||||
|
||||
- script: |
|
||||
echo "##vso[task.prependpath]/Library/Frameworks/Mono.framework/Versions/Current/Commands/"
|
||||
echo "##vso[task.prependpath]~/Library/Developer/Xamarin/android-sdk-macosx"
|
||||
displayName: 'Setup SDK Paths'
|
||||
condition: ne(variables['osx2019VmPool'], 'Azure Pipelines')
|
||||
|
||||
- bash: |
|
||||
set -x
|
||||
mkdir -p ~/Library/Preferences/Xamarin
|
||||
rm -f ~/Library/Preferences/Xamarin/Settings.plist
|
||||
/usr/libexec/PlistBuddy -c "add :AppleSdkRoot string $(dirname $(dirname $(xcode-select -p)))" ~/Library/Preferences/Xamarin/Settings.plist || true
|
||||
cat ~/Library/Preferences/Xamarin/Settings.plist || true
|
||||
displayName: configure vsmac xcode
|
||||
- script: echo '##vso[task.setvariable variable=JI_JAVA_HOME]$(JAVA_HOME_11_X64)'
|
||||
displayName: set JI_JAVA_HOME
|
||||
|
||||
- task: DownloadPipelineArtifact@2
|
||||
displayName: download nuget
|
||||
- template: common/provision.yml
|
||||
parameters:
|
||||
platform: ${{ BuildPlatform.name }}
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: 'Download Packages'
|
||||
inputs:
|
||||
artifact: nuget
|
||||
patterns: '**/*.nupkg'
|
||||
path: $(System.DefaultWorkingDirectory)/artifacts
|
||||
|
||||
- pwsh: |
|
||||
& dotnet build src/DotNet/DotNet.csproj -p:InstallWorkloadPacks=false -bl:$(LogDirectory)/$(BuildConfiguration)-dotnet.binlog
|
||||
$env:PATH = (Join-Path '$(System.DefaultWorkingDirectory)' 'bin/dotnet') + [IO.Path]::PathSeparator + $env:PATH
|
||||
& $(DotNet.Path) build src/DotNet/DotNet.csproj -t:Install -bl:$(LogDirectory)/$(BuildConfiguration)-dotnet-install.binlog
|
||||
& $(DotNet.Path) build Microsoft.Maui.Samples-net6.slnf -c $(BuildConfiguration) -p:UseWorkload=true -bl:$(LogDirectory)/$(BuildConfiguration)-samples.binlog
|
||||
displayName: build samples
|
||||
errorActionPreference: stop
|
||||
artifactName: nuget
|
||||
itemPattern: '**/*.nupkg'
|
||||
downloadPath: $(System.DefaultWorkingDirectory)/artifacts
|
||||
- pwsh: Move-Item -Path artifacts\nuget\*.nupkg -Destination artifacts -Force
|
||||
displayName: Move the downloaded artifacts
|
||||
- pwsh: ./build.ps1 --target=dotnet-local-workloads --configuration="${{ BuildConfiguration }}" --verbosity=diagnostic
|
||||
displayName: 'Install .NET (Local Workloads)'
|
||||
- pwsh: ./build.ps1 --target=dotnet-samples --configuration="${{ BuildConfiguration }}" --verbosity=diagnostic
|
||||
displayName: 'Build .NET 6 Samples'
|
||||
- task: PublishBuildArtifacts@1
|
||||
condition: always()
|
||||
displayName: publish artifacts
|
||||
inputs:
|
||||
ArtifactName: ${{ BuildPlatform.artifact }}
|
||||
|
||||
- template: common/device-tests.yml
|
||||
parameters:
|
||||
${{ if or(parameters.BuildEverything, ne(variables['Build.Reason'], 'PullRequest')) }}:
|
||||
androidApiLevels: [ 30, 29, 21 ]
|
||||
iosVersions: [ 'latest' ]
|
||||
projects:
|
||||
- name: essentials
|
||||
desc: Essentials
|
||||
android: $(System.DefaultWorkingDirectory)/src/Essentials/test/DeviceTests.Android/Essentials.DeviceTests.Android.csproj
|
||||
ios: $(System.DefaultWorkingDirectory)/src/Essentials/test/DeviceTests.iOS/Essentials.DeviceTests.iOS.csproj
|
||||
- name: core
|
||||
desc: Core
|
||||
android: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests.Android/Core.DeviceTests.Android.csproj
|
||||
ios: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests.iOS/Core.DeviceTests.iOS.csproj
|
||||
# - name: core_net6
|
||||
# desc: Core .NET 6
|
||||
# android: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests/Core.DeviceTests-net6.csproj
|
||||
# ios: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests/Core.DeviceTests-net6.csproj
|
||||
# net6: true
|
||||
- stage: templates_net6
|
||||
displayName: Build .NET 6 Templates
|
||||
dependsOn: pack_net6
|
||||
jobs:
|
||||
- ${{ each BuildPlatform in parameters.BuildPlatforms }}:
|
||||
- ${{ each BuildConfiguration in parameters.BuildConfigurations }}:
|
||||
- job: build_net6_${{ BuildPlatform.name }}_${{ BuildConfiguration }}
|
||||
workspace:
|
||||
clean: all
|
||||
displayName: ${{ BuildPlatform.name }} (${{ BuildConfiguration }})
|
||||
timeoutInMinutes: 120
|
||||
condition: or(
|
||||
${{ parameters.BuildEverything }},
|
||||
ne(variables['Build.Reason'], 'PullRequest'),
|
||||
eq('${{ BuildConfiguration }}', 'Release'))
|
||||
pool:
|
||||
name: ${{ BuildPlatform.poolName }}
|
||||
vmImage: ${{ BuildPlatform.vmImage }}
|
||||
steps:
|
||||
- template: common/provision.yml
|
||||
parameters:
|
||||
platform: ${{ BuildPlatform.name }}
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: 'Download Packages'
|
||||
inputs:
|
||||
artifactName: nuget
|
||||
itemPattern: '**/*.nupkg'
|
||||
downloadPath: $(System.DefaultWorkingDirectory)/artifacts
|
||||
- pwsh: Move-Item -Path artifacts\nuget\*.nupkg -Destination artifacts -Force
|
||||
displayName: Move the downloaded artifacts
|
||||
- pwsh: ./build.ps1 --target=dotnet-local-workloads --configuration="${{ BuildConfiguration }}" --verbosity=diagnostic
|
||||
displayName: 'Install .NET (Local Workloads)'
|
||||
- pwsh: ./build.ps1 --target=dotnet-templates --configuration="${{ BuildConfiguration }}" --verbosity=diagnostic
|
||||
displayName: 'Build .NET 6 Templates'
|
||||
- task: PublishBuildArtifacts@1
|
||||
condition: always()
|
||||
displayName: publish artifacts
|
||||
inputs:
|
||||
ArtifactName: ${{ BuildPlatform.artifact }}
|
||||
|
||||
- template: common/security_compliance.yml
|
||||
- template: common/localization-handoff.yml # Process outgoing strings [Localization Handoff]
|
||||
- template: common/localization-handback.yml # Process incoming translations and Create PR to main [Localization Handback]
|
||||
- template: common/merge-translations-update.yml # Validating incoming translations strings and merge PR [Localization Handback]
|
||||
|
||||
- ${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
|
||||
- template: common/localization-handoff.yml # Process outgoing strings [Localization Handoff]
|
||||
- template: common/localization-handback.yml # Process incoming translations and Create PR to main [Localization Handback]
|
||||
- template: common/merge-translations-update.yml # Validating incoming translations strings and merge PR [Localization Handback]
|
||||
|
||||
- ${{ if eq(variables['System.TeamProject'], 'devdiv') }}: # Sign only using the private server
|
||||
- stage: nuget_signing
|
||||
|
@ -411,3 +302,7 @@ stages:
|
|||
parameters:
|
||||
dependsOn: nuget_signing
|
||||
approvalTimeoutInMinutes: 30
|
||||
symbolArtifactName: nuget
|
||||
symbolArtifactPatterns: |
|
||||
**/signed/*.nupkg
|
||||
**/*.snupkg
|
||||
|
|
|
@ -104,6 +104,7 @@ if(String.IsNullOrWhiteSpace(ANDROID_API_SDKS))
|
|||
.ApiLevel((AndroidApiLevel)28)
|
||||
.ApiLevel((AndroidApiLevel)29)
|
||||
.ApiLevel((AndroidApiLevel)30)
|
||||
.ApiLevel((AndroidApiLevel)31)
|
||||
.SdkManagerPackage ("build-tools;29.0.3");
|
||||
}
|
||||
else{
|
||||
|
|
|
@ -5,48 +5,51 @@ using static Xamarin.Provisioning.ProvisioningScript;
|
|||
using System;
|
||||
using System.Linq;
|
||||
|
||||
var desiredXcode = Environment.GetEnvironmentVariable ("REQUIRED_XCODE");
|
||||
if (string.IsNullOrEmpty (desiredXcode)) {
|
||||
Console.WriteLine ("The environment variable 'REQUIRED_XCODE' must be exported and the value must be a valid value from the 'XreItem' enumeration.");
|
||||
return;
|
||||
var desiredXcode = Environment.GetEnvironmentVariable("REQUIRED_XCODE");
|
||||
if (string.IsNullOrEmpty(desiredXcode)) {
|
||||
Console.WriteLine("The environment variable 'REQUIRED_XCODE' must be exported and the value must be a valid value from the 'XreItem' enumeration.");
|
||||
return;
|
||||
}
|
||||
|
||||
desiredXcode = desiredXcode.Replace("Xcode_", "").Replace("_", ".");
|
||||
Console.WriteLine("Desired Xcode: {0}", desiredXcode);
|
||||
|
||||
// Find the best version
|
||||
Item item;
|
||||
|
||||
if(desiredXcode == "Latest")
|
||||
if (desiredXcode == "Latest")
|
||||
{
|
||||
item = XcodeBeta();
|
||||
|
||||
if(item.Version.StartsWith("12.0.0-beta."))
|
||||
{
|
||||
Console.WriteLine ("CheckInstalledDevOpsBetaXcodeAndSymlink");
|
||||
int expectedBeta = Convert.ToInt32(item.Version.Replace("12.0.0-beta.", ""));
|
||||
CheckInstalledDevOpsBetaXcodeAndSymlink("17200.1", expectedBeta: expectedBeta);
|
||||
}
|
||||
// // Fix up the case where the beta did not make it to the machine
|
||||
// var latestVersion = GetAvailableXcodes().First().Version;
|
||||
// Console.WriteLine($"Found the latest version: {latestVersion}");
|
||||
// var newVersion = TryMapBetaToStable(latestVersion);
|
||||
// if (newVersion != latestVersion)
|
||||
// {
|
||||
// Console.WriteLine($"Found a better version: {latestVersion} -> {newVersion}");
|
||||
// latestVersion = newVersion;
|
||||
// }
|
||||
// item = Xcode(latestVersion);
|
||||
item = XcodeBeta();
|
||||
}
|
||||
else if (desiredXcode == "Stable")
|
||||
item = XcodeStable();
|
||||
item = XcodeStable();
|
||||
else
|
||||
item = Xcode(desiredXcode);
|
||||
item = Xcode(desiredXcode);
|
||||
|
||||
Console.WriteLine ("InstallPath: {0}", item.Version);
|
||||
item.XcodeSelect ();
|
||||
Console.WriteLine("Selected version: {0}", item.Version);
|
||||
item.XcodeSelect();
|
||||
|
||||
LogInstalledXcodes();
|
||||
|
||||
var appleSdkOverride = Path.Combine(Environment.GetFolderPath (Environment.SpecialFolder.Personal), "Library", "Preferences", "Xamarin", "Settings.plist");
|
||||
var appleSdkOverride = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "Library", "Preferences", "Xamarin", "Settings.plist");
|
||||
Item("Override Apple SDK Settings")
|
||||
.Condition(item => !File.Exists(appleSdkOverride) || GetSettingValue(appleSdkOverride, "AppleSdkRoot") != GetSelectedXcodePath())
|
||||
.Action (item => {
|
||||
.Action(item =>
|
||||
{
|
||||
DeleteSafe(appleSdkOverride);
|
||||
CreateSetting(appleSdkOverride, "AppleSdkRoot", GetSelectedXcodePath ());
|
||||
Console.WriteLine($"New VSMac iOS SDK Location: {GetSelectedXcodePath ()}");
|
||||
CreateSetting(appleSdkOverride, "AppleSdkRoot", GetSelectedXcodePath());
|
||||
Console.WriteLine($"New VSMac iOS SDK Location: {GetSelectedXcodePath()}");
|
||||
});
|
||||
|
||||
|
||||
|
||||
void DeleteSafe(string file)
|
||||
{
|
||||
if (File.Exists(file))
|
||||
|
@ -63,32 +66,33 @@ string GetSettingValue(string settingFile, string keyName)
|
|||
return Exec("defaults", "read", settingFile, keyName).FirstOrDefault();
|
||||
}
|
||||
|
||||
bool CheckInstalledDevOpsBetaXcodeAndSymlink (string expectedBundleVersion, int expectedBeta)
|
||||
void SafeSymlink(string source, string destination)
|
||||
{
|
||||
var devOpsXcodeBetaPath = "/Applications/Xcode_12_beta.app";
|
||||
if (!Directory.Exists (devOpsXcodeBetaPath))
|
||||
return false;
|
||||
|
||||
var infoPlist = Plist (devOpsXcodeBetaPath);
|
||||
var bundleVersion = (string)infoPlist.CFBundleVersion;
|
||||
if (bundleVersion != expectedBundleVersion)
|
||||
return false;
|
||||
|
||||
if (RunningInCI) {
|
||||
SafeSymlink (devOpsXcodeBetaPath, $"/Applications/Xcode_12.0.0-beta{expectedBeta}.app");
|
||||
SafeSymlink (devOpsXcodeBetaPath, $"/Applications/Xcode_12_beta_{expectedBeta}.app");
|
||||
}
|
||||
|
||||
Console.WriteLine ($"CFBundleVersion found: {bundleVersion}");
|
||||
return true;
|
||||
}
|
||||
|
||||
void SafeSymlink (string source, string destination)
|
||||
{
|
||||
if (Directory.Exists (destination) || Config.DryRun)
|
||||
if (Directory.Exists(destination) || Config.DryRun)
|
||||
return;
|
||||
|
||||
Console.WriteLine ($"ln -sf {source} {destination}");
|
||||
Exec ("/bin/ln", "-sf", source, destination);
|
||||
Console.WriteLine ($"Symlink created: '{source}' links to '{destination}'");
|
||||
Console.WriteLine($"ln -sf {source} {destination}");
|
||||
Exec("/bin/ln", "-sf", source, destination);
|
||||
Console.WriteLine($"Symlink created: '{source}' links to '{destination}'");
|
||||
}
|
||||
|
||||
string TryMapBetaToStable(string betaVersion)
|
||||
{
|
||||
var index = betaVersion.IndexOf("-beta");
|
||||
if (index == -1)
|
||||
return betaVersion;
|
||||
|
||||
var stableVersion = betaVersion.Substring(0, index);
|
||||
if (stableVersion.EndsWith(".0"))
|
||||
{
|
||||
stableVersion = stableVersion.Substring(0, stableVersion.Length - 2);
|
||||
if (Directory.Exists($"/Applications/Xcode_{stableVersion}.app"))
|
||||
return stableVersion;
|
||||
}
|
||||
else if (Directory.Exists($"/Applications/Xcode_{stableVersion}.app"))
|
||||
{
|
||||
return stableVersion;
|
||||
}
|
||||
|
||||
return betaVersion;
|
||||
}
|
|
@ -1,5 +1,7 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||
|
||||
<Import Project="..\..\src\WindowsForms\build\Microsoft.AspNetCore.Components.WebView.WindowsForms.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net6.0-windows</TargetFrameworks>
|
||||
<SupportedOSPlatformVersion>7.0</SupportedOSPlatformVersion>
|
||||
|
@ -19,4 +21,6 @@
|
|||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\..\src\WindowsForms\build\Microsoft.AspNetCore.Components.WebView.WindowsForms.targets" />
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||
|
||||
<Import Project="..\..\src\Wpf\build\Microsoft.AspNetCore.Components.WebView.Wpf.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net6.0-windows</TargetFrameworks>
|
||||
<SupportedOSPlatformVersion>7.0</SupportedOSPlatformVersion>
|
||||
|
@ -19,4 +21,6 @@
|
|||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\..\src\Wpf\build\Microsoft.AspNetCore.Components.WebView.Wpf.targets" />
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -0,0 +1,115 @@
|
|||
using System;
|
||||
using System.Buffers;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Android.Content.Res;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using Microsoft.Extensions.Primitives;
|
||||
|
||||
namespace Microsoft.AspNetCore.Components.WebView.Maui
|
||||
{
|
||||
/// <summary>
|
||||
/// A minimal implementation of an IFileProvider to be used by the BlazorWebView and WebViewManager types.
|
||||
/// </summary>
|
||||
internal sealed class AndroidMauiAssetFileProvider : IFileProvider
|
||||
{
|
||||
private readonly AssetManager _assets;
|
||||
private readonly string _contentRootDir;
|
||||
|
||||
public AndroidMauiAssetFileProvider(AssetManager? assets, string contentRootDir)
|
||||
{
|
||||
_assets = assets ?? throw new ArgumentNullException(nameof(assets));
|
||||
_contentRootDir = contentRootDir;
|
||||
}
|
||||
|
||||
public IDirectoryContents GetDirectoryContents(string subpath)
|
||||
=> new AndroidMauiAssetDirectoryContents(_assets, Path.Combine(_contentRootDir, subpath));
|
||||
|
||||
public IFileInfo GetFileInfo(string subpath)
|
||||
=> new AndroidMauiAssetFileInfo(_assets, Path.Combine(_contentRootDir, subpath));
|
||||
|
||||
public IChangeToken? Watch(string filter)
|
||||
=> null;
|
||||
|
||||
private sealed class AndroidMauiAssetFileInfo : IFileInfo
|
||||
{
|
||||
private readonly AssetManager _assets;
|
||||
private readonly string _filePath;
|
||||
private readonly Lazy<bool> _lazyAssetExists;
|
||||
private readonly Lazy<long> _lazyAssetLength;
|
||||
|
||||
public AndroidMauiAssetFileInfo(AssetManager assets, string filePath)
|
||||
{
|
||||
_assets = assets;
|
||||
_filePath = filePath;
|
||||
|
||||
Name = Path.GetFileName(filePath);
|
||||
|
||||
_lazyAssetExists = new Lazy<bool>(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
using var stream = _assets.Open(_filePath);
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
_lazyAssetLength = new Lazy<long>(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
// The stream returned by AssetManager.Open() is not seekable, so we have to read
|
||||
// the contents to get its length. In practice, Length is never called by BlazorWebView,
|
||||
// so it's here "just in case."
|
||||
using var stream = _assets.Open(_filePath);
|
||||
|
||||
var buffer = ArrayPool<byte>.Shared.Rent(4096);
|
||||
long length = 0;
|
||||
while (length != (length += stream.Read(buffer)))
|
||||
{
|
||||
// just read the stream to get its length; we don't need the contents here
|
||||
}
|
||||
ArrayPool<byte>.Shared.Return(buffer);
|
||||
return length;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public bool Exists => _lazyAssetExists.Value;
|
||||
public long Length => _lazyAssetLength.Value;
|
||||
public string PhysicalPath { get; } = null!;
|
||||
public string Name { get; }
|
||||
public DateTimeOffset LastModified { get; } = DateTimeOffset.FromUnixTimeSeconds(0);
|
||||
public bool IsDirectory => false;
|
||||
|
||||
public Stream CreateReadStream()
|
||||
=> _assets.Open(_filePath);
|
||||
}
|
||||
|
||||
// This is never used by BlazorWebView or WebViewManager
|
||||
private sealed class AndroidMauiAssetDirectoryContents : IDirectoryContents
|
||||
{
|
||||
public AndroidMauiAssetDirectoryContents(AssetManager assets, string filePath)
|
||||
{
|
||||
}
|
||||
|
||||
public bool Exists => false;
|
||||
|
||||
public IEnumerator<IFileInfo> GetEnumerator()
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
=> throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,6 +2,7 @@
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Android.Webkit;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using AWebView = Android.Webkit.WebView;
|
||||
|
||||
|
@ -29,8 +30,8 @@ namespace Microsoft.AspNetCore.Components.WebView.Maui
|
|||
/// <param name="dispatcher">A <see cref="Dispatcher"/> instance that can marshal calls to the required thread or sync context.</param>
|
||||
/// <param name="fileProvider">Provides static content to the webview.</param>
|
||||
/// <param name="hostPageRelativePath">Path to the host page within the <paramref name="fileProvider"/>.</param>
|
||||
public AndroidWebKitWebViewManager(BlazorWebViewHandler blazorMauiWebViewHandler, AWebView webview, IServiceProvider services, Dispatcher dispatcher, IFileProvider fileProvider, string hostPageRelativePath)
|
||||
: base(services, dispatcher, new Uri(AppOrigin), fileProvider, hostPageRelativePath)
|
||||
public AndroidWebKitWebViewManager(BlazorWebViewHandler blazorMauiWebViewHandler, AWebView webview, IServiceProvider services, Dispatcher dispatcher, IFileProvider fileProvider, JSComponentConfigurationStore jsComponents, string hostPageRelativePath)
|
||||
: base(services, dispatcher, new Uri(AppOrigin), fileProvider, jsComponents, hostPageRelativePath)
|
||||
{
|
||||
_blazorWebViewHandler = blazorMauiWebViewHandler ?? throw new ArgumentNullException(nameof(blazorMauiWebViewHandler));
|
||||
_webview = webview ?? throw new ArgumentNullException(nameof(webview));
|
||||
|
|
|
@ -1,8 +1,14 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Android.Webkit;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using Microsoft.Extensions.Primitives;
|
||||
using Microsoft.Maui.Handlers;
|
||||
using static Android.Views.ViewGroup;
|
||||
using AWebView = Android.Webkit.WebView;
|
||||
|
@ -47,6 +53,20 @@ namespace Microsoft.AspNetCore.Components.WebView.Maui
|
|||
{
|
||||
nativeView.StopLoading();
|
||||
|
||||
if (_webviewManager != null)
|
||||
{
|
||||
// Dispose this component's contents and block on completion so that user-written disposal logic and
|
||||
// Blazor disposal logic will complete.
|
||||
_webviewManager?
|
||||
.DisposeAsync()
|
||||
.AsTask()
|
||||
.ConfigureAwait(false)
|
||||
.GetAwaiter()
|
||||
.GetResult();
|
||||
|
||||
_webviewManager = null;
|
||||
}
|
||||
|
||||
_webViewClient?.Dispose();
|
||||
_webChromeClient?.Dispose();
|
||||
}
|
||||
|
@ -68,16 +88,15 @@ namespace Microsoft.AspNetCore.Components.WebView.Maui
|
|||
throw new InvalidOperationException($"Can't start {nameof(BlazorWebView)} without native web view instance.");
|
||||
}
|
||||
|
||||
var assetConfig = Services!.GetRequiredService<BlazorAssetsAssemblyConfiguration>()!;
|
||||
|
||||
// We assume the host page is always in the root of the content directory, because it's
|
||||
// unclear there's any other use case. We can add more options later if so.
|
||||
var contentRootDir = Path.GetDirectoryName(HostPage!) ?? string.Empty;
|
||||
var hostPageRelativePath = Path.GetRelativePath(contentRootDir, HostPage!);
|
||||
|
||||
var fileProvider = new ManifestEmbeddedFileProvider(assetConfig.AssetsAssembly, root: contentRootDir);
|
||||
var mauiAssetFileProvider = new AndroidMauiAssetFileProvider(Context.Assets, contentRootDir);
|
||||
|
||||
_webviewManager = new AndroidWebKitWebViewManager(this, NativeView, Services!, MauiDispatcher.Instance, fileProvider, hostPageRelativePath);
|
||||
var jsComponents = new JSComponentConfigurationStore();
|
||||
_webviewManager = new AndroidWebKitWebViewManager(this, NativeView, Services!, MauiDispatcher.Instance, mauiAssetFileProvider, jsComponents, hostPageRelativePath);
|
||||
if (RootComponents != null)
|
||||
{
|
||||
foreach (var rootComponent in RootComponents)
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
using System.Reflection;
|
||||
|
||||
namespace Microsoft.AspNetCore.Components.WebView.Maui
|
||||
{
|
||||
internal class BlazorAssetsAssemblyConfiguration
|
||||
{
|
||||
public BlazorAssetsAssemblyConfiguration(Assembly assetsAssembly)
|
||||
{
|
||||
AssetsAssembly = assetsAssembly;
|
||||
}
|
||||
|
||||
public Assembly AssetsAssembly { get; set; }
|
||||
}
|
||||
}
|
|
@ -1,40 +1,19 @@
|
|||
using System;
|
||||
using System.Reflection;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Maui;
|
||||
using Microsoft.Maui.Hosting;
|
||||
|
||||
namespace Microsoft.AspNetCore.Components.WebView.Maui
|
||||
{
|
||||
public static class BlazorWebViewRegistrationExtensions
|
||||
{
|
||||
public static TAppHostBuilder RegisterBlazorMauiWebView<TAppHostBuilder>(this TAppHostBuilder appHostBuilder) where TAppHostBuilder : IAppHostBuilder
|
||||
{
|
||||
var entryAssembly = Assembly.GetEntryAssembly();
|
||||
if (entryAssembly == null)
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
$"The entry assembly for this application could not be found for loading static web assets. " +
|
||||
$"Call the overload of {nameof(RegisterBlazorMauiWebView)} that accepts a parameter to specify the assembly in the project that contains static web assets.");
|
||||
}
|
||||
return RegisterBlazorMauiWebView(appHostBuilder, entryAssembly);
|
||||
}
|
||||
|
||||
public static TAppHostBuilder RegisterBlazorMauiWebView<TAppHostBuilder>(this TAppHostBuilder appHostBuilder, Assembly assetsAssembly) where TAppHostBuilder : IAppHostBuilder
|
||||
public static MauiAppBuilder RegisterBlazorMauiWebView(this MauiAppBuilder appHostBuilder)
|
||||
{
|
||||
if (appHostBuilder is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(appHostBuilder));
|
||||
}
|
||||
if (assetsAssembly is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(assetsAssembly));
|
||||
}
|
||||
|
||||
appHostBuilder.ConfigureServices(services =>
|
||||
{
|
||||
services.AddSingleton(new BlazorAssetsAssemblyConfiguration(assetsAssembly));
|
||||
});
|
||||
appHostBuilder.ConfigureMauiHandlers((_, handlers) => handlers.AddHandler<IBlazorWebView, BlazorWebViewHandler>());
|
||||
appHostBuilder.ConfigureMauiHandlers(handlers => handlers.AddHandler<IBlazorWebView, BlazorWebViewHandler>());
|
||||
|
||||
return appHostBuilder;
|
||||
}
|
||||
|
|
|
@ -25,10 +25,13 @@
|
|||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="..\WebView2\Internal\StaticContentProvider.cs" Link="Windows\SharedSource\StaticContentProvider.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authorization" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebView" />
|
||||
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" />
|
||||
<PackageReference Include="Microsoft.JSInterop" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.WebView.WebView2;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
|
@ -19,10 +20,19 @@ namespace Microsoft.AspNetCore.Components.WebView.Maui
|
|||
|
||||
protected override void DisconnectHandler(WebView2Control nativeView)
|
||||
{
|
||||
//nativeView.StopLoading();
|
||||
if (_webviewManager != null)
|
||||
{
|
||||
// Dispose this component's contents and block on completion so that user-written disposal logic and
|
||||
// Blazor disposal logic will complete.
|
||||
_webviewManager?
|
||||
.DisposeAsync()
|
||||
.AsTask()
|
||||
.ConfigureAwait(false)
|
||||
.GetAwaiter()
|
||||
.GetResult();
|
||||
|
||||
//_webViewClient?.Dispose();
|
||||
//_webChromeClient?.Dispose();
|
||||
_webviewManager = null;
|
||||
}
|
||||
}
|
||||
|
||||
private bool RequiredStartupPropertiesSet =>
|
||||
|
@ -42,16 +52,18 @@ namespace Microsoft.AspNetCore.Components.WebView.Maui
|
|||
throw new InvalidOperationException($"Can't start {nameof(BlazorWebView)} without native web view instance.");
|
||||
}
|
||||
|
||||
var assetConfig = Services!.GetRequiredService<BlazorAssetsAssemblyConfiguration>()!;
|
||||
|
||||
// We assume the host page is always in the root of the content directory, because it's
|
||||
// unclear there's any other use case. We can add more options later if so.
|
||||
var contentRootDir = Path.GetDirectoryName(HostPage!) ?? string.Empty;
|
||||
var hostPageRelativePath = Path.GetRelativePath(contentRootDir, HostPage!);
|
||||
|
||||
var fileProvider = new ManifestEmbeddedFileProvider(assetConfig.AssetsAssembly, root: contentRootDir);
|
||||
// On Windows we don't use IFileProvider because it is sync-only, whereas in WinUI all the
|
||||
// file storage APIs are async-only. So instead we override HandleWebResourceRequest in
|
||||
// WinUIWebViewManager so that loading static assets is done entirely there.
|
||||
var mauiAssetFileProvider = new NullFileProvider();
|
||||
|
||||
_webviewManager = new WinUIWebViewManager(NativeView, new WinUIWebView2Wrapper(NativeView), Services!, MauiDispatcher.Instance, fileProvider, hostPageRelativePath);
|
||||
var jsComponents = new JSComponentConfigurationStore();
|
||||
_webviewManager = new WinUIWebViewManager(NativeView, new WinUIWebView2Wrapper(NativeView), Services!, MauiDispatcher.Instance, mauiAssetFileProvider, jsComponents, hostPageRelativePath, contentRootDir);
|
||||
if (RootComponents != null)
|
||||
{
|
||||
foreach (var rootComponent in RootComponents)
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
using Microsoft.AspNetCore.Components.WebView.WebView2;
|
||||
using Windows.Foundation;
|
||||
|
||||
namespace Microsoft.AspNetCore.Components.WebView.Maui
|
||||
{
|
||||
internal class DeferralWrapper : IDeferralWrapper
|
||||
{
|
||||
private readonly Deferral _deferral;
|
||||
|
||||
public DeferralWrapper(Deferral deferral)
|
||||
{
|
||||
_deferral = deferral ?? throw new System.ArgumentNullException(nameof(deferral));
|
||||
}
|
||||
|
||||
public void Complete()
|
||||
{
|
||||
_deferral.Complete();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_deferral.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System.IO;
|
||||
using Windows.Storage.Streams;
|
||||
|
||||
namespace Microsoft.AspNetCore.Components.WebView.WebView2
|
||||
{
|
||||
|
@ -33,6 +33,8 @@ namespace Microsoft.AspNetCore.Components.WebView.WebView2
|
|||
/// <param name="statusCode"></param>
|
||||
/// <param name="statusMessage"></param>
|
||||
/// <param name="headerString"></param>
|
||||
void SetResponse(Stream content, int statusCode, string statusMessage, string headerString);
|
||||
}
|
||||
void SetResponse(IRandomAccessStream content, int statusCode, string statusMessage, string headerString);
|
||||
|
||||
IDeferralWrapper GetDeferral();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
|
||||
namespace Microsoft.AspNetCore.Components.WebView.WebView2
|
||||
{
|
||||
public interface IDeferralWrapper : IDisposable
|
||||
{
|
||||
void Complete();
|
||||
}
|
||||
}
|
|
@ -3,9 +3,15 @@
|
|||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices.WindowsRuntime;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.WebView.WebView2.Internal;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using Windows.ApplicationModel;
|
||||
using Windows.Storage.Streams;
|
||||
|
||||
namespace Microsoft.AspNetCore.Components.WebView.WebView2
|
||||
{
|
||||
|
@ -18,7 +24,7 @@ namespace Microsoft.AspNetCore.Components.WebView.WebView2
|
|||
// Using an IP address means that WebView2 doesn't wait for any DNS resolution,
|
||||
// making it substantially faster. Note that this isn't real HTTP traffic, since
|
||||
// we intercept all the requests within this origin.
|
||||
private const string AppOrigin = "https://0.0.0.0/";
|
||||
protected private const string AppOrigin = "https://0.0.0.0/";
|
||||
|
||||
private readonly IWebView2Wrapper _webview;
|
||||
private readonly Task _webviewReadyTask;
|
||||
|
@ -31,8 +37,8 @@ namespace Microsoft.AspNetCore.Components.WebView.WebView2
|
|||
/// <param name="dispatcher">A <see cref="Dispatcher"/> instance that can marshal calls to the required thread or sync context.</param>
|
||||
/// <param name="fileProvider">Provides static content to the webview.</param>
|
||||
/// <param name="hostPageRelativePath">Path to the host page within the <paramref name="fileProvider"/>.</param>
|
||||
public WebView2WebViewManager(IWebView2Wrapper webview, IServiceProvider services, Dispatcher dispatcher, IFileProvider fileProvider, string hostPageRelativePath)
|
||||
: base(services, dispatcher, new Uri(AppOrigin), fileProvider, hostPageRelativePath)
|
||||
public WebView2WebViewManager(IWebView2Wrapper webview, IServiceProvider services, Dispatcher dispatcher, IFileProvider fileProvider, JSComponentConfigurationStore jsComponents, string hostPageRelativePath)
|
||||
: base(services, dispatcher, new Uri(AppOrigin), fileProvider, jsComponents, hostPageRelativePath)
|
||||
{
|
||||
_webview = webview ?? throw new ArgumentNullException(nameof(webview));
|
||||
|
||||
|
@ -63,20 +69,9 @@ namespace Microsoft.AspNetCore.Components.WebView.WebView2
|
|||
ApplyDefaultWebViewSettings();
|
||||
|
||||
_webview.CoreWebView2.AddWebResourceRequestedFilter($"{AppOrigin}*", CoreWebView2WebResourceContextWrapper.All);
|
||||
var removeResourceCallback = _webview.CoreWebView2.AddWebResourceRequestedHandler((s, eventArgs) =>
|
||||
var removeResourceCallback = _webview.CoreWebView2.AddWebResourceRequestedHandler(async (s, eventArgs) =>
|
||||
{
|
||||
// Unlike server-side code, we get told exactly why the browser is making the request,
|
||||
// so we can be smarter about fallback. We can ensure that 'fetch' requests never result
|
||||
// in fallback, for example.
|
||||
var allowFallbackOnHostPage =
|
||||
eventArgs.ResourceContext == CoreWebView2WebResourceContextWrapper.Document ||
|
||||
eventArgs.ResourceContext == CoreWebView2WebResourceContextWrapper.Other; // e.g., dev tools requesting page source
|
||||
|
||||
if (TryGetResponseContent(eventArgs.Request.Uri, allowFallbackOnHostPage, out var statusCode, out var statusMessage, out var content, out var headers))
|
||||
{
|
||||
var headerString = GetHeaderString(headers);
|
||||
eventArgs.SetResponse(content, statusCode, statusMessage, headerString);
|
||||
}
|
||||
await HandleWebResourceRequest(eventArgs);
|
||||
});
|
||||
|
||||
// The code inside blazor.webview.js is meant to be agnostic to specific webview technologies,
|
||||
|
@ -98,6 +93,31 @@ namespace Microsoft.AspNetCore.Components.WebView.WebView2
|
|||
=> MessageReceived(new Uri(e.Source), e.WebMessageAsString));
|
||||
}
|
||||
|
||||
protected virtual async Task HandleWebResourceRequest(ICoreWebView2WebResourceRequestedEventArgsWrapper eventArgs)
|
||||
{
|
||||
// Unlike server-side code, we get told exactly why the browser is making the request,
|
||||
// so we can be smarter about fallback. We can ensure that 'fetch' requests never result
|
||||
// in fallback, for example.
|
||||
var allowFallbackOnHostPage =
|
||||
eventArgs.ResourceContext == CoreWebView2WebResourceContextWrapper.Document ||
|
||||
eventArgs.ResourceContext == CoreWebView2WebResourceContextWrapper.Other; // e.g., dev tools requesting page source
|
||||
|
||||
// First, call into WebViewManager to see if it has a framework file for this request. It will
|
||||
// fall back to an IFileProvider, but on WinUI it's always a NullFileProvider, so that will never
|
||||
// return a file.
|
||||
if (TryGetResponseContent(eventArgs.Request.Uri, allowFallbackOnHostPage, out var statusCode, out var statusMessage, out var content, out var headers))
|
||||
{
|
||||
// NOTE: This is stream copying is to work around a hanging bug in WinRT with managed streams
|
||||
var memStream = new MemoryStream();
|
||||
content.CopyTo(memStream);
|
||||
var ms = new InMemoryRandomAccessStream();
|
||||
await ms.WriteAsync(memStream.GetWindowsRuntimeBuffer());
|
||||
|
||||
var headerString = GetHeaderString(headers);
|
||||
eventArgs.SetResponse(ms, statusCode, statusMessage, headerString);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Override this method to queue a call to Blazor.start(). Not all platforms require this.
|
||||
/// </summary>
|
||||
|
@ -105,7 +125,7 @@ namespace Microsoft.AspNetCore.Components.WebView.WebView2
|
|||
{
|
||||
}
|
||||
|
||||
private static string GetHeaderString(IDictionary<string, string> headers) =>
|
||||
protected private static string GetHeaderString(IDictionary<string, string> headers) =>
|
||||
string.Join(Environment.NewLine, headers.Select(kvp => $"{kvp.Key}: {kvp.Value}"));
|
||||
|
||||
private void ApplyDefaultWebViewSettings()
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices.WindowsRuntime;
|
||||
using Microsoft.AspNetCore.Components.WebView.WebView2;
|
||||
using Microsoft.AspNetCore.Components.WebView.WebView2;
|
||||
using Microsoft.Web.WebView2.Core;
|
||||
using Windows.Storage.Streams;
|
||||
|
||||
|
@ -25,15 +22,14 @@ namespace Microsoft.AspNetCore.Components.WebView.Maui
|
|||
|
||||
public CoreWebView2WebResourceContextWrapper ResourceContext { get; }
|
||||
|
||||
public void SetResponse(Stream content, int statusCode, string statusMessage, string headerString)
|
||||
public IDeferralWrapper GetDeferral()
|
||||
{
|
||||
// NOTE: This is stream copying is to work around a hanging bug in WinRT with managed streams
|
||||
var memStream = new MemoryStream();
|
||||
content.CopyTo(memStream);
|
||||
var ms = new InMemoryRandomAccessStream();
|
||||
ms.WriteAsync(memStream.GetWindowsRuntimeBuffer()).AsTask().Wait();
|
||||
return new DeferralWrapper(_webResourceRequestedEventArgs.GetDeferral());
|
||||
}
|
||||
|
||||
_webResourceRequestedEventArgs.Response = _environment.CreateWebResourceResponse(ms, statusCode, statusMessage, headerString);
|
||||
public void SetResponse(IRandomAccessStream content, int statusCode, string statusMessage, string headerString)
|
||||
{
|
||||
_webResourceRequestedEventArgs.Response = _environment.CreateWebResourceResponse(content, statusCode, statusMessage, headerString);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,13 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices.WindowsRuntime;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.WebView.WebView2;
|
||||
using Microsoft.AspNetCore.Components.WebView.WebView2.Internal;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using Windows.ApplicationModel;
|
||||
using Windows.Storage.Streams;
|
||||
using WebView2Control = Microsoft.UI.Xaml.Controls.WebView2;
|
||||
|
||||
namespace Microsoft.AspNetCore.Components.WebView.Maui
|
||||
|
@ -11,11 +18,76 @@ namespace Microsoft.AspNetCore.Components.WebView.Maui
|
|||
/// </summary>
|
||||
public class WinUIWebViewManager : WebView2WebViewManager
|
||||
{
|
||||
readonly WebView2Control _nativeWebView2;
|
||||
private readonly WebView2Control _nativeWebView2;
|
||||
private readonly string _hostPageRelativePath;
|
||||
private readonly string _contentRootDir;
|
||||
|
||||
public WinUIWebViewManager(WebView2Control nativeWebView2, IWebView2Wrapper webview, IServiceProvider services, Dispatcher dispatcher, IFileProvider fileProvider, string hostPageRelativePath) : base(webview, services, dispatcher, fileProvider, hostPageRelativePath)
|
||||
public WinUIWebViewManager(WebView2Control nativeWebView2, IWebView2Wrapper webview, IServiceProvider services, Dispatcher dispatcher, IFileProvider fileProvider, JSComponentConfigurationStore jsComponents, string hostPageRelativePath, string contentRootDir)
|
||||
: base(webview, services, dispatcher, fileProvider, jsComponents, hostPageRelativePath)
|
||||
{
|
||||
_nativeWebView2 = nativeWebView2;
|
||||
_hostPageRelativePath = hostPageRelativePath;
|
||||
_contentRootDir = contentRootDir;
|
||||
}
|
||||
|
||||
protected override async Task HandleWebResourceRequest(ICoreWebView2WebResourceRequestedEventArgsWrapper eventArgs)
|
||||
{
|
||||
// Unlike server-side code, we get told exactly why the browser is making the request,
|
||||
// so we can be smarter about fallback. We can ensure that 'fetch' requests never result
|
||||
// in fallback, for example.
|
||||
var allowFallbackOnHostPage =
|
||||
eventArgs.ResourceContext == CoreWebView2WebResourceContextWrapper.Document ||
|
||||
eventArgs.ResourceContext == CoreWebView2WebResourceContextWrapper.Other; // e.g., dev tools requesting page source
|
||||
|
||||
// Get a deferral object so that WebView2 knows there's some async stuff going on. We call Complete() at the end of this method.
|
||||
using var deferral = eventArgs.GetDeferral();
|
||||
|
||||
// First, call into WebViewManager to see if it has a framework file for this request. It will
|
||||
// fall back to an IFileProvider, but on WinUI it's always a NullFileProvider, so that will never
|
||||
// return a file.
|
||||
if (TryGetResponseContent(eventArgs.Request.Uri, allowFallbackOnHostPage, out var statusCode, out var statusMessage, out var content, out var headers)
|
||||
&& statusCode != 404)
|
||||
{
|
||||
// NOTE: This is stream copying is to work around a hanging bug in WinRT with managed streams.
|
||||
// See issue https://github.com/microsoft/CsWinRT/issues/670
|
||||
var memStream = new MemoryStream();
|
||||
content.CopyTo(memStream);
|
||||
var ms = new InMemoryRandomAccessStream();
|
||||
await ms.WriteAsync(memStream.GetWindowsRuntimeBuffer());
|
||||
|
||||
var headerString = GetHeaderString(headers);
|
||||
eventArgs.SetResponse(ms, statusCode, statusMessage, headerString);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Next, try to go through WinUI Storage to find a static web asset
|
||||
var uri = new Uri(eventArgs.Request.Uri);
|
||||
if (new Uri(AppOrigin).IsBaseOf(uri))
|
||||
{
|
||||
var relativePath = new Uri(AppOrigin).MakeRelativeUri(uri).ToString();
|
||||
if (allowFallbackOnHostPage && string.IsNullOrEmpty(relativePath))
|
||||
{
|
||||
relativePath = _hostPageRelativePath;
|
||||
}
|
||||
relativePath = Path.Combine("Assets", _contentRootDir, relativePath.Replace("/", "\\"));
|
||||
|
||||
var winUIItem = await Package.Current.InstalledLocation.TryGetItemAsync(relativePath);
|
||||
if (winUIItem != null)
|
||||
{
|
||||
statusCode = 200;
|
||||
statusMessage = "OK";
|
||||
var contentType = StaticContentProvider.GetResponseContentTypeOrDefault(relativePath);
|
||||
headers = StaticContentProvider.GetResponseHeaders(contentType);
|
||||
var headerString = GetHeaderString(headers);
|
||||
var winUIFile = await Package.Current.InstalledLocation.GetFileAsync(relativePath);
|
||||
|
||||
eventArgs.SetResponse(await winUIFile.OpenReadAsync(), statusCode, statusMessage, headerString);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Notify WebView2 that the deferred (async) operation is complete and we set a response.
|
||||
deferral.Complete();
|
||||
}
|
||||
|
||||
protected override void QueueBlazorStart()
|
||||
|
|
|
@ -9,14 +9,25 @@
|
|||
as RazorComponent instead of Content. -->
|
||||
<ItemGroup Condition="'$(DesignTimeBuild)' != 'true'">
|
||||
<Content Remove="**\*.razor" />
|
||||
<RazorComponent Include="**\*.razor" />
|
||||
<RazorComponent Include="**\*.razor" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<StaticWebAssetBasePath>/</StaticWebAssetBasePath>
|
||||
<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
|
||||
<StaticWebAssetProjectMode>Root</StaticWebAssetProjectMode>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="ConvertStaticWebAssetsToMauiAssets" BeforeTargets="GetMauiItems;ResizetizeCollectItems" DependsOnTargets="StaticWebAssetsPrepareForRun;StaticWebAssetsPrepareForPublish;LoadStaticWebAssetsPublishManifest">
|
||||
<ComputeStaticWebAssetsTargetPaths Assets="@(StaticWebAsset)" PathPrefix="wwwroot">
|
||||
<Output TaskParameter="AssetsWithTargetPath" ItemName="_MauiStaticWebAssetWithTargetPath" />
|
||||
</ComputeStaticWebAssetsTargetPaths>
|
||||
<ItemGroup>
|
||||
<MauiAsset Include="%(_MauiStaticWebAssetWithTargetPath.Identity)">
|
||||
<Link>%(_MauiStaticWebAssetWithTargetPath.TargetPath)</Link>
|
||||
<TargetPath>%(_MauiStaticWebAssetWithTargetPath.TargetPath)</TargetPath>
|
||||
</MauiAsset>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!-- Targets temporarily remove Content items in the wwwroot folder so that they don't conflict with iOS/MacCatalyst SDK tasks -->
|
||||
<Target Name="HideContentFromBundleResources" BeforeTargets="_CollectBundleResources">
|
||||
|
@ -37,57 +48,4 @@
|
|||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!-- Targets for converting Static Web Assets to embedded resources -->
|
||||
<Target Name="CopyStaticWebAssetsToOutputFolder" BeforeTargets="GetCopyToOutputDirectoryItems" DependsOnTargets="ResolveStaticWebAssetsInputs">
|
||||
<ItemGroup>
|
||||
<AllItemsFullPathWithTargetPath Include="%(StaticWebAsset.Identity)" Condition="'%(StaticWebAsset.SourceType)' != ''">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<TargetPath>$([System.String]::Copy('wwwroot\%(StaticWebAsset.BasePath)\%(StaticWebAsset.RelativePath)').Replace('/','\').Replace('\\\','\').Replace('\\','\'))</TargetPath>
|
||||
</AllItemsFullPathWithTargetPath>
|
||||
<AllItemsFullPathWithTargetPath Include="%(StaticWebAsset.Identity)" Condition="'%(StaticWebAsset.SourceType)' == ''">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<TargetPath>wwwroot\%(StaticWebAsset.RelativePath)</TargetPath>
|
||||
</AllItemsFullPathWithTargetPath>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="ConvertToEmbeddedFilesManifestItems" DependsOnTargets="ResolveStaticWebAssetsInputs" BeforeTargets="SplitResourcesByCulture">
|
||||
<ItemGroup>
|
||||
<!-- Prevent any previously-existing embedded resources from being included in the manifest. We want only
|
||||
StaticWebAssets to be included in the manifest. -->
|
||||
<EmbeddedResource>
|
||||
<ExcludeFromManifest>true</ExcludeFromManifest>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
<ComputeStaticWebAssetsTargetPaths Assets="@(StaticWebAsset)" PathPrefix="wwwroot">
|
||||
<Output TaskParameter="AssetsWithTargetPath" ItemName="_MauiStaticWebAssetWithTargetPath" />
|
||||
</ComputeStaticWebAssetsTargetPaths>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource
|
||||
Include="%(_MauiStaticWebAssetWithTargetPath.Identity)"
|
||||
Link="%(_MauiStaticWebAssetWithTargetPath.TargetPath)"
|
||||
TargetPath="%(_MauiStaticWebAssetWithTargetPath.TargetPath)"
|
||||
OriginalItemSpec="%(_MauiStaticWebAssetWithTargetPath.OriginalItemSpec)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="EnsureBundles" BeforeTargets="CoreCompile" DependsOnTargets="BundleScopedCssFiles" />
|
||||
|
||||
<Target Name="_FixUpMauiReference"
|
||||
BeforeTargets="ComputeReferencedProjectsPublishAssets"
|
||||
AfterTargets="LoadStaticWebAssetsBuildManifest">
|
||||
|
||||
<ItemGroup>
|
||||
<_MauiManifestsToUpdate Include="@(StaticWebAssetManifest)" Condition="'%(ManifestType)' == 'Publish'" />
|
||||
<_MauiManifestsToUpdate>
|
||||
<AdditionalPublishPropertiesToRemove Condition="$([System.String]::Copy('%(_MauiManifestsToUpdate.AdditionalPublishProperties)').Contains('TargetFramework')) == 'false'">@(_MauiManifestsToUpdate->'%(AdditionalPublishPropertiesToRemove)');TargetFramework</AdditionalPublishPropertiesToRemove>
|
||||
</_MauiManifestsToUpdate>
|
||||
|
||||
<StaticWebAssetManifest Remove="@(_MauiManifestsToUpdate)" />
|
||||
<StaticWebAssetManifest Include="@(_MauiManifestsToUpdate)" />
|
||||
</ItemGroup>
|
||||
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
|
@ -5,6 +5,7 @@ using System.Globalization;
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using Foundation;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using Microsoft.Maui.Controls;
|
||||
|
@ -71,30 +72,23 @@ namespace Microsoft.AspNetCore.Components.WebView.Maui
|
|||
_webviewManager?.MessageReceivedInternal(uri, message);
|
||||
}
|
||||
|
||||
public override Size GetDesiredSize(double widthConstraint, double heightConstraint)
|
||||
{
|
||||
SetDesiredSize(widthConstraint, heightConstraint);
|
||||
|
||||
return base.GetDesiredSize(widthConstraint, heightConstraint);
|
||||
}
|
||||
|
||||
void SetDesiredSize(double width, double height)
|
||||
{
|
||||
if (NativeView != null)
|
||||
{
|
||||
var x = NativeView.Frame.X;
|
||||
var y = NativeView.Frame.Y;
|
||||
|
||||
NativeView.Frame = new RectangleF(x, y, width, height);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void DisconnectHandler(WKWebView nativeView)
|
||||
{
|
||||
//nativeView.StopLoading();
|
||||
nativeView.StopLoading();
|
||||
|
||||
//_webViewClient?.Dispose();
|
||||
//_webChromeClient?.Dispose();
|
||||
if (_webviewManager != null)
|
||||
{
|
||||
// Dispose this component's contents and block on completion so that user-written disposal logic and
|
||||
// Blazor disposal logic will complete.
|
||||
_webviewManager?
|
||||
.DisposeAsync()
|
||||
.AsTask()
|
||||
.ConfigureAwait(false)
|
||||
.GetAwaiter()
|
||||
.GetResult();
|
||||
|
||||
_webviewManager = null;
|
||||
}
|
||||
}
|
||||
|
||||
private bool RequiredStartupPropertiesSet =>
|
||||
|
@ -114,16 +108,15 @@ namespace Microsoft.AspNetCore.Components.WebView.Maui
|
|||
throw new InvalidOperationException($"Can't start {nameof(BlazorWebView)} without native web view instance.");
|
||||
}
|
||||
|
||||
var assetConfig = Services!.GetRequiredService<BlazorAssetsAssemblyConfiguration>()!;
|
||||
|
||||
// We assume the host page is always in the root of the content directory, because it's
|
||||
// unclear there's any other use case. We can add more options later if so.
|
||||
var contentRootDir = Path.GetDirectoryName(HostPage!) ?? string.Empty;
|
||||
var hostPageRelativePath = Path.GetRelativePath(contentRootDir, HostPage!);
|
||||
|
||||
var fileProvider = new ManifestEmbeddedFileProvider(assetConfig.AssetsAssembly, root: contentRootDir);
|
||||
var mauiAssetFileProvider = new iOSMauiAssetFileProvider(contentRootDir);
|
||||
|
||||
_webviewManager = new IOSWebViewManager(this, NativeView, Services!, MauiDispatcher.Instance, fileProvider, hostPageRelativePath);
|
||||
var jsComponents = new JSComponentConfigurationStore();
|
||||
_webviewManager = new IOSWebViewManager(this, NativeView, Services!, MauiDispatcher.Instance, mauiAssetFileProvider, jsComponents, hostPageRelativePath);
|
||||
if (RootComponents != null)
|
||||
{
|
||||
foreach (var rootComponent in RootComponents)
|
||||
|
@ -132,6 +125,7 @@ namespace Microsoft.AspNetCore.Components.WebView.Maui
|
|||
_ = rootComponent.AddToWebViewManagerAsync(_webviewManager);
|
||||
}
|
||||
}
|
||||
|
||||
_webviewManager.Navigate("/");
|
||||
}
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.IO;
|
||||
using System.Text.Encodings.Web;
|
||||
using Foundation;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using WebKit;
|
||||
|
||||
|
@ -15,8 +16,8 @@ namespace Microsoft.AspNetCore.Components.WebView.Maui
|
|||
private readonly BlazorWebViewHandler _blazorMauiWebViewHandler;
|
||||
private readonly WKWebView _webview;
|
||||
|
||||
public IOSWebViewManager(BlazorWebViewHandler blazorMauiWebViewHandler, WKWebView webview, IServiceProvider services, Dispatcher dispatcher, IFileProvider fileProvider, string hostPageRelativePath)
|
||||
: base(services, dispatcher, new Uri(AppOrigin), fileProvider, hostPageRelativePath)
|
||||
public IOSWebViewManager(BlazorWebViewHandler blazorMauiWebViewHandler, WKWebView webview, IServiceProvider services, Dispatcher dispatcher, IFileProvider fileProvider, JSComponentConfigurationStore jsComponents, string hostPageRelativePath)
|
||||
: base(services, dispatcher, new Uri(AppOrigin), fileProvider, jsComponents, hostPageRelativePath)
|
||||
{
|
||||
_blazorMauiWebViewHandler = blazorMauiWebViewHandler ?? throw new ArgumentNullException(nameof(blazorMauiWebViewHandler));
|
||||
_webview = webview ?? throw new ArgumentNullException(nameof(webview));
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Foundation;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using Microsoft.Extensions.Primitives;
|
||||
|
||||
namespace Microsoft.AspNetCore.Components.WebView.Maui
|
||||
{
|
||||
/// <summary>
|
||||
/// A minimal implementation of an IFileProvider to be used by the BlazorWebView and WebViewManager types.
|
||||
/// </summary>
|
||||
internal sealed class iOSMauiAssetFileProvider : IFileProvider
|
||||
{
|
||||
private readonly string _bundleRootDir;
|
||||
|
||||
public iOSMauiAssetFileProvider(string contentRootDir)
|
||||
{
|
||||
_bundleRootDir = Path.Combine(NSBundle.MainBundle.ResourcePath, contentRootDir);
|
||||
}
|
||||
|
||||
public IDirectoryContents GetDirectoryContents(string subpath)
|
||||
=> new iOSMauiAssetDirectoryContents(Path.Combine(_bundleRootDir, subpath));
|
||||
|
||||
public IFileInfo GetFileInfo(string subpath)
|
||||
=> new iOSMauiAssetFileInfo(Path.Combine(_bundleRootDir, subpath));
|
||||
|
||||
public IChangeToken? Watch(string filter)
|
||||
=> null;
|
||||
|
||||
private sealed class iOSMauiAssetFileInfo : IFileInfo
|
||||
{
|
||||
private readonly string _filePath;
|
||||
|
||||
public iOSMauiAssetFileInfo(string filePath)
|
||||
{
|
||||
_filePath = filePath;
|
||||
|
||||
Name = Path.GetFileName(_filePath);
|
||||
|
||||
var fileInfo = new FileInfo(_filePath);
|
||||
Exists = fileInfo.Exists;
|
||||
Length = Exists ? fileInfo.Length : -1;
|
||||
}
|
||||
|
||||
public bool Exists { get; }
|
||||
public long Length { get; }
|
||||
public string PhysicalPath { get; } = null!;
|
||||
public string Name { get; }
|
||||
public DateTimeOffset LastModified { get; } = DateTimeOffset.FromUnixTimeSeconds(0);
|
||||
public bool IsDirectory => false;
|
||||
|
||||
public Stream CreateReadStream()
|
||||
=> File.OpenRead(_filePath);
|
||||
}
|
||||
|
||||
// This is never used by BlazorWebView or WebViewManager
|
||||
private sealed class iOSMauiAssetDirectoryContents : IDirectoryContents
|
||||
{
|
||||
public iOSMauiAssetDirectoryContents(string filePath)
|
||||
{
|
||||
}
|
||||
|
||||
public bool Exists => false;
|
||||
|
||||
public IEnumerator<IFileInfo> GetEnumerator()
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
=> throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,391 +0,0 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.IO;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using Microsoft.Extensions.FileSystemGlobbing;
|
||||
using Microsoft.Extensions.Primitives;
|
||||
|
||||
namespace Microsoft.AspNetCore.Components.WebView.WebView2.Tmp
|
||||
{
|
||||
internal sealed class ManifestStaticWebAssetFileProvider : IFileProvider
|
||||
{
|
||||
private static readonly StringComparison _fsComparison = OperatingSystem.IsWindows() ?
|
||||
StringComparison.OrdinalIgnoreCase :
|
||||
StringComparison.Ordinal;
|
||||
|
||||
private static readonly IEqualityComparer<IFileInfo> _nameComparer = new FileNameComparer();
|
||||
|
||||
private readonly IFileProvider[] _fileProviders;
|
||||
private readonly StaticWebAssetNode _root;
|
||||
|
||||
public ManifestStaticWebAssetFileProvider(StaticWebAssetManifest manifest, Func<string, IFileProvider> fileProviderFactory)
|
||||
{
|
||||
_fileProviders = new IFileProvider[manifest.ContentRoots.Length];
|
||||
|
||||
|
||||
for (int i = 0; i < manifest.ContentRoots.Length; i++)
|
||||
{
|
||||
_fileProviders[i] = fileProviderFactory(manifest.ContentRoots[i]);
|
||||
}
|
||||
|
||||
_root = manifest.Root;
|
||||
}
|
||||
|
||||
public IDirectoryContents GetDirectoryContents(string subpath)
|
||||
{
|
||||
if (subpath == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(subpath));
|
||||
}
|
||||
|
||||
var segments = Normalize(subpath).Split('/', StringSplitOptions.RemoveEmptyEntries);
|
||||
var candidate = _root;
|
||||
|
||||
// Iterate over the path segments until we reach the destination. Whenever we encounter
|
||||
// a pattern, we start tracking it as well as the content root directory. On every segment
|
||||
// we evalutate the directory to see if there is a subfolder with the current segment and
|
||||
// replace it on the dictionary if it exists or remove it if it does not.
|
||||
// When we reach our destination we enumerate the files in that folder and evalute them against
|
||||
// the pattern to compute the final list.
|
||||
HashSet<IFileInfo> files = null;
|
||||
for (var i = 0; i < segments.Length; i++)
|
||||
{
|
||||
files = GetFilesForCandidatePatterns(segments, candidate, files);
|
||||
|
||||
|
||||
if (candidate.HasChildren() && candidate.Children.TryGetValue(segments[i], out var child))
|
||||
{
|
||||
candidate = child;
|
||||
}
|
||||
else
|
||||
{
|
||||
candidate = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ((candidate == null || (!candidate.HasChildren() && !candidate.HasPatterns())) && files == null)
|
||||
{
|
||||
return NotFoundDirectoryContents.Singleton;
|
||||
}
|
||||
else
|
||||
{
|
||||
// We do this to make sure we account for the patterns on the last segment which are not covered by the loop above
|
||||
files = GetFilesForCandidatePatterns(segments, candidate, files);
|
||||
if (candidate != null && candidate.HasChildren())
|
||||
{
|
||||
files ??= new(_nameComparer);
|
||||
GetCandidateFilesForNode(candidate, files);
|
||||
}
|
||||
|
||||
return new StaticWebAssetsDirectoryContents((files as IEnumerable<IFileInfo>) ?? Array.Empty<IFileInfo>());
|
||||
}
|
||||
|
||||
HashSet<IFileInfo> GetFilesForCandidatePatterns(string[] segments, StaticWebAssetNode candidate, HashSet<IFileInfo> files)
|
||||
{
|
||||
if (candidate != null && candidate.HasPatterns())
|
||||
{
|
||||
var depth = candidate.Patterns[0].Depth;
|
||||
var candidateDirectoryPath = string.Join('/', segments[depth..]);
|
||||
foreach (var pattern in candidate.Patterns)
|
||||
{
|
||||
var contentRoot = _fileProviders[pattern.ContentRoot];
|
||||
var matcher = new Matcher(_fsComparison);
|
||||
matcher.AddInclude(pattern.Pattern);
|
||||
foreach (var result in contentRoot.GetDirectoryContents(candidateDirectoryPath))
|
||||
{
|
||||
var fileCandidate = string.IsNullOrEmpty(candidateDirectoryPath) ? result.Name : $"{candidateDirectoryPath}/{result.Name}";
|
||||
if (result.Exists && (result.IsDirectory || matcher.Match(fileCandidate).HasMatches))
|
||||
{
|
||||
files ??= new(_nameComparer);
|
||||
if (!files.Contains(result))
|
||||
{
|
||||
// Multiple patterns might match the same file (even at different locations on disk) at runtime. We don't
|
||||
// try to disambiguate anything here, since there is already a build step for it. We just pick the first
|
||||
// file that matches the pattern. The manifest entries are ordered, so while this choice is random, it is
|
||||
// nonetheless deterministic.
|
||||
files.Add(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return files;
|
||||
}
|
||||
|
||||
void GetCandidateFilesForNode(StaticWebAssetNode candidate, HashSet<IFileInfo> files)
|
||||
{
|
||||
foreach (var child in candidate.Children!)
|
||||
{
|
||||
var match = child.Value.Match;
|
||||
if (match == null)
|
||||
{
|
||||
// This is a folder
|
||||
var file = new StaticWebAssetsDirectoryInfo(child.Key);
|
||||
// Entries from the manifest always win over any content based on patterns,
|
||||
// so remove any potentially existing file or folder in favor of the manifest
|
||||
// entry.
|
||||
files.Remove(file);
|
||||
files.Add(file);
|
||||
}
|
||||
else
|
||||
{
|
||||
// This is a file.
|
||||
files.RemoveWhere(f => string.Equals(match.Path, f.Name, _fsComparison));
|
||||
var file = _fileProviders[match.ContentRoot].GetFileInfo(match.Path);
|
||||
|
||||
|
||||
files.Add(string.Equals(child.Key, match.Path, _fsComparison) ? file :
|
||||
// This means that this file was mapped, there is a chance that we added it to the list
|
||||
// of files by one of the patterns, so we need to replace it with the mapped file.
|
||||
new StaticWebAssetsFileInfo(child.Key, file));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private string Normalize(string path)
|
||||
{
|
||||
return path.Replace('\\', '/');
|
||||
}
|
||||
|
||||
public IFileInfo GetFileInfo(string subpath)
|
||||
{
|
||||
if (subpath == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(subpath));
|
||||
}
|
||||
|
||||
var segments = subpath.Split('/', StringSplitOptions.RemoveEmptyEntries);
|
||||
StaticWebAssetNode candidate = _root;
|
||||
List<StaticWebAssetPattern> patterns = null;
|
||||
|
||||
// Iterate over the path segments until we reach the destination, collecting
|
||||
// all pattern candidates along the way except for any pattern at the root.
|
||||
for (var i = 0; i < segments.Length; i++)
|
||||
{
|
||||
if (candidate.HasPatterns())
|
||||
{
|
||||
patterns ??= new();
|
||||
patterns.AddRange(candidate.Patterns);
|
||||
}
|
||||
if (candidate.HasChildren() && candidate.Children.TryGetValue(segments[i], out var child))
|
||||
{
|
||||
candidate = child;
|
||||
}
|
||||
else
|
||||
{
|
||||
candidate = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var match = candidate?.Match;
|
||||
if (match != null)
|
||||
{
|
||||
// If we found a file, that wins over anything else. If there are conflicts with files added after
|
||||
// we've built the manifest, we'll be notified the next time we do a build. This is not different
|
||||
// from previous Static Web Assets versions.
|
||||
var file = _fileProviders[match.ContentRoot].GetFileInfo(match.Path);
|
||||
if (!file.Exists || string.Equals(subpath, Normalize(match.Path), _fsComparison))
|
||||
{
|
||||
return file;
|
||||
}
|
||||
else
|
||||
{
|
||||
return new StaticWebAssetsFileInfo(segments[^1], file);
|
||||
}
|
||||
}
|
||||
|
||||
// The list of patterns is ordered by pattern depth, so we compute the string to check for patterns only
|
||||
// once per level. We don't aim to solve conflicts here where multiple files could match a given path,
|
||||
// we have a build check that takes care of that.
|
||||
var currentDepth = 0;
|
||||
var candidatePath = subpath;
|
||||
|
||||
if (patterns != null)
|
||||
{
|
||||
for (var i = 0; i < patterns.Count; i++)
|
||||
{
|
||||
var pattern = patterns[i];
|
||||
if (pattern.Depth != currentDepth)
|
||||
{
|
||||
currentDepth = pattern.Depth;
|
||||
candidatePath = string.Join('/', segments[currentDepth..]);
|
||||
}
|
||||
|
||||
|
||||
var result = _fileProviders[pattern.ContentRoot].GetFileInfo(candidatePath);
|
||||
if (result.Exists)
|
||||
{
|
||||
if (!result.IsDirectory)
|
||||
{
|
||||
var matcher = new Matcher();
|
||||
matcher.AddInclude(pattern.Pattern);
|
||||
if (!matcher.Match(candidatePath).HasMatches)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return new NotFoundFileInfo(subpath);
|
||||
}
|
||||
|
||||
public IChangeToken Watch(string filter) => NullChangeToken.Singleton;
|
||||
|
||||
private sealed class StaticWebAssetsDirectoryContents : IDirectoryContents
|
||||
{
|
||||
private readonly IEnumerable<IFileInfo> _files;
|
||||
|
||||
public StaticWebAssetsDirectoryContents(IEnumerable<IFileInfo> files) =>
|
||||
_files = files;
|
||||
|
||||
public bool Exists => true;
|
||||
|
||||
public IEnumerator<IFileInfo> GetEnumerator() => _files.GetEnumerator();
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
|
||||
}
|
||||
|
||||
private sealed class StaticWebAssetsDirectoryInfo : IFileInfo
|
||||
{
|
||||
private static readonly DateTimeOffset _lastModified = DateTimeOffset.FromUnixTimeSeconds(0);
|
||||
|
||||
|
||||
public StaticWebAssetsDirectoryInfo(string name)
|
||||
{
|
||||
Name = name;
|
||||
}
|
||||
|
||||
|
||||
public bool Exists => true;
|
||||
|
||||
public long Length => 0;
|
||||
|
||||
public string PhysicalPath => null;
|
||||
|
||||
public DateTimeOffset LastModified => _lastModified;
|
||||
|
||||
public bool IsDirectory => true;
|
||||
|
||||
public string Name { get; }
|
||||
|
||||
public Stream CreateReadStream() => throw new InvalidOperationException("Can not create a stream for a directory.");
|
||||
}
|
||||
|
||||
private sealed class StaticWebAssetsFileInfo : IFileInfo
|
||||
{
|
||||
private readonly IFileInfo _source;
|
||||
|
||||
public StaticWebAssetsFileInfo(string name, IFileInfo source)
|
||||
{
|
||||
Name = name;
|
||||
_source = source;
|
||||
}
|
||||
|
||||
public bool Exists => _source.Exists;
|
||||
|
||||
public long Length => _source.Length;
|
||||
|
||||
public string PhysicalPath => _source.PhysicalPath;
|
||||
|
||||
public DateTimeOffset LastModified => _source.LastModified;
|
||||
|
||||
public bool IsDirectory => _source.IsDirectory;
|
||||
|
||||
public string Name { get; }
|
||||
|
||||
public Stream CreateReadStream() => _source.CreateReadStream();
|
||||
}
|
||||
|
||||
|
||||
private sealed class FileNameComparer : IEqualityComparer<IFileInfo>
|
||||
{
|
||||
public bool Equals(IFileInfo x, IFileInfo y) => string.Equals(x?.Name, y?.Name, _fsComparison);
|
||||
|
||||
public int GetHashCode(IFileInfo obj) => obj.Name.GetHashCode(_fsComparison);
|
||||
}
|
||||
|
||||
|
||||
internal sealed class StaticWebAssetManifest
|
||||
{
|
||||
internal static readonly StringComparer PathComparer =
|
||||
OperatingSystem.IsWindows() ? StringComparer.OrdinalIgnoreCase : StringComparer.Ordinal;
|
||||
|
||||
public string[] ContentRoots { get; set; } = Array.Empty<string>();
|
||||
|
||||
public StaticWebAssetNode Root { get; set; } = null!;
|
||||
|
||||
internal static StaticWebAssetManifest Parse(Stream manifest)
|
||||
{
|
||||
return JsonSerializer.Deserialize<StaticWebAssetManifest>(manifest)!;
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class StaticWebAssetNode
|
||||
{
|
||||
[JsonPropertyName("Asset")]
|
||||
public StaticWebAssetMatch Match { get; set; }
|
||||
|
||||
[JsonConverter(typeof(OSBasedCaseConverter))]
|
||||
public Dictionary<string, StaticWebAssetNode> Children { get; set; }
|
||||
|
||||
public StaticWebAssetPattern[] Patterns { get; set; }
|
||||
|
||||
[MemberNotNullWhen(true, nameof(Children))]
|
||||
internal bool HasChildren() => Children != null && Children.Count > 0;
|
||||
|
||||
[MemberNotNullWhen(true, nameof(Patterns))]
|
||||
internal bool HasPatterns() => Patterns != null && Patterns.Length > 0;
|
||||
}
|
||||
|
||||
internal sealed class StaticWebAssetMatch
|
||||
{
|
||||
[JsonPropertyName("ContentRootIndex")]
|
||||
public int ContentRoot { get; set; }
|
||||
|
||||
[JsonPropertyName("SubPath")]
|
||||
public string Path { get; set; } = null!;
|
||||
}
|
||||
|
||||
internal sealed class StaticWebAssetPattern
|
||||
{
|
||||
[JsonPropertyName("ContentRootIndex")]
|
||||
public int ContentRoot { get; set; }
|
||||
|
||||
public int Depth { get; set; }
|
||||
|
||||
public string Pattern { get; set; } = null!;
|
||||
}
|
||||
|
||||
private sealed class OSBasedCaseConverter : JsonConverter<Dictionary<string, StaticWebAssetNode>>
|
||||
{
|
||||
public override Dictionary<string, StaticWebAssetNode> Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
return new Dictionary<string, StaticWebAssetNode>(
|
||||
JsonSerializer.Deserialize<IDictionary<string, StaticWebAssetNode>>(ref reader, options)!,
|
||||
StaticWebAssetManifest.PathComparer);
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, Dictionary<string, StaticWebAssetNode> value, JsonSerializerOptions options)
|
||||
{
|
||||
JsonSerializer.Serialize(writer, value, options);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
#nullable disable
|
||||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
|
@ -9,132 +10,20 @@ using System.Linq;
|
|||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components.WebView.WebView2.Tmp;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
|
||||
namespace Microsoft.AspNetCore.Components.WebView.WebView2.Internal
|
||||
{
|
||||
internal class StaticContentProvider
|
||||
internal partial class StaticContentProvider
|
||||
{
|
||||
private readonly IFileProvider _fileProvider;
|
||||
private readonly Uri _appBaseUri;
|
||||
private readonly string _hostPageRelativePath;
|
||||
private static readonly FileExtensionContentTypeProvider ContentTypeProvider = new();
|
||||
private static readonly ManifestEmbeddedFileProvider _manifestProvider =
|
||||
new ManifestEmbeddedFileProvider(typeof(WebViewManager).Assembly);
|
||||
|
||||
public static StaticContentProvider ResolveFromStaticWebAssetsManifest(IFileProvider fileProvider, Uri uri, string hostPageRelativePath)
|
||||
{
|
||||
var assembly = Assembly.GetEntryAssembly();
|
||||
if (string.IsNullOrEmpty(assembly?.Location))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var name = Path.GetFileNameWithoutExtension(assembly.Location);
|
||||
var manifestPath = Path.Combine(Path.GetDirectoryName(assembly.Location)!, $"{name}.staticwebassets.runtime.json");
|
||||
if (!File.Exists(manifestPath))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
using var stream = File.OpenRead(Path.Combine(Path.GetDirectoryName(assembly.Location)!, $"{name}.staticwebassets.runtime.json"));
|
||||
var manifest = ManifestStaticWebAssetFileProvider.StaticWebAssetManifest.Parse(stream);
|
||||
var provider = new ManifestStaticWebAssetFileProvider(manifest, (p) => new PhysicalFileProvider(p));
|
||||
return new StaticContentProvider(provider, uri, hostPageRelativePath);
|
||||
}
|
||||
|
||||
public StaticContentProvider(IFileProvider fileProvider, Uri appBaseUri, string hostPageRelativePath)
|
||||
{
|
||||
_fileProvider = fileProvider ?? throw new ArgumentNullException(nameof(fileProvider));
|
||||
_appBaseUri = appBaseUri ?? throw new ArgumentNullException(nameof(appBaseUri));
|
||||
_hostPageRelativePath = hostPageRelativePath ?? throw new ArgumentNullException(nameof(hostPageRelativePath));
|
||||
}
|
||||
|
||||
public bool TryGetResponseContent(string requestUri, bool allowFallbackOnHostPage, out int statusCode, out string statusMessage, out Stream content, out IDictionary<string, string> headers)
|
||||
{
|
||||
var fileUri = new Uri(requestUri);
|
||||
if (_appBaseUri.IsBaseOf(fileUri))
|
||||
{
|
||||
var relativePath = _appBaseUri.MakeRelativeUri(fileUri).ToString();
|
||||
|
||||
// Content in the file provider takes first priority
|
||||
// Next we may fall back on supplying the host page to support deep linking
|
||||
// If there's no match, fall back on serving embedded framework content
|
||||
string contentType;
|
||||
var found = TryGetFromFileProvider(relativePath, out content, out contentType)
|
||||
|| (allowFallbackOnHostPage && TryGetFromFileProvider(_hostPageRelativePath, out content, out contentType))
|
||||
|| TryGetFrameworkFile(relativePath, out content, out contentType);
|
||||
|
||||
if (found)
|
||||
{
|
||||
statusCode = 200;
|
||||
statusMessage = "OK";
|
||||
headers = GetResponseHeaders(contentType);
|
||||
}
|
||||
else
|
||||
{
|
||||
content = new MemoryStream(Encoding.UTF8.GetBytes($"There is no content at {relativePath}"));
|
||||
statusCode = 404;
|
||||
statusMessage = "Not found";
|
||||
headers = GetResponseHeaders("text/plain");
|
||||
}
|
||||
|
||||
// Always respond to requests within the base URI, even if there's no matching file
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// URL isn't within application base path, so let the network handle it
|
||||
statusCode = default;
|
||||
statusMessage = default;
|
||||
headers = default;
|
||||
content = default;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private bool TryGetFromFileProvider(string relativePath, out Stream content, out string contentType)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(relativePath))
|
||||
{
|
||||
var fileInfo = _fileProvider.GetFileInfo(relativePath);
|
||||
if (fileInfo.Exists)
|
||||
{
|
||||
content = fileInfo.CreateReadStream();
|
||||
contentType = GetResponseContentTypeOrDefault(fileInfo.Name);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
content = default;
|
||||
contentType = default;
|
||||
return false;
|
||||
}
|
||||
|
||||
private static bool TryGetFrameworkFile(string relativePath, out Stream content, out string contentType)
|
||||
{
|
||||
// We're not trying to simulate everything a real webserver does. We don't need to
|
||||
// support querystring parameters, for example. It's enough to require an exact match.
|
||||
var file = _manifestProvider.GetFileInfo(relativePath);
|
||||
if (file.Exists)
|
||||
{
|
||||
content = file.CreateReadStream();
|
||||
contentType = GetResponseContentTypeOrDefault(relativePath);
|
||||
return true;
|
||||
}
|
||||
|
||||
content = default;
|
||||
contentType = default;
|
||||
return false;
|
||||
}
|
||||
|
||||
private static string GetResponseContentTypeOrDefault(string path)
|
||||
internal static string GetResponseContentTypeOrDefault(string path)
|
||||
=> ContentTypeProvider.TryGetContentType(path, out var matchedContentType)
|
||||
? matchedContentType
|
||||
: "application/octet-stream";
|
||||
|
||||
private static IDictionary<string, string> GetResponseHeaders(string contentType)
|
||||
internal static IDictionary<string, string> GetResponseHeaders(string contentType)
|
||||
=> new Dictionary<string, string>()
|
||||
{
|
||||
{ "Content-Type", contentType },
|
||||
|
|
|
@ -6,8 +6,7 @@ using System.Collections.Generic;
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components.WebView.WebView2.Internal;
|
||||
using Microsoft.AspNetCore.Components.WebView.WebView2.Tmp;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
|
||||
namespace Microsoft.AspNetCore.Components.WebView.WebView2
|
||||
|
@ -24,7 +23,6 @@ namespace Microsoft.AspNetCore.Components.WebView.WebView2
|
|||
private const string AppOrigin = "https://0.0.0.0/";
|
||||
|
||||
private readonly IWebView2Wrapper _webview;
|
||||
private readonly StaticContentProvider _staticContentProvider = null;
|
||||
private readonly Task _webviewReadyTask;
|
||||
|
||||
/// <summary>
|
||||
|
@ -35,11 +33,10 @@ namespace Microsoft.AspNetCore.Components.WebView.WebView2
|
|||
/// <param name="dispatcher">A <see cref="Dispatcher"/> instance that can marshal calls to the required thread or sync context.</param>
|
||||
/// <param name="fileProvider">Provides static content to the webview.</param>
|
||||
/// <param name="hostPageRelativePath">Path to the host page within the <paramref name="fileProvider"/>.</param>
|
||||
public WebView2WebViewManager(IWebView2Wrapper webview, IServiceProvider services, Dispatcher dispatcher, IFileProvider fileProvider, string hostPageRelativePath)
|
||||
: base(services, dispatcher, new Uri(AppOrigin), fileProvider, hostPageRelativePath)
|
||||
public WebView2WebViewManager(IWebView2Wrapper webview, IServiceProvider services, Dispatcher dispatcher, IFileProvider fileProvider, JSComponentConfigurationStore jsComponents, string hostPageRelativePath)
|
||||
: base(services, dispatcher, new Uri(AppOrigin), fileProvider, jsComponents, hostPageRelativePath)
|
||||
{
|
||||
_webview = webview ?? throw new ArgumentNullException(nameof(webview));
|
||||
_staticContentProvider = StaticContentProvider.ResolveFromStaticWebAssetsManifest(fileProvider, new Uri(AppOrigin), hostPageRelativePath);
|
||||
|
||||
// Unfortunately the CoreWebView2 can only be instantiated asynchronously.
|
||||
// We want the external API to behave as if initalization is synchronous,
|
||||
|
@ -77,7 +74,7 @@ namespace Microsoft.AspNetCore.Components.WebView.WebView2
|
|||
eventArgs.ResourceContext == CoreWebView2WebResourceContextWrapper.Document ||
|
||||
eventArgs.ResourceContext == CoreWebView2WebResourceContextWrapper.Other; // e.g., dev tools requesting page source
|
||||
|
||||
if (TryGetResponseContentNewManifest(eventArgs.Request.Uri, allowFallbackOnHostPage, out var statusCode, out var statusMessage, out var content, out var headers))
|
||||
if (TryGetResponseContent(eventArgs.Request.Uri, allowFallbackOnHostPage, out var statusCode, out var statusMessage, out var content, out var headers))
|
||||
{
|
||||
var headerString = GetHeaderString(headers);
|
||||
eventArgs.SetResponse(content, statusCode, statusMessage, headerString);
|
||||
|
@ -135,8 +132,5 @@ namespace Microsoft.AspNetCore.Components.WebView.WebView2
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
private bool TryGetResponseContentNewManifest(string uri, bool allowFallbackOnHostPage, out int statusCode, out string statusMessage, out Stream content, out IDictionary<string, string> headers) =>
|
||||
_staticContentProvider.TryGetResponseContent(uri, allowFallbackOnHostPage, out statusCode, out statusMessage, out content, out headers);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,9 @@ using System.Collections.Specialized;
|
|||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.WebView.WebView2;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using WebView2Control = Microsoft.Web.WebView2.WinForms.WebView2;
|
||||
|
@ -17,7 +19,7 @@ namespace Microsoft.AspNetCore.Components.WebView.WindowsForms
|
|||
/// <summary>
|
||||
/// A Windows Forms control for hosting Blazor web components locally in Windows desktop applications.
|
||||
/// </summary>
|
||||
public class BlazorWebView : ContainerControl, IDisposable
|
||||
public class BlazorWebView : ContainerControl
|
||||
{
|
||||
private readonly WebView2Control _webview;
|
||||
private WebView2WebViewManager _webviewManager;
|
||||
|
@ -108,7 +110,7 @@ namespace Microsoft.AspNetCore.Components.WebView.WindowsForms
|
|||
|
||||
private void OnServicesPropertyChanged() => StartWebViewCoreIfPossible();
|
||||
|
||||
private bool IsAncestorSiteInDesignMode =>
|
||||
private bool IsAncestorSiteInDesignMode2 =>
|
||||
GetSitedParentSite(this) is ISite parentSite && parentSite.DesignMode;
|
||||
|
||||
private ISite GetSitedParentSite(Control control) =>
|
||||
|
@ -128,7 +130,7 @@ namespace Microsoft.AspNetCore.Components.WebView.WindowsForms
|
|||
{
|
||||
// We never start the Blazor code in design time because it doesn't make sense to run
|
||||
// a Blazor component in the designer.
|
||||
if (!IsAncestorSiteInDesignMode && (!RequiredStartupPropertiesSet || _webviewManager != null))
|
||||
if (!IsAncestorSiteInDesignMode2 && (!RequiredStartupPropertiesSet || _webviewManager != null))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -139,7 +141,8 @@ namespace Microsoft.AspNetCore.Components.WebView.WindowsForms
|
|||
var hostPageRelativePath = Path.GetRelativePath(contentRootDir, HostPage);
|
||||
var fileProvider = new PhysicalFileProvider(contentRootDir);
|
||||
|
||||
_webviewManager = new WebView2WebViewManager(new WindowsFormsWebView2Wrapper(_webview), Services, Dispatcher, fileProvider, hostPageRelativePath);
|
||||
var jsComponents = new JSComponentConfigurationStore();
|
||||
_webviewManager = new WebView2WebViewManager(new WindowsFormsWebView2Wrapper(_webview), Services, Dispatcher, fileProvider, jsComponents, hostPageRelativePath);
|
||||
foreach (var rootComponent in RootComponents)
|
||||
{
|
||||
// Since the page isn't loaded yet, this will always complete synchronously
|
||||
|
@ -177,9 +180,16 @@ namespace Microsoft.AspNetCore.Components.WebView.WindowsForms
|
|||
{
|
||||
if (disposing)
|
||||
{
|
||||
// Dispose this component's contents before calling base.Dispose() because that will dispose the WebView2 control, likely
|
||||
// preventing user-written disposal logic from working (because it might try to use Blazor stuff, which wouldn't work anymore).
|
||||
_webviewManager?.Dispose();
|
||||
// Dispose this component's contents and block on completion so that user-written disposal logic and
|
||||
// Blazor disposal logic will complete first. Then call base.Dispose(), which will dispose the WebView2
|
||||
// control. This order is critical because once the WebView2 is disposed it will prevent and Blazor
|
||||
// code from working because it requires the WebView to exist.
|
||||
_webviewManager?
|
||||
.DisposeAsync()
|
||||
.AsTask()
|
||||
.ConfigureAwait(false)
|
||||
.GetAwaiter()
|
||||
.GetResult();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
|
|
@ -20,4 +20,8 @@
|
|||
<ProjectReference Include="..\WebView2\Microsoft.AspNetCore.Components.WebView.WebView2.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="build\**" CopyToOutputDirectory="Never" CopyToPublishDirectory="Never" Pack="true" PackagePath="build\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
</Project>
|
|
@ -0,0 +1,18 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup>
|
||||
<StaticWebAssetBasePath>/</StaticWebAssetBasePath>
|
||||
<StaticWebAssetProjectMode>Root</StaticWebAssetProjectMode>
|
||||
<CoreCompileDependsOn Condition="'$(PublishProtocol)' == 'ClickOnce'">$(CoreCompileDependsOn);StaticWebAssetsPrepareForRun</CoreCompileDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="AddStaticWebAssetsForClickOnce" AfterTargets="ComputeFilesToPublish" Condition="'$(PublishProtocol)' == 'ClickOnce'">
|
||||
<ComputeStaticWebAssetsTargetPaths Assets="@(StaticWebAsset)" PathPrefix="wwwroot">
|
||||
<Output TaskParameter="AssetsWithTargetPath" ItemName="_ClickOnceAssetCandidate" />
|
||||
</ComputeStaticWebAssetsTargetPaths>
|
||||
<ItemGroup>
|
||||
<ContentWithTargetPath Include="@(_ClickOnceAssetCandidate)" KeepMetadata="TargetPath" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -7,8 +7,10 @@ using System.Collections.Specialized;
|
|||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
using Microsoft.AspNetCore.Components.WebView.WebView2;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using WebView2Control = Microsoft.Web.WebView2.Wpf.WebView2;
|
||||
|
@ -18,7 +20,7 @@ namespace Microsoft.AspNetCore.Components.WebView.Wpf
|
|||
/// <summary>
|
||||
/// A Windows Presentation Foundation (WPF) control for hosting Blazor web components locally in Windows desktop applications.
|
||||
/// </summary>
|
||||
public class BlazorWebView : Control, IDisposable
|
||||
public class BlazorWebView : Control, IAsyncDisposable
|
||||
{
|
||||
#region Dependency property definitions
|
||||
/// <summary>
|
||||
|
@ -155,7 +157,8 @@ namespace Microsoft.AspNetCore.Components.WebView.Wpf
|
|||
var hostPageRelativePath = Path.GetRelativePath(contentRootDir, HostPage);
|
||||
var fileProvider = new PhysicalFileProvider(contentRootDir);
|
||||
|
||||
_webviewManager = new WebView2WebViewManager(new WpfWebView2Wrapper(_webview), Services, WpfDispatcher.Instance, fileProvider, hostPageRelativePath);
|
||||
var jsComponents = new JSComponentConfigurationStore();
|
||||
_webviewManager = new WebView2WebViewManager(new WpfWebView2Wrapper(_webview), Services, WpfDispatcher.Instance, fileProvider, jsComponents, hostPageRelativePath);
|
||||
foreach (var rootComponent in RootComponents)
|
||||
{
|
||||
// Since the page isn't loaded yet, this will always complete synchronously
|
||||
|
@ -190,42 +193,6 @@ namespace Microsoft.AspNetCore.Components.WebView.Wpf
|
|||
}
|
||||
}
|
||||
|
||||
private void Dispose(bool disposing)
|
||||
{
|
||||
if (!_isDisposed)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
// Dispose managed state (managed objects)
|
||||
_webviewManager?.Dispose();
|
||||
_webview?.Dispose();
|
||||
}
|
||||
|
||||
// Also: free unmanaged resources (unmanaged objects) and override finalizer
|
||||
// Also: set large fields to null
|
||||
_isDisposed = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Performs the final cleanup before the garbage collector destroys the object.
|
||||
/// </summary>
|
||||
~BlazorWebView()
|
||||
{
|
||||
// Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method
|
||||
Dispose(disposing: false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Releases all resources used by the control.
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
// Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method
|
||||
Dispose(disposing: true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
private void CheckDisposed()
|
||||
{
|
||||
if (_isDisposed)
|
||||
|
@ -233,5 +200,38 @@ namespace Microsoft.AspNetCore.Components.WebView.Wpf
|
|||
throw new ObjectDisposedException(GetType().Name);
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual async ValueTask DisposeAsyncCore()
|
||||
{
|
||||
// Dispose this component's contents that user-written disposal logic and Blazor disposal logic will complete
|
||||
// first. Then dispose the WebView2 control. This order is critical because once the WebView2 is disposed it
|
||||
// will prevent and Blazor code from working because it requires the WebView to exist.
|
||||
if (_webviewManager != null)
|
||||
{
|
||||
await _webviewManager.DisposeAsync()
|
||||
.ConfigureAwait(false);
|
||||
_webviewManager = null;
|
||||
}
|
||||
|
||||
_webview?.Dispose();
|
||||
_webview = null;
|
||||
}
|
||||
|
||||
public async ValueTask DisposeAsync()
|
||||
{
|
||||
if (_isDisposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
_isDisposed = true;
|
||||
|
||||
// Perform async cleanup.
|
||||
await DisposeAsyncCore();
|
||||
|
||||
#pragma warning disable CA1816 // Dispose methods should call SuppressFinalize
|
||||
// Suppress finalization.
|
||||
GC.SuppressFinalize(this);
|
||||
#pragma warning restore CA1816 // Dispose methods should call SuppressFinalize
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Use TargetFrameworks (plural) instead of TargetFramework (singular) here even though there is only one target
|
||||
|
@ -20,4 +20,8 @@
|
|||
<ProjectReference Include="..\WebView2\Microsoft.AspNetCore.Components.WebView.WebView2.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="build\**" CopyToOutputDirectory="Never" CopyToPublishDirectory="Never" Pack="true" PackagePath="build\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
</Project>
|
|
@ -0,0 +1,18 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup>
|
||||
<StaticWebAssetBasePath>/</StaticWebAssetBasePath>
|
||||
<StaticWebAssetProjectMode>Root</StaticWebAssetProjectMode>
|
||||
<CoreCompileDependsOn Condition="'$(PublishProtocol)' == 'ClickOnce'">$(CoreCompileDependsOn);StaticWebAssetsPrepareForRun</CoreCompileDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="AddStaticWebAssetsForClickOnce" AfterTargets="ComputeFilesToPublish" Condition="'$(PublishProtocol)' == 'ClickOnce'">
|
||||
<ComputeStaticWebAssetsTargetPaths Assets="@(StaticWebAsset)" PathPrefix="wwwroot">
|
||||
<Output TaskParameter="AssetsWithTargetPath" ItemName="_ClickOnceAssetCandidate" />
|
||||
</ComputeStaticWebAssetsTargetPaths>
|
||||
<ItemGroup>
|
||||
<ContentWithTargetPath Include="@(_ClickOnceAssetCandidate)" KeepMetadata="TargetPath" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -1,29 +1,22 @@
|
|||
<Project Sdk="MSBuild.Sdk.Extras">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<Description>Android AppLinks support for Xamarin.Forms</Description>
|
||||
<TargetFramework>net6.0-android</TargetFramework>
|
||||
<AssemblyName>Microsoft.Maui.Controls.Compatibility.Android.AppLinks</AssemblyName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>$(AndroidTargetFrameworks)</TargetFrameworks>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<RootNamespace>Microsoft.Maui.Controls.Compatibility.Android.AppLinks</RootNamespace>
|
||||
<IsPackable>false</IsPackable>
|
||||
<Nullable>disable</Nullable>
|
||||
<NoWarn>0618</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)'=='Debug' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<None Remove="Resources\values\Strings.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\values\Strings.xml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Xamarin.Firebase.AppIndexing" Version="119.1.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'MonoAndroid10.0'">
|
||||
<ProjectReference Include="..\..\..\Controls\src\Core\Controls.Core.csproj" />
|
||||
<PackageReference Include="Xamarin.AndroidX.Lifecycle.LiveData" />
|
||||
<PackageReference Include="Xamarin.AndroidX.Legacy.Support.V4" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Controls\src\Core\Controls.Core-net6.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -1,44 +0,0 @@
|
|||
Images, layout descriptions, binary blobs and string dictionaries can be included
|
||||
in your application as resource files. Various Android APIs are designed to
|
||||
operate on the resource IDs instead of dealing with images, strings or binary blobs
|
||||
directly.
|
||||
|
||||
For example, a sample Android app that contains a user interface layout (main.axml),
|
||||
an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
|
||||
would keep its resources in the "Resources" directory of the application:
|
||||
|
||||
Resources/
|
||||
drawable/
|
||||
icon.png
|
||||
|
||||
layout/
|
||||
main.axml
|
||||
|
||||
values/
|
||||
strings.xml
|
||||
|
||||
In order to get the build system to recognize Android resources, set the build action to
|
||||
"AndroidResource". The native Android APIs do not operate directly with filenames, but
|
||||
instead operate on resource IDs. When you compile an Android application that uses resources,
|
||||
the build system will package the resources for distribution and generate a class called "R"
|
||||
(this is an Android convention) that contains the tokens for each one of the resources
|
||||
included. For example, for the above Resources layout, this is what the R class would expose:
|
||||
|
||||
public class R {
|
||||
public class drawable {
|
||||
public const int icon = 0x123;
|
||||
}
|
||||
|
||||
public class layout {
|
||||
public const int main = 0x456;
|
||||
}
|
||||
|
||||
public class strings {
|
||||
public const int first_string = 0xabc;
|
||||
public const int second_string = 0xbcd;
|
||||
}
|
||||
}
|
||||
|
||||
You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main
|
||||
to reference the layout/main.axml file, or R.strings.first_string to reference the first
|
||||
string in the dictionary file values/strings.xml.
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="library_name">Xamarin.Forms.Platform.Android.AppLinks</string>
|
||||
</resources>
|
|
@ -1,343 +1,38 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Condition="'$(EnvironmentBuildPropsImported)' != 'True'" Project="..\..\..\..\..\eng\Environment.Build.props" />
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{BB933AF2-9498-4C4E-9F76-AF66A550BED3}</ProjectGuid>
|
||||
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<TargetFramework>net6.0-android</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RootNamespace>Microsoft.Maui.Controls.Compatibility.ControlGallery.Android</RootNamespace>
|
||||
<AssemblyName>Microsoft.Maui.Controls.Compatibility.ControlGallery.Android</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AndroidApplication>true</AndroidApplication>
|
||||
<AndroidUseIntermediateDesignerFile>true</AndroidUseIntermediateDesignerFile>
|
||||
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
|
||||
<AndroidTargetFrameworkVersion Condition="'$(AndroidTargetFrameworkVersion)' == ''">v11.0</AndroidTargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>$(AndroidTargetFrameworkVersion)</TargetFrameworkVersion>
|
||||
<AndroidManifest Condition="$(AndroidTargetFrameworkVersion) == 'v11.0'">Properties\AndroidManifest.xml</AndroidManifest>
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||
<RestorePackages>true</RestorePackages>
|
||||
<AndroidEnableMultiDex>true</AndroidEnableMultiDex>
|
||||
<AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
|
||||
<IsPackable>false</IsPackable>
|
||||
<Nullable>disable</Nullable>
|
||||
<!--<DefineConstants>$(DefineConstants);HAVE_OPENTK</DefineConstants>-->
|
||||
<AndroidLinkMode>None</AndroidLinkMode>
|
||||
<NoWarn>IL2036;0618</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<!--
|
||||
default locally to using fast renderers but if we're running on CI don't set a value for ANDROID_RENDERERS.
|
||||
This will let the old and new yaml configurations coexist
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<!-- default locally to using fast renderers but if we're running on CI don't set a value for ANDROID_RENDERERS.
|
||||
This will let the old and new yaml configurations coexist -->
|
||||
<ANDROID_RENDERERS Condition="'$(ANDROID_RENDERERS)' == ''">FAST</ANDROID_RENDERERS>
|
||||
<DefineConstants Condition="'$(ANDROID_RENDERERS)' == 'FAST'">$(DefineConstants)</DefineConstants>
|
||||
<DefineConstants Condition="'$(ANDROID_RENDERERS)' == 'LEGACY'">$(DefineConstants);LEGACY_RENDERERS</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
|
||||
<DefineConstants>$(DefineConstants);HAVE_OPENTK;ENABLE_TEST_CLOUD</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);ENABLE_TEST_CLOUD</DefineConstants>
|
||||
<AndroidKeyStore>True</AndroidKeyStore>
|
||||
<AndroidSigningKeyStore>$(MSBuildThisFileDirectory)../../../../../eng/debug.keystore</AndroidSigningKeyStore>
|
||||
<AndroidSigningStorePass>android</AndroidSigningStorePass>
|
||||
<AndroidSigningKeyAlias>androiddebugkey</AndroidSigningKeyAlias>
|
||||
<AndroidSigningKeyPass>android</AndroidSigningKeyPass>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>$(DefineConstants);TRACE;DEBUG;HAVE_OPENTK</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AndroidLinkMode>None</AndroidLinkMode>
|
||||
<EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
|
||||
<AndroidSupportedAbis>armeabi-v7a;x86</AndroidSupportedAbis>
|
||||
<Debugger>Xamarin</Debugger>
|
||||
<DevInstrumentationEnabled>True</DevInstrumentationEnabled>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>$(DefineConstants);TRACE;HAVE_OPENTK</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AndroidLinkMode>SdkOnly</AndroidLinkMode>
|
||||
<EmbedAssembliesIntoApk>True</EmbedAssembliesIntoApk>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<AndroidDexTool>d8</AndroidDexTool>
|
||||
<AndroidLinkTool>r8</AndroidLinkTool>
|
||||
<AndroidEnableMultiDex>false</AndroidEnableMultiDex>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(CI)' == 'true'">
|
||||
<AndroidLinkMode>Full</AndroidLinkMode>
|
||||
<AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
|
||||
<EmbedAssembliesIntoApk>True</EmbedAssembliesIntoApk>
|
||||
<AndroidSupportedAbis>armeabi-v7a,x86</AndroidSupportedAbis>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="Mono.Android" />
|
||||
<Reference Include="Mono.Android.Export" />
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="OpenTK-1.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Activity1.cs" />
|
||||
<Compile Include="AttachedStateEffectRenderer.cs" />
|
||||
<Compile Include="BorderEffect.cs" />
|
||||
<Compile Include="BrokenNativeControl.cs" />
|
||||
<Compile Include="CacheService.cs" />
|
||||
<Compile Include="DrawableExtensions.cs" />
|
||||
<Compile Include="DisposeLabelRenderer.cs" />
|
||||
<Compile Include="DisposePageRenderer.cs" />
|
||||
<Compile Include="FormsAppCompatActivity.cs" />
|
||||
<Compile Include="Issue10182Activity.cs" />
|
||||
<Compile Include="MainApplication.cs" />
|
||||
<Compile Include="MultiWindowService.cs" />
|
||||
<Compile Include="PerformanceTrackerRenderer.cs" />
|
||||
<Compile Include="PlatformSpecificCoreGalleryFactory.cs" />
|
||||
<Compile Include="Tests\TestingPlatformService.cs" />
|
||||
<Compile Include="Tests\PlatformTestSettings.cs" />
|
||||
<Compile Include="PreApplicationClassActivity.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="RegistrarValidationService.cs" />
|
||||
<Compile Include="CustomRenderers.cs" />
|
||||
<Compile Include="ColorPicker.cs" />
|
||||
<Compile Include="SampleNativeControl.cs" />
|
||||
<Compile Include="StaggeredCollectionViewRenderer.cs" />
|
||||
<Compile Include="TestCloudService.cs" />
|
||||
<Compile Include="_1909CustomRenderer.cs" />
|
||||
<Compile Include="_2489CustomRenderer.cs" />
|
||||
<Compile Include="_38989CustomRenderer.cs" />
|
||||
<Compile Include="BrokenImageSourceHandler.cs" />
|
||||
<Compile Include="_50787CustomRenderer.cs" />
|
||||
<Compile Include="_57114CustomRenderer.cs" />
|
||||
<Compile Include="_5749CustomRenderer.cs" />
|
||||
<Compile Include="_58406EffectRenderer.cs" />
|
||||
<Compile Include="_59457CustomRenderer.cs" />
|
||||
<Compile Include="_60122ImageRenderer.cs" />
|
||||
<Compile Include="ContentDescriptionEffectRenderer.cs" />
|
||||
<Compile Include="..\Core\GalleryPages\OpenGLGalleries\AdvancedOpenGLGallery.cs">
|
||||
<Link>GalleryPages\AdvancedOpenGLGallery.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="ApiLabelRenderer.cs" />
|
||||
<Compile Include="Issue7249SwitchRenderer.cs" />
|
||||
<Compile Include="_9087CustomRenderer.cs" />
|
||||
<Compile Include="_10940CustomRenderer.cs" />
|
||||
<Compile Include="RippleEffect.cs" />
|
||||
<Compile Include="_12484CustomRenderer.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidAsset Include="Assets\default.css" />
|
||||
<AndroidResource Include="Resources\drawable\bank.png" />
|
||||
<AndroidResource Include="Resources\drawable\crimson.jpg" />
|
||||
<AndroidResource Include="Resources\drawable\oasis.jpg" />
|
||||
<AndroidResource Include="Resources\drawable\cover1small.jpg" />
|
||||
<AndroidResource Include="Resources\drawable\crimsonsmall.jpg" />
|
||||
<AndroidResource Include="Resources\drawable\oasissmall.jpg" />
|
||||
<AndroidResource Include="Resources\drawable\calculator.png" />
|
||||
<AndroidResource Include="Resources\drawable\seth.png" />
|
||||
<AndroidResource Include="Resources\drawable\menuIcon.png" />
|
||||
<AndroidResource Include="Resources\drawable\photo.jpg" />
|
||||
<AndroidAsset Include="Assets\WebImages\XamarinLogo.png" />
|
||||
<AndroidAsset Include="Assets\local.html" />
|
||||
<AndroidResource Include="Resources\values\Colors.xml" />
|
||||
<AndroidResource Include="Resources\layout\NativeAndroidCell.axml" />
|
||||
<AndroidResource Include="Resources\layout\NativeAndroidListViewCell.axml" />
|
||||
<AndroidResource Include="Resources\drawable\CustomSelector.xml" />
|
||||
<AndroidResource Include="Resources\drawable\CustomSelector2.xml" />
|
||||
<AndroidResource Include="Resources\drawable\FlowerBuds.jpg" />
|
||||
<AndroidResource Include="Resources\drawable\Fruits.jpg" />
|
||||
<AndroidResource Include="Resources\drawable\Legumes.jpg" />
|
||||
<AndroidResource Include="Resources\drawable\Vegetables.jpg" />
|
||||
<AndroidResource Include="Resources\values\styles.xml" />
|
||||
<AndroidResource Include="Resources\drawable\coffee.png" />
|
||||
<AndroidResource Include="Resources\drawable\toolbar_close.png" />
|
||||
<AndroidResource Include="Resources\drawable\test.jpg" />
|
||||
<AndroidResource Include="Resources\drawable\invalidimage.jpg" />
|
||||
<AndroidResource Include="Resources\values\strings.xml" />
|
||||
<AndroidResource Include="Resources\drawable\icon_search.png" />
|
||||
<AndroidResource Include="Resources\drawable\icon_bookmark.png" />
|
||||
<AndroidResource Include="Resources\drawable\button_add.png" />
|
||||
<AndroidResource Include="Resources\drawable\gamesflyout.png" />
|
||||
<AndroidResource Include="Resources\drawable\filmflyout.png" />
|
||||
<AndroidResource Include="Resources\drawable\headphoneflyout.png" />
|
||||
<AndroidResource Include="Resources\drawable\newspaperflyout.png" />
|
||||
<AndroidResource Include="Resources\drawable\booksflyout.png" />
|
||||
<AndroidResource Include="Resources\drawable\homeflyout.png" />
|
||||
<AndroidResource Include="Resources\drawable\xamarinlogo.png" />
|
||||
<AndroidResource Include="Resources\drawable\cardBackground.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\Icon.png" />
|
||||
<AndroidResource Include="Resources\drawable\cover1.jpg" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\..\Compatibility\Maps\src\Android\Compatibility.Maps.Android.csproj">
|
||||
<Project>{1d11ec11-4734-47d4-9b62-4d03cff67090}</Project>
|
||||
<Name>Compatibility.Maps.Android</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Controls\Maps\src\Controls.Maps.csproj">
|
||||
<Project>{f137fac5-3385-4b19-988b-4a14ed84ccc6}</Project>
|
||||
<Name>Controls.Maps</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Controls\tests\CustomAttributes\Controls.CustomAttributes.csproj">
|
||||
<Project>{2964f669-7cd9-4d78-b4d9-804a965d58c0}</Project>
|
||||
<Name>Controls.CustomAttributes</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Core\src\Core.csproj">
|
||||
<Project>{29913989-0f70-48d8-8ede-b1dd217f21d1}</Project>
|
||||
<Name>Core</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Android.AppLinks\src\Compatibility.Android.AppLinks.csproj">
|
||||
<Project>{10553575-8e27-4e2c-9e88-90b015e80f1c}</Project>
|
||||
<Name>Compatibility.Android.AppLinks</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Core\src\Compatibility.csproj">
|
||||
<Project>{8e86f0da-ed1c-409e-a7a9-df3e58498620}</Project>
|
||||
<Name>Compatibility</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Core\tests\Android\Compatibility.Android.UnitTests.csproj">
|
||||
<Project>{a4c57790-71d1-467c-a69e-2bd84cb6666c}</Project>
|
||||
<Name>Compatibility.Android.UnitTests</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Core\Compatibility.ControlGallery.Core.csproj">
|
||||
<Project>{E7D17A14-8399-4139-BDAA-EE4C1A3447FC}</Project>
|
||||
<Name>Compatibility.ControlGallery.Core</Name>
|
||||
</ProjectReference>
|
||||
<ProguardConfiguration Include="..\..\..\..\..\.nuspec\proguard.cfg">
|
||||
<Link>proguard.cfg</Link>
|
||||
</ProguardConfiguration>
|
||||
<ProjectReference Include="..\..\..\Android.FormsViewGroup\src\Compatibility.Android.FormsViewGroup.csproj">
|
||||
<Project>{3b72465b-acae-43ae-9327-10f372fe5f80}</Project>
|
||||
<Name>Compatibility.Android.FormsViewGroup</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Controls\src\Core\Controls.Core.csproj">
|
||||
<Project>{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}</Project>
|
||||
<Name>Controls.Core</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\layout\Toolbar.axml">
|
||||
<SubType>Designer</SubType>
|
||||
</AndroidResource>
|
||||
<AndroidResource Include="Resources\layout\Tabbar.axml">
|
||||
<SubType>Designer</SubType>
|
||||
</AndroidResource>
|
||||
<AndroidResource Include="Resources\layout\Layout38989.axml">
|
||||
<SubType>Designer</SubType>
|
||||
</AndroidResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Properties\AndroidManifest.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\error.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\heart.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\cartman.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BundleResource Include="Resources\drawable\caret_r.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\synchronize.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\synchronize_disabled.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\synchronize_enabled.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\anim\enter_from_left.xml">
|
||||
<SubType>Designer</SubType>
|
||||
</AndroidResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\anim\enter_from_right.xml">
|
||||
<SubType>Designer</SubType>
|
||||
</AndroidResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\anim\exit_to_left.xml">
|
||||
<SubType>Designer</SubType>
|
||||
</AndroidResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\anim\exit_to_right.xml">
|
||||
<SubType>Designer</SubType>
|
||||
</AndroidResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\red_button.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidAsset Include="Assets\test.jpg" />
|
||||
<AndroidResource Include="Resources\drawable\grid.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\bell.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\loop.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\home.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\games.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\film.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\books.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\headphone.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\newspaper.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\xamarinstore.jpg" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\person.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\card.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\star.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\jet.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\gear.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\mic.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Newtonsoft.Json">
|
||||
<Version>12.0.3</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="NUnit">
|
||||
<Version>3.13.1</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Xam.Plugin.DeviceInfo">
|
||||
<Version>3.0.2</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
|
||||
<PackageReference Include="NUnit" Version="3.13.1" />
|
||||
<PackageReference Include="Xam.Plugin.DeviceInfo" Version="3.0.2" />
|
||||
<PackageReference Include="Xamarin.Build.Download" />
|
||||
<PackageReference Include="Xamarin.AndroidX.Lifecycle.LiveData" />
|
||||
<PackageReference Include="Xamarin.AndroidX.Browser" />
|
||||
|
@ -345,48 +40,27 @@
|
|||
<PackageReference Include="Xamarin.AndroidX.Palette" />
|
||||
<PackageReference Include="Xamarin.Google.Android.Material" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<AndroidAsset Include="Assets\fonts\ionicons.ttf">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</AndroidAsset>
|
||||
<ProjectReference Include="..\..\..\..\Compatibility\Maps\src\Android\Compatibility.Maps.Android.csproj" />
|
||||
<ProjectReference Include="..\..\..\..\Controls\tests\CustomAttributes\Controls.CustomAttributes.csproj" />
|
||||
<ProjectReference Include="..\..\..\..\Controls\Maps\src\Controls.Maps-net6.csproj" />
|
||||
<ProjectReference Include="..\..\..\..\Controls\src\Core\Controls.Core-net6.csproj" />
|
||||
<ProjectReference Include="..\..\..\..\Core\src\Core-net6.csproj" />
|
||||
<ProjectReference Include="..\..\..\..\Compatibility\Android.FormsViewGroup\src\Compatibility.Android.FormsViewGroup-net6.csproj" />
|
||||
<ProjectReference Include="..\..\..\..\Compatibility\Core\src\Compatibility-net6.csproj" />
|
||||
<ProjectReference Include="..\..\..\..\Compatibility\Android.AppLinks\src\Compatibility.Android.AppLinks.csproj" />
|
||||
<ProjectReference Include="..\..\..\..\Compatibility\Core\tests\Android\Compatibility.Android.UnitTests.csproj" />
|
||||
<ProjectReference Include="..\Core\Compatibility.ControlGallery.Core-net6.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<TransformFile Include="Assets\fonts\icons.xml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
|
||||
</TransformFile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\GifOne.gif" />
|
||||
<Compile Include="..\Core\GalleryPages\OpenGLGalleries\AdvancedOpenGLGallery.cs" Link="GalleryPages\AdvancedOpenGLGallery.cs" />
|
||||
<ProguardConfiguration Include="..\..\..\..\..\.nuspec\proguard.cfg" />
|
||||
<AndroidAsset Include="Assets\**" />
|
||||
<AndroidResource Include="Resources\**" />
|
||||
<AndroidEnvironment Include="Environment.txt" />
|
||||
<Compile Include="Properties\MapsKey.cs" Condition="Exists('Properties\MapsKey.cs')" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\GifTwo.gif" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<LinkDescription Include="LinkDescription.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\rb_unchecked.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\rb_checked.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidAsset Include="Assets\googlemap.html" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidAsset Include="Assets\googlemapsearch.html" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\drawable\coffee2.png">
|
||||
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</AndroidResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="Exists('Properties\MapsKey.cs')">
|
||||
<Compile Include="Properties\MapsKey.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
|
||||
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
|
||||
|
||||
</Project>
|
|
@ -183,14 +183,13 @@ namespace Microsoft.Maui.Controls.Compatibility.ControlGallery.Android
|
|||
}
|
||||
}
|
||||
|
||||
public class NativeDroidFlyoutPage : Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat.MasterDetailPageRenderer
|
||||
public class NativeDroidFlyoutPage : FlyoutPageRenderer
|
||||
{
|
||||
FlyoutPage _page;
|
||||
bool _disposed;
|
||||
|
||||
public NativeDroidFlyoutPage(Context context) : base(context)
|
||||
{
|
||||
System.Diagnostics.Debug.WriteLine($">>>>> NativeDroidMasterDetail NativeDroidMasterDetail 53: This is the obsolete constructor being selected");
|
||||
}
|
||||
|
||||
protected override void OnElementChanged(VisualElement oldElement, VisualElement newElement)
|
||||
|
|
|
@ -57,11 +57,11 @@ namespace Microsoft.Maui.Controls.Compatibility.ControlGallery.Android
|
|||
FormsMaps.Init(this, bundle);
|
||||
|
||||
#if ENABLE_TEST_CLOUD
|
||||
ViewHandler
|
||||
.ViewMapper[nameof(IView.AutomationId)] = (h, v) =>
|
||||
ViewHandler.ViewMapper
|
||||
.Add(nameof(IView.AutomationId), (h, v) =>
|
||||
{
|
||||
((global::Android.Views.View)h.NativeView).ContentDescription = v.AutomationId;
|
||||
};
|
||||
h.NativeView.ContentDescription = v.AutomationId;
|
||||
});
|
||||
#endif
|
||||
|
||||
//FormsMaterial.Init(this, bundle);
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<linker>
|
||||
<assembly fullname="Microsoft.Maui.Controls.Compatibility.ControlGallery.Android">
|
||||
<namespace fullname="Microsoft.Maui.Controls.Compatibility.ControlGallery.Android.Tests" />
|
||||
<namespace fullname="Microsoft.Maui.Controls.Compatibility.ControlGallery.Issues" />
|
||||
<type fullname="*Renderer" />
|
||||
</assembly>
|
||||
<assembly fullname="Microsoft.Maui.Controls.Compatibility.ControlGallery">
|
||||
<namespace fullname="Maui.Controls.Tests" />
|
||||
<namespace fullname="Maui.Controls.Compatibility.Tests" />
|
||||
</assembly>
|
||||
<assembly fullname="nunit.framework"/>
|
||||
<assembly fullname="mscorlib">
|
||||
<!-- If we don't preserve these, we can't run async unit tests on the platform -->
|
||||
<type fullname="System.Runtime.CompilerServices.INotifyCompletion" />
|
||||
<type fullname="System.Runtime.CompilerServices.TaskAwaiter" />
|
||||
</assembly>
|
||||
<assembly fullname="Microsoft.Maui.Controls.Compatibility.Android.UnitTests" />
|
||||
<assembly fullname="Microsoft.Maui" />
|
||||
</linker>
|
|
@ -6,9 +6,6 @@ using Microsoft.Maui.Controls.Compatibility.ControlGallery.Android;
|
|||
using Microsoft.Maui.Controls.Compatibility.ControlGallery;
|
||||
using Microsoft.Maui.Controls.Compatibility;
|
||||
|
||||
[assembly: AssemblyTitle("Microsoft.Maui.Controls.ControlGallery.Android")]
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// Add some common permissions, these can be removed if not needed
|
||||
[assembly: UsesPermission(Android.Manifest.Permission.Internet)]
|
||||
[assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)]
|
||||
|
|
|
@ -1,44 +0,0 @@
|
|||
Images, layout descriptions, binary blobs and string dictionaries can be included
|
||||
in your application as resource files. Various Android APIs are designed to
|
||||
operate on the resource IDs instead of dealing with images, strings or binary blobs
|
||||
directly.
|
||||
|
||||
For example, a sample Android app that contains a user interface layout (main.axml),
|
||||
an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
|
||||
would keep its resources in the "Resources" directory of the application:
|
||||
|
||||
Resources/
|
||||
drawable/
|
||||
icon.png
|
||||
|
||||
layout/
|
||||
main.axml
|
||||
|
||||
values/
|
||||
strings.xml
|
||||
|
||||
In order to get the build system to recognize Android resources, set the build action to
|
||||
"AndroidResource". The native Android APIs do not operate directly with filenames, but
|
||||
instead operate on resource IDs. When you compile an Android application that uses resources,
|
||||
the build system will package the resources for distribution and generate a class called "R"
|
||||
(this is an Android convention) that contains the tokens for each one of the resources
|
||||
included. For example, for the above Resources layout, this is what the R class would expose:
|
||||
|
||||
public class R {
|
||||
public class drawable {
|
||||
public const int icon = 0x123;
|
||||
}
|
||||
|
||||
public class layout {
|
||||
public const int main = 0x456;
|
||||
}
|
||||
|
||||
public class strings {
|
||||
public const int first_string = 0xabc;
|
||||
public const int second_string = 0xbcd;
|
||||
}
|
||||
}
|
||||
|
||||
You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main
|
||||
to reference the layout/main.axml file, or R.strings.first_string to reference the first
|
||||
string in the dictionary file values/strings.xml.
|
|
@ -4,15 +4,17 @@ using System.Linq;
|
|||
using Microsoft.Maui.Controls;
|
||||
using Microsoft.Maui.Controls.ControlGallery.Android;
|
||||
using Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat;
|
||||
using Microsoft.Maui.Controls.ControlGallery.Issues;
|
||||
using System.ComponentModel;
|
||||
using Microsoft.Maui.Controls.Compatibility;
|
||||
using Microsoft.Maui.Controls.Compatibility.ControlGallery.Issues;
|
||||
using Microsoft.Maui.Controls.Platform;
|
||||
|
||||
[assembly: ExportRenderer(typeof(Issue5724.CustomButton), typeof(CustomButtonRenderer5724))]
|
||||
namespace Microsoft.Maui.Controls.ControlGallery.Android
|
||||
{
|
||||
public class CustomButtonRenderer5724 :
|
||||
#if !LEGACY_RENDERERS
|
||||
Platform.Android.FastRenderers.ButtonRenderer
|
||||
Compatibility.Platform.Android.FastRenderers.ButtonRenderer
|
||||
#else
|
||||
ButtonRenderer
|
||||
#endif
|
||||
|
@ -21,7 +23,7 @@ namespace Microsoft.Maui.Controls.ControlGallery.Android
|
|||
{
|
||||
}
|
||||
|
||||
protected override void OnElementChanged(Platform.Android.ElementChangedEventArgs<Button> e)
|
||||
protected override void OnElementChanged(ElementChangedEventArgs<Button> e)
|
||||
{
|
||||
base.OnElementChanged(e);
|
||||
}
|
||||
|
@ -33,7 +35,7 @@ namespace Microsoft.Maui.Controls.ControlGallery.Android
|
|||
|
||||
public class CustomImageRenderer5724 :
|
||||
#if !LEGACY_RENDERERS
|
||||
Platform.Android.FastRenderers.ImageRenderer
|
||||
Compatibility.Platform.Android.FastRenderers.ImageRenderer
|
||||
#else
|
||||
ImageRenderer
|
||||
#endif
|
||||
|
@ -42,7 +44,7 @@ namespace Microsoft.Maui.Controls.ControlGallery.Android
|
|||
{
|
||||
}
|
||||
|
||||
protected override void OnElementChanged(Platform.Android.ElementChangedEventArgs<Image> e)
|
||||
protected override void OnElementChanged(ElementChangedEventArgs<Image> e)
|
||||
{
|
||||
base.OnElementChanged(e);
|
||||
}
|
||||
|
@ -54,7 +56,7 @@ namespace Microsoft.Maui.Controls.ControlGallery.Android
|
|||
|
||||
public class CustomFrameRenderer5724 :
|
||||
#if !LEGACY_RENDERERS
|
||||
Platform.Android.FastRenderers.FrameRenderer
|
||||
Compatibility.Platform.Android.FastRenderers.FrameRenderer
|
||||
#else
|
||||
FrameRenderer
|
||||
#endif
|
||||
|
@ -63,7 +65,7 @@ namespace Microsoft.Maui.Controls.ControlGallery.Android
|
|||
{
|
||||
}
|
||||
|
||||
protected override void OnElementChanged(Platform.Android.ElementChangedEventArgs<Frame> e)
|
||||
protected override void OnElementChanged(ElementChangedEventArgs<Frame> e)
|
||||
{
|
||||
base.OnElementChanged(e);
|
||||
}
|
||||
|
@ -77,7 +79,7 @@ namespace Microsoft.Maui.Controls.ControlGallery.Android
|
|||
|
||||
public class CustomLabelRenderer5724 :
|
||||
#if !LEGACY_RENDERERS
|
||||
Platform.Android.FastRenderers.LabelRenderer
|
||||
Compatibility.Platform.Android.FastRenderers.LabelRenderer
|
||||
#else
|
||||
LabelRenderer
|
||||
#endif
|
||||
|
@ -86,7 +88,7 @@ namespace Microsoft.Maui.Controls.ControlGallery.Android
|
|||
{
|
||||
}
|
||||
|
||||
protected override void OnElementChanged(Platform.Android.ElementChangedEventArgs<Label> e)
|
||||
protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
|
||||
{
|
||||
base.OnElementChanged(e);
|
||||
}
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -111,7 +111,7 @@
|
|||
<ProjectReference Include="..\..\..\..\Controls\src\Core\Controls.Core-net6.csproj" />
|
||||
<ProjectReference Include="..\..\..\..\Controls\src\Xaml\Controls.Xaml-net6.csproj" />
|
||||
<ProjectReference Include="..\..\..\..\Core\src\Core-net6.csproj" />
|
||||
<ProjectReference Include="..\..\..\Core\src\Compatibility-net6.csproj" />
|
||||
<ProjectReference Include="..\..\..\..\Compatibility\Core\src\Compatibility-net6.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -9,7 +9,7 @@ namespace Microsoft.Maui.Controls.Compatibility.ControlGallery
|
|||
public class AppearingGalleryPage : ContentPage
|
||||
{
|
||||
const string NavPageTitle = "NavAppearingPage";
|
||||
const string MasterPageTitle = "MasterAppearingPage";
|
||||
const string FlyoutPageTitle = "FlyoutPageAppearingPage";
|
||||
const string TabbedPageTitle = "TabbedAppearingPage";
|
||||
const string CarouselPageTitle = "CarouselAppearingPage";
|
||||
|
||||
|
@ -27,9 +27,9 @@ namespace Microsoft.Maui.Controls.Compatibility.ControlGallery
|
|||
Application.Current.MainPage = new NavAppearingPage(initalPage);
|
||||
})
|
||||
},
|
||||
new Button { Text = MasterPageTitle, Command = new Command (() => {
|
||||
new Button { Text = FlyoutPageTitle, Command = new Command (() => {
|
||||
var page = new FlyoutPage {
|
||||
Title = MasterPageTitle,
|
||||
Title = FlyoutPageTitle,
|
||||
Flyout = new ContentPage { Title = "Flyout", BackgroundColor = Colors.Red },
|
||||
Detail = new NavAppearingPage(initalPage)
|
||||
};
|
||||
|
|
|
@ -22,6 +22,7 @@ using Microsoft.Maui.Controls.PlatformConfiguration;
|
|||
using Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;
|
||||
using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;
|
||||
using Microsoft.Maui.Graphics;
|
||||
using AbsoluteLayoutFlags = Microsoft.Maui.Layouts.AbsoluteLayoutFlags;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.ControlGallery
|
||||
{
|
||||
|
|
|
@ -7,6 +7,7 @@ using System.Text;
|
|||
using System.Threading.Tasks;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using Microsoft.Maui.Graphics;
|
||||
using AbsoluteLayoutFlags = Microsoft.Maui.Layouts.AbsoluteLayoutFlags;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.ControlGallery
|
||||
{
|
||||
|
|
|
@ -86,7 +86,7 @@ namespace Microsoft.Maui.Controls.Compatibility.ControlGallery
|
|||
});
|
||||
};
|
||||
|
||||
var master = new Button { Text = "MasterDetail" };
|
||||
var master = new Button { Text = "FlyoutPage" };
|
||||
master.Clicked += async (sender, args) =>
|
||||
{
|
||||
await Navigation.PushModalAsync(new FlyoutPage
|
||||
|
|
|
@ -4,6 +4,7 @@ using System.Linq;
|
|||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Maui.Graphics;
|
||||
using AbsoluteLayoutFlags = Microsoft.Maui.Layouts.AbsoluteLayoutFlags;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.ControlGallery
|
||||
{
|
||||
|
|
|
@ -5,6 +5,7 @@ using System.Linq;
|
|||
using System.Threading.Tasks;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using Microsoft.Maui.Graphics;
|
||||
using AbsoluteLayoutFlags = Microsoft.Maui.Layouts.AbsoluteLayoutFlags;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.ControlGallery.GalleryPages.CollectionViewGalleries.CarouselViewGalleries
|
||||
{
|
||||
|
|
|
@ -7,7 +7,7 @@ namespace Microsoft.Maui.Controls.Compatibility.ControlGallery
|
|||
{
|
||||
public FlyoutPageTabletPage()
|
||||
{
|
||||
Title = "MasterDetail FlyoutLayoutBehavior Gallery";
|
||||
Title = "FlyoutPage FlyoutLayoutBehavior Gallery";
|
||||
|
||||
var btn = new Button { Text = "Default (old behavior)" };
|
||||
btn.Clicked += async (sender, e) => await Navigation.PushModalAsync(new Issue1461Page(FlyoutLayoutBehavior.Default, null));
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
</NavigationPage.TitleView>
|
||||
<ScrollView>
|
||||
<StackLayout BackgroundColor="Pink">
|
||||
<Button Clicked="masterDetailsPage_Clicked" Text="Flyout Details Page"></Button>
|
||||
<Button Clicked="masterDetailsPageIcon_Clicked" Text="Toggle MDP Icon"></Button>
|
||||
<Button Clicked="flyoutPagesPage_Clicked" Text="Flyout Details Page"></Button>
|
||||
<Button Clicked="flyoutPagesPageIcon_Clicked" Text="Toggle MDP Icon"></Button>
|
||||
<Button Clicked="tabbedPage_Clicked" Text="Tabbed Page"></Button>
|
||||
<Button Clicked="navigationPage_Clicked" Text="Navigation Page"></Button>
|
||||
<Button Clicked="nextPage_Clicked" Text="Push a Page"></Button>
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace Microsoft.Maui.Controls.Compatibility.ControlGallery.GalleryPages
|
|||
|
||||
if (initialLoad)
|
||||
{
|
||||
Device.BeginInvokeOnMainThread(() => masterDetailsPage_Clicked(this, EventArgs.Empty));
|
||||
Device.BeginInvokeOnMainThread(() => flyoutPagesPage_Clicked(this, EventArgs.Empty));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,7 @@ namespace Microsoft.Maui.Controls.Compatibility.ControlGallery.GalleryPages
|
|||
}
|
||||
}
|
||||
|
||||
void masterDetailsPage_Clicked(object sender, EventArgs e)
|
||||
void flyoutPagesPage_Clicked(object sender, EventArgs e)
|
||||
{
|
||||
App.Current.MainPage =
|
||||
new FlyoutPage()
|
||||
|
@ -195,7 +195,7 @@ namespace Microsoft.Maui.Controls.Compatibility.ControlGallery.GalleryPages
|
|||
NavigationPage.SetTitleIconImageSource(page, null);
|
||||
}
|
||||
|
||||
void masterDetailsPageIcon_Clicked(object sender, EventArgs e)
|
||||
void flyoutPagesPageIcon_Clicked(object sender, EventArgs e)
|
||||
{
|
||||
if (App.Current.MainPage is FlyoutPage mdp)
|
||||
{
|
||||
|
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче