mirror of
https://github.com/Microsoft/calculator.git
synced 2025-08-20 21:33:10 -07:00
Build with Visual Studio 2022 (#1793)
- Use Visual Studio 2022 - Use an Azure Pipelines image which has Visual Studio 2022 installed - Use the v143 C++ build tools - Use the Windows SDK version 22000 - Raise the minimum platform version to 17763 - As a consequence of this change, we will use the "msix" file extension instead of "appx" for our packages - Update UI tests from .NET Core 2.1 to .NET Core 3.1
This commit is contained in:
parent
aba6423513
commit
5326b8e646
25 changed files with 148 additions and 149 deletions
98
build/scripts/CreateMsixBundleMapping.ps1
Normal file
98
build/scripts/CreateMsixBundleMapping.ps1
Normal file
|
@ -0,0 +1,98 @@
|
|||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the MIT License.
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Generates a mapping file to be used with the MakeAppx tool. It generates the file based on
|
||||
a folder structure grouped by architecture then by project, like this example:
|
||||
|
||||
drop\
|
||||
ARM\
|
||||
Project\
|
||||
AppPackages\
|
||||
Project_ARM.msix
|
||||
Project_scale-100.msix
|
||||
x64\
|
||||
Project\
|
||||
AppPackages\
|
||||
Project_x64.msix
|
||||
Project_scale-100.msix
|
||||
|
||||
.PARAMETER InputPath
|
||||
The path where msix packages to bundle are located.
|
||||
|
||||
.PARAMETER ProjectName
|
||||
The folder name within each architecture to search recursively for msix packages. The msix files
|
||||
must also have the ProjectName in their file names.
|
||||
|
||||
.PARAMETER OutputFile
|
||||
The path to write the generated mapping file.
|
||||
|
||||
.EXAMPLE
|
||||
Create-MsixBundleMapping -InputPath "C:\drop" -ProjectName "CalculatorApp" -OutputFile "C:\Temp\MsixBundleMapping.txt"
|
||||
#>
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
[string]
|
||||
$InputPath,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[string]
|
||||
$ProjectName,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[string]
|
||||
$OutputFile
|
||||
)
|
||||
|
||||
# List all msix packages by architecture
|
||||
$architectures = @(Get-ChildItem -Path $InputPath -Directory | Foreach-Object Name | Foreach-Object ToLower)
|
||||
if ($architectures.Count -lt 1)
|
||||
{
|
||||
throw "No architecture-specific folders found in $InputPath"
|
||||
}
|
||||
|
||||
$defaultArchitecture = $architectures[0]
|
||||
$packages = @{}
|
||||
foreach ($architecture in $architectures)
|
||||
{
|
||||
$projectPath = [IO.Path]::Combine($InputPath, $architecture, $ProjectName)
|
||||
$packages[$architecture] = Get-ChildItem -Path $projectPath -Recurse -Filter *$ProjectName*.msix
|
||||
|
||||
if ($packages[$architecture].Count -lt 1)
|
||||
{
|
||||
throw "No .msix files found for architecture $architecture in $projectPath"
|
||||
}
|
||||
}
|
||||
|
||||
# List msix packages which are common to all architectures
|
||||
$commonPackages = $packages[$defaultArchitecture]
|
||||
foreach ($architecture in $architectures)
|
||||
{
|
||||
$commonPackages = $packages[$architecture] | Where {$commonPackages.Name -Contains $_.Name}
|
||||
}
|
||||
|
||||
# List msix packages which are architecture-specific and verify that there is exactly one per
|
||||
# architecture.
|
||||
$architectureSpecificPackages = @()
|
||||
if ($architectures.Count -gt 1)
|
||||
{
|
||||
foreach ($architecture in $architectures)
|
||||
{
|
||||
$uniquePackages = $packages[$architecture] | Where {$commonPackages.Name -NotContains $_.Name}
|
||||
if ($uniquePackages.Count -ne 1)
|
||||
{
|
||||
throw "Found multiple architecture-specific packages for architecture $($architecture): $($uniquePackages.Name)"
|
||||
}
|
||||
$architectureSpecificPackages += $uniquePackages[0]
|
||||
}
|
||||
}
|
||||
|
||||
# Write the mapping file
|
||||
Set-Content $OutputFile "[Files]"
|
||||
foreach ($package in ($architectureSpecificPackages + $commonPackages))
|
||||
{
|
||||
$mapping = "`"$($package.FullName)`" `"$($package.Name)`""
|
||||
Write-Host $mapping
|
||||
Add-Content $OutputFile $mapping
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue