Skip to content

Commit 550bfed

Browse files
committed
Merge branch 'multitarget/enabled-targetframework-overrides' of https://github.com/CommunityToolkit/Tooling-Windows-Submodule into multitarget/enabled-targetframework-overrides
2 parents a7ac78e + b7521ef commit 550bfed

File tree

9 files changed

+59
-66
lines changed

9 files changed

+59
-66
lines changed

.github/workflows/config/Directory.Build.props

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,4 @@
3636
<IsPublishable>true</IsPublishable>
3737
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
3838
</PropertyGroup>
39-
40-
<ItemGroup>
41-
<Compile Include="$(RepositoryDirectory)tooling\GlobalUsings.cs" />
42-
</ItemGroup>
4339
</Project>

MultiTarget/Extra.props

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<Project>
2+
<PropertyGroup Condition="'$(IsWinAppSdk)' == 'true' OR '$(IsUwp)' == 'true'">
3+
<!--
4+
For net5.0+ targets, TargetPlatformMinVersion was renamed to SupportedOSPlatformVersion. See https://github.com/dotnet/designs/pull/157
5+
6+
The dotnet SDK uses the TargetPlatformVersion property to provide a default SupportedOSPlatformVersion value if none is explicitly provided.
7+
See https://github.com/dotnet/designs/blob/bba3216250cb29b0063bac3ebb57a542ee21ad4f/accepted/2020/minimum-os-version/minimum-os-version.md?plain=1#L73C27-L73C48
8+
-->
9+
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
10+
<SupportedOSPlatformVersion>$(TargetPlatformMinVersion)</SupportedOSPlatformVersion>
11+
<TargetPlatformVersion Condition="'$(MultiTargetPlatformIdentifier)' == 'windows'">10.0.26100.0</TargetPlatformVersion>
12+
<TargetPlatformVersion Condition="'$(MultiTargetPlatformIdentifier)' != 'windows'">10.0.19041.0</TargetPlatformVersion>
13+
</PropertyGroup>
14+
15+
<!-- Workaround, improved error message when consuming from Uno projects with mismatched TFMs -->
16+
<!-- See https://github.com/CommunityToolkit/Windows/issues/388 -->
17+
<ItemGroup>
18+
<None PackagePath="lib/net9.0-windows10.0.18362" Include="$(MSBuildThisFileDirectory)/_._" Pack="true" />
19+
<None PackagePath="lib/net8.0-windows10.0.18362" Include="$(MSBuildThisFileDirectory)/_._" Pack="true" />
20+
<None PackagePath="lib/net7.0-windows10.0.18362" Include="$(MSBuildThisFileDirectory)/_._" Pack="true" />
21+
</ItemGroup>
22+
23+
<PropertyGroup Condition="'$(IsUwp)' == 'true'">
24+
<Platforms>x86;x64;arm64</Platforms>
25+
26+
<WindowsSdkPackageVersion Condition="'$(MultiTargetPlatformIdentifier)' == 'windows'">10.0.26100.54</WindowsSdkPackageVersion>
27+
<RuntimeIdentifiers Condition="'$(MultiTargetPlatformIdentifier)' == 'windows'">win-x86;win-x64;win-arm64</RuntimeIdentifiers>
28+
</PropertyGroup>
29+
30+
<PropertyGroup Condition="'$(IsWinAppSdk)' == 'true'">
31+
<!-- See https://github.com/microsoft/WindowsAppSDK/issues/3842 -->
32+
<UseRidGraph>true</UseRidGraph>
33+
34+
<RuntimeIdentifiers Condition="$([MSBuild]::GetTargetFrameworkVersion('$(TargetFramework)')) >= 8">win-x86;win-x64;win-arm64</RuntimeIdentifiers>
35+
<RuntimeIdentifiers Condition="8 > $([MSBuild]::GetTargetFrameworkVersion('$(TargetFramework)'))">win10-x86;win10-x64;win10-arm64</RuntimeIdentifiers>
36+
37+
<!--- Workaround for ADO 53865998 - See https://github.com/CommunityToolkit/Tooling-Windows-Submodule/issues/215 - Don't include extraneous WebView2 dll -->
38+
<WebView2NeverCopyLoaderDllToOutputDirectory>true</WebView2NeverCopyLoaderDllToOutputDirectory>
39+
</PropertyGroup>
40+
</Project>

MultiTarget/GlobalUsings.props

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<Project>
2+
<ItemGroup>
3+
<Compile Condition="'$(EnableGlobalUsings)' != 'false' AND '$(HasWinUI)' == 'true'" Include="$(ToolingDirectory)\GlobalUsings_WinUI.cs" />
4+
<Compile Condition="'$(EnableGlobalUsings)' != 'false'" Include="$(ToolingDirectory)\GlobalUsings.cs" />
5+
</ItemGroup>
6+
</Project>

MultiTarget/Library.props

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@
1818
<Import Project="$(ToolingDirectory)\MultiTarget\MultiTargetIdentifiers.props" />
1919
<Import Project="$(ToolingDirectory)\MultiTarget\DefinedConstants.props" />
2020
<Import Project="$(ToolingDirectory)\MultiTarget\NoWarn.props"/>
21+
<Import Project="$(ToolingDirectory)\MultiTarget\GlobalUsings.props" />
2122

2223
<!-- Add platform package dependencies -->
2324
<Import Project="$(ToolingDirectory)\MultiTarget\PackageReferences\Uno.props" Condition="$(IsUno) == 'true'" />
2425
<Import Project="$(ToolingDirectory)\MultiTarget\PackageReferences\Uwp.props" Condition="$(IsUwp) == 'true'"/>
2526
<Import Project="$(ToolingDirectory)\MultiTarget\PackageReferences\WinAppSdk.props" Condition="$(IsWinAppSdk) == 'true'"/>
27+
<Import Project="$(ToolingDirectory)\MultiTarget\Extra.props" />
2628

2729
<!-- Configure WinUI -->
2830
<Import Project="$(ToolingDirectory)\MultiTarget\WinUI.AutoIncludeXamlPages.props" Condition="$(HasWinUI) == 'true'" />

MultiTarget/MultiTargetIdentifiers.props

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,16 @@
5353

5454
<IsUno Condition="'$(IsWasm)' == 'true' OR '$(IsWpf)' == 'true' OR '$(IsGtk)' == 'true' OR '$(IsDroid)' == 'true' OR '$(IsMacOS)' == 'true' OR '$(IsiOS)' == 'true'">true</IsUno>
5555

56-
<HasWinUI Condition="'$(HasWinUI)' == '' AND ('$(IsUwp)' == 'true' OR '$(IsWinAppSdk)' == 'true' OR '$(IsUno)' == 'true')">true</HasWinUI>
5756

5857
<!--
5958
This property is only for changing the version used by Uno.
6059
Force the version to 2 for UWP and 3 for WinAppSDK.
6160
-->
62-
<WinUIMajorVersion Condition="'$(HasWinUI)' == 'true' AND '$(IsUwp)' == 'true' AND $(WinUIMajorVersion) == ''">2</WinUIMajorVersion>
63-
<WinUIMajorVersion Condition="'$(HasWinUI)' == 'true' AND '$(IsWinAppSdk)' == 'true' AND $(WinUIMajorVersion) == ''">3</WinUIMajorVersion>
61+
<WinUIMajorVersion Condition="'$(IsUwp)' == 'true'">2</WinUIMajorVersion>
62+
<WinUIMajorVersion Condition="'$(IsWinAppSdk)' == 'true'">3</WinUIMajorVersion>
63+
64+
<HasWinUI Condition="'$(HasWinUI)' == '' AND '$(WinUIMajorVersion)' == '2' AND '$(HasWinUI2)' == 'false'">false</HasWinUI>
65+
<HasWinUI Condition="'$(HasWinUI)' == '' AND ('$(IsUwp)' == 'true' OR '$(IsWinAppSdk)' == 'true' OR '$(IsUno)' == 'true')">true</HasWinUI>
6466

6567
<UseUwp Condition="'$(HasWinUI)' == 'true' AND '$(IsUwp)' == 'true' AND '$(MultiTargetPlatformIdentifier)' == 'windows'">true</UseUwp>
6668
</PropertyGroup>

MultiTarget/WinUI.Extra.props

Lines changed: 0 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -8,45 +8,6 @@
88
<EnableDefaultPageItems>false</EnableDefaultPageItems>
99
</PropertyGroup>
1010

11-
<PropertyGroup Condition="'$(IsWinAppSdk)' == 'true' OR '$(IsUwp)' == 'true'">
12-
<!--
13-
For net5.0+ targets, TargetPlatformMinVersion was renamed to SupportedOSPlatformVersion. See https://github.com/dotnet/designs/pull/157
14-
15-
The dotnet SDK uses the TargetPlatformVersion property to provide a default SupportedOSPlatformVersion value if none is explicitly provided.
16-
See https://github.com/dotnet/designs/blob/bba3216250cb29b0063bac3ebb57a542ee21ad4f/accepted/2020/minimum-os-version/minimum-os-version.md?plain=1#L73C27-L73C48
17-
-->
18-
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
19-
<SupportedOSPlatformVersion>$(TargetPlatformMinVersion)</SupportedOSPlatformVersion>
20-
<TargetPlatformVersion Condition="'$(MultiTargetPlatformIdentifier)' == 'windows'">10.0.26100.0</TargetPlatformVersion>
21-
<TargetPlatformVersion Condition="'$(MultiTargetPlatformIdentifier)' != 'windows'">10.0.19041.0</TargetPlatformVersion>
22-
</PropertyGroup>
23-
24-
<!-- Workaround, improved error message when consuming from Uno projects with mismatched TFMs -->
25-
<!-- See https://github.com/CommunityToolkit/Windows/issues/388 -->
26-
<ItemGroup>
27-
<None PackagePath="lib/net9.0-windows10.0.18362" Include="$(MSBuildThisFileDirectory)/_._" Pack="true" />
28-
<None PackagePath="lib/net8.0-windows10.0.18362" Include="$(MSBuildThisFileDirectory)/_._" Pack="true" />
29-
<None PackagePath="lib/net7.0-windows10.0.18362" Include="$(MSBuildThisFileDirectory)/_._" Pack="true" />
30-
</ItemGroup>
31-
32-
<PropertyGroup Condition="'$(IsUwp)' == 'true'">
33-
<Platforms>x86;x64;arm64</Platforms>
34-
35-
<WindowsSdkPackageVersion Condition="'$(MultiTargetPlatformIdentifier)' == 'windows'">10.0.26100.54</WindowsSdkPackageVersion>
36-
<RuntimeIdentifiers Condition="'$(MultiTargetPlatformIdentifier)' == 'windows'">win-x86;win-x64;win-arm64</RuntimeIdentifiers>
37-
</PropertyGroup>
38-
39-
<PropertyGroup Condition="'$(IsWinAppSdk)' == 'true'">
40-
<!-- See https://github.com/microsoft/WindowsAppSDK/issues/3842 -->
41-
<UseRidGraph>true</UseRidGraph>
42-
43-
<RuntimeIdentifiers Condition="$([MSBuild]::GetTargetFrameworkVersion('$(TargetFramework)')) >= 8">win-x86;win-x64;win-arm64</RuntimeIdentifiers>
44-
<RuntimeIdentifiers Condition="8 > $([MSBuild]::GetTargetFrameworkVersion('$(TargetFramework)'))">win10-x86;win10-x64;win10-arm64</RuntimeIdentifiers>
45-
46-
<!--- Workaround for ADO 53865998 - See https://github.com/CommunityToolkit/Tooling-Windows-Submodule/issues/215 - Don't include extraneous WebView2 dll -->
47-
<WebView2NeverCopyLoaderDllToOutputDirectory>true</WebView2NeverCopyLoaderDllToOutputDirectory>
48-
</PropertyGroup>
49-
5011
<PropertyGroup Condition="'$(IsUno)' == 'true'">
5112
<!-- Xaml Trimming: https://platform.uno/docs/articles/features/resources-trimming.html -->
5213
<UnoXamlResourcesTrimming>true</UnoXamlResourcesTrimming>
@@ -56,23 +17,4 @@
5617
<!-- These suppressions are for references between generated assemblies and that VS can keep in the Error List once resolved -->
5718
<NoWarn>$(NoWarn);WMC1006;CS8034;</NoWarn>
5819
</PropertyGroup>
59-
60-
<!-- Disable warnings for 'This call site is reachable on all platforms.' caused by underlying platform. -->
61-
<PropertyGroup Condition="'$(IsUwp)' == 'true' AND '$(MultiTargetPlatformIdentifier)' == 'windows'">
62-
<NoWarn>$(NoWarn);CA1416;</NoWarn>
63-
</PropertyGroup>
64-
65-
<ItemGroup>
66-
<Compile Include="$(ToolingDirectory)\GlobalUsings_WinUI.cs" />
67-
</ItemGroup>
68-
69-
<!-- Workaround for Mac: https://developercommunity.visualstudio.com/t/XamarinMac-binaries-are-missing-in-173/10164443#T-N10164676 10/6/22 -->
70-
<ItemGroup Condition=" $(TargetFramework.StartsWith('xamarinmac')) ">
71-
<Reference Include="Xamarin.Mac">
72-
<HintPath Condition="Exists('c:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Extensions\Xamarin.VisualStudio')">c:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Extensions\Xamarin.VisualStudio\Xamarin.Mac.dll</HintPath>
73-
<HintPath Condition="Exists('c:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\Xamarin.VisualStudio')">c:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\Xamarin.VisualStudio\Xamarin.Mac.dll</HintPath>
74-
<HintPath Condition="Exists('c:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Xamarin.VisualStudio')">c:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Xamarin.VisualStudio\Xamarin.Mac.dll</HintPath>
75-
<HintPath Condition="Exists('c:\Program Files\Microsoft Visual Studio\2022\Preview\Common7\IDE\Extensions\Xamarin.VisualStudio')">c:\Program Files\Microsoft Visual Studio\2022\Preview\Common7\IDE\Extensions\Xamarin.VisualStudio\Xamarin.Mac.dll</HintPath>
76-
</Reference>
77-
</ItemGroup>
7820
</Project>

ProjectHeads/App.Head.props

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
<!-- Common props for any deployable app project head. -->
22
<Project>
3+
<Import Project="$(MSBuildThisFileDirectory)\..\MultiTarget\Extra.props" />
4+
<Import Project="$(ToolingDirectory)\MultiTarget\GlobalUsings.props" />
5+
36
<!-- Shared project -->
47
<Import Project="$(ToolingDirectory)\CommunityToolkit.App.Shared\CommunityToolkit.App.Shared.projitems" Label="Shared" />
58

ProjectHeads/GenerateSingleSampleHeads.ps1

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ if ($MultiTargets.Contains('uwp') -and $MultiTargets.Contains('wasdk'))
8989
}
9090

9191
$MultiTargets = $MultiTargets | Where-Object { $_ -notin $ExcludeMultiTargets }
92-
$ExcludeMultiTargets = $ExcludeMultiTargets | Where-Object { $_ -notin $MultiTargets }
9392

9493
# Generate required props for preferences
9594
& $PSScriptRoot/../MultiTarget/UseTargetFrameworks.ps1 -MultiTargets $MultiTargets

ProjectHeads/Tests.Head.props

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
<Project>
2+
<Import Project="$(MSBuildThisFileDirectory)\..\MultiTarget\Extra.props" />
3+
<Import Project="$(ToolingDirectory)\MultiTarget\GlobalUsings.props" />
4+
25
<!-- Source generators -->
36
<ItemGroup Condition="'$(IsWinAppSdk)' != 'true'">
47
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.11.0" PrivateAssets="all" />

0 commit comments

Comments
 (0)