Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[automated] Merge branch 'vs17.8' => 'vs17.10' #11124

Merged
merged 38 commits into from
Dec 13, 2024
Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
6a01af7
Dont ngen taskhost Fixes our lack of optprof data (#8737)
Forgind May 9, 2023
d611cbf
Bump version
JanKrivanek Jun 20, 2023
c70978d
Merge pull request #8926 from JanKrivanek/vs17.6-optprof-patch
JanKrivanek Jun 21, 2023
c319e69
Bump version
JanKrivanek Jun 21, 2023
74e5766
Merge pull request #8932 from dotnet/JanKrivanek-patch-5
JanKrivanek Jun 21, 2023
69d3555
Update System.Security.Cryptography.Pkcs
JanKrivanek Jun 29, 2023
d193c88
Bump version
JanKrivanek Jun 29, 2023
2679cf5
Merge pull request #8977 from dotnet/JanKrivanek-patch-4
JanKrivanek Jun 29, 2023
d00a8a9
Workaround for incorrect encoding of PUA range in GB18030 Uri string …
sujitnayak Feb 20, 2024
1d1abd5
[release/vs17.7] Onboard 1es templates (#9924)
YuliiaKovalova Mar 28, 2024
05c7b41
bump arcade version
YuliiaKovalova Apr 22, 2024
ab6b461
bump MicrosoftNetCompilersToolsetVersion
YuliiaKovalova Apr 22, 2024
30ff340
bump MicrosoftNetCompilersToolsetVersion
YuliiaKovalova Apr 22, 2024
da7eb6c
update sha for Microsoft.Net.Compilers.Toolset
surayya-MS Apr 22, 2024
5eb99e6
Merge pull request #10053 from surayya-MS/exp/surayya-MS/1es_vs17.6
surayya-MS Apr 22, 2024
a4064f1
Merge branch 'vs17.8' into merge/vs17.6-to-vs17.8
surayya-MS Apr 24, 2024
4c8a0ca
CG alert cleaning on VS17.8 (#10725)
GangWang01 Oct 16, 2024
e657d4d
[vs17.8] update arcade and fix build (#10838)
JanProvaznik Oct 23, 2024
338edd9
[vs17.8] Sync internal and public branches (#10858)
YuliiaKovalova Oct 24, 2024
25135e6
Update dependencies from https://github.com/dotnet/arcade build 20241…
dotnet-maestro[bot] Oct 29, 2024
6802148
[vs17.8] Update dependencies from dotnet/arcade (#10986)
dotnet-maestro[bot] Nov 20, 2024
aeedcc8
Update dependencies from https://github.com/dotnet/arcade build 20241…
dotnet-maestro[bot] Nov 25, 2024
c1b109d
Update VersionPrefix to 17.8.12
surayya-MS Nov 28, 2024
8183f53
[vs17.8] Update dependencies from dotnet/arcade (#11030)
surayya-MS Nov 28, 2024
7bb97fb
[vs17.8] Backport VS insertion pipeline YMLs (#11066)
github-actions[bot] Dec 3, 2024
06cfc00
Update .opt-prof.yml (#11112)
JanKrivanek Dec 9, 2024
1b63486
[vs17.8] Fix setting package versions in VS insertion (#11103)
github-actions[bot] Dec 9, 2024
ff98e81
Update vs/msbuild version (#11115)
JanKrivanek Dec 9, 2024
54d16ed
Update xcopy-msbuild version to 17.8.5 (#11118)
GangWang01 Dec 10, 2024
d747003
Add inter-branch merge flow file (#11123)
GangWang01 Dec 11, 2024
c116a3b
Update .opt-prof.yml (#11121)
JanKrivanek Dec 11, 2024
61178e5
Merge branch 'vs17.10' into merge/vs17.8-to-vs17.10
GangWang01 Dec 12, 2024
e2abee0
Bump up System.Text.Json to 8.0.5 (#11134)
GangWang01 Dec 13, 2024
74afddb
Merge branch 'vs17.8' into merge/vs17.8-to-vs17.10
GangWang01 Dec 13, 2024
3dd8298
Merge branch 'vs17.10' into merge/vs17.8-to-vs17.10
GangWang01 Dec 13, 2024
ffecb32
Remove the change to CompatibilitySuppressions.xml
GangWang01 Dec 13, 2024
afea058
Remove unnecessary workaround for sdk 8.0.1xx bootstrap in the branch…
GangWang01 Dec 13, 2024
d0d79b9
Bump up version prefix to 17.10.14
GangWang01 Dec 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/workflows/inter-branch-merge-flow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Inter-branch merge workflow
on:
push:
branches:
- vs1**

permissions:
contents: write
pull-requests: write

jobs:
Merge:
uses: dotnet/arcade/.github/workflows/inter-branch-merge-base.yml@main
with:
configuration_file_path: '.config/git-merge-flow-config.jsonc'
2 changes: 1 addition & 1 deletion .opt-prof.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ stages:
cloudBuildResourceName: ComponentBuildUnderTest
testLabPoolName: VS-Platform # The test lab pool to run your tests in
testMachineCleanUpStrategy: ${{parameters.testMachineCleanUpStrategy}}
testMachineImageName: Windows-10-Enterprise-20H2
testMachineImageName: Windows-11-Enterprise-23H2
visualStudioSigning: Test
variables:
- name: branchName # The branch in the VS repo the bootstrapper was based on
Expand Down
22 changes: 22 additions & 0 deletions azure-pipelines/WIFtoPATauth.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
parameters:
- name: deadPATServiceConnectionId # The GUID of the PAT-based service connection whose access token must be replaced.
type: string
- name: wifServiceConnectionName # The name of the WIF service connection to use to get the access token.
type: string
- name: resource # The scope for which the access token is requested.
type: string
default: 499b84ac-1321-427f-aa17-267ca6975798 # Azure Artifact feeds (any of them)

steps:
- task: AzureCLI@2
displayName: 🔏 Authenticate with WIF service connection
inputs:
azureSubscription: ${{ parameters.wifServiceConnectionName }}
scriptType: pscore
scriptLocation: inlineScript
inlineScript: |
$accessToken = az account get-access-token --query accessToken --resource '${{ parameters.resource }}' -o tsv
# Set the access token as a secret, so it doesn't get leaked in the logs
Write-Host "##vso[task.setsecret]$accessToken"
# Override the apitoken of the nuget service connection, for the duration of this stage
Write-Host "##vso[task.setendpoint id=${{ parameters.deadPATServiceConnectionId }};field=authParameter;key=apitoken]$accessToken"
267 changes: 267 additions & 0 deletions azure-pipelines/vs-insertion.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,267 @@
# Create a VS insertion (DotNet-MSBuild-Trusted -> VS) from a CI run on main or any servicing branch.
# To achieve insertion automation, this pipeline definition yml has to be on servicing branches and main.


# Runs in 3 modes:
# 1. daily main insertion from latest main CI.
# - can be disabled in the UI by adding a custom schedule for any branch.
# 2. trigger insert as a followup to a servicing CI run.
# - can be disabled in the UI by adding a custom CI trigger.
# 3. manual insertion - select manually the TargetBranch and inserted CI run.
trigger: none
pr: none
name: $(Date:yyyyMMdd).$(Rev:r)

schedules:
- cron: '0 3 * * 1-5' # Runs every weekday at 3AM UTC
displayName: Daily VS insertion main
branches:
include:
- main
always: false # Don't run if there are no code changes

resources:
pipelines:
- pipeline: 'MSBuild'
project: 'DevDiv'
source: 'MSBuild'
branch: main # for daily main scheduled insertion
trigger:
branches:
include: # trigger as a followup to servicing CI
- vs*
repositories:
- repository: 1ESPipelineTemplates
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release

parameters:
- name: TargetBranch
default: auto
type: string
displayName: 'Insertion Target Branch (select for manual insertion)'
values:
- auto
- main
- rel/d17.13
- rel/d17.12
- rel/d17.11
- rel/d17.10
- rel/d17.8
- rel/d17.6
- rel/d17.3
- rel/d17.0
- name: DropRetentionDays
default: 183
type: number
displayName: 'Drop Retention Days (do not set to < 90)'

variables:
# `auto` should work every time and selecting a branch in parameters is likely to fail due to incompatible versions in MSBuild and VS
- name: AutoInsertTargetBranch
${{ if eq(variables['Build.SourceBranchName'], 'vs17.13') }}:
value: 'rel/d17.13'
${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.12') }}:
value: 'rel/d17.12'
${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.11') }}:
value: 'rel/d17.11'
${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.10') }}:
value: 'rel/d17.10'
${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.8') }}:
value: 'rel/d17.8'
${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.6') }}:
value: 'rel/d17.6'
${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.3') }}:
value: 'rel/d17.3'
${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.0') }}:
value: 'rel/d17.0'
${{ elseif eq(variables['Build.SourceBranchName'], 'main') }}:
value: 'main'
${{ else }}:
value: ''
- name: InsertTargetBranch
${{ if not(eq(parameters.TargetBranch, 'auto')) }}:
value: ${{ parameters.TargetBranch }}
${{ else }}:
value: $(AutoInsertTargetBranch)
- name: TeamName
value: msbuild
- name: TeamEmail
value: msbtm@microsoft.com
- name: MSBuild_CI_BuildNumber
value: $(resources.pipeline.MSBuild.runName)
- name: MSBuild_CI_SourceVersion
value: $(resources.pipeline.MSBuild.sourceCommit)
- name: ArtifactPackagesPath
value: $(Build.ArtifactStagingDirectory)/PackageArtifacts

- name: MSBuildPackagePattern
value: '$(ArtifactPackagesPath)/Microsoft.Build.*.nupkg'
- name: StringToolsPackagePattern
value: '$(ArtifactPackagesPath)/Microsoft.NET.StringTools*.nupkg'
- name: ExternalAPIsPackagePattern
value: '$(ArtifactPackagesPath)/VS.ExternalAPIs.*.nupkg'

extends:
template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates
parameters:
pool:
name: VSEngSS-MicroBuild2022-1ES
customBuildTags:
- ES365AIMigrationTooling-Release
stages:
- stage: RetainBuild
displayName: Retain build
jobs:
- job: Job_1
displayName: Run on agent
condition: succeeded()
timeoutInMinutes: 0
steps:
# Check that InsertTargetBranch is valid before running anything else.
- task: PowerShell@2
name: CheckInsertTargetBranch
inputs:
targetType: inline
script: |
if ("$(InsertTargetBranch)" -eq "") {
Write-Error "InsertTargetBranch is not set, this means your're not inserting from main or a valid servicing branch."
exit 1
}
# the insertion source branch corresponds to the branch on which the MSBuild pipeline ran
- task: PowerShell@2
name: SetSourceBranchName
inputs:
targetType: inline
script: |
# Extract the last section after the last '/'
$fullBranch = "$(resources.pipeline.MSBuild.sourceBranch)"
$branchSegments = $fullBranch -split '/'
$branch = $branchSegments[-1]
Write-Host "Setting source branch to '$branch'"
Write-Host "##vso[task.setvariable variable=SourceBranchName;isoutput=true]$branch"
- task: MicroBuildRetainVstsDrops@1
name: MicroBuildRetainVstsDrops_2
displayName: Retain VSTS Drops
inputs:
DropNames: Products/DevDiv/DotNet-msbuild-Trusted/$(SetSourceBranchName.SourceBranchName)/$(MSBuild_CI_BuildNumber)
AccessToken: $(System.AccessToken)
DropServiceUri: https://devdiv.artifacts.visualstudio.com/DefaultCollection
DropRetentionDays: ${{ parameters.DropRetentionDays }}
- stage: VSInsertion
displayName: VS insertion
dependsOn: RetainBuild
variables:
SourceBranchName: $[ stageDependencies.RetainBuild.Job_1.outputs['SetSourceBranchName.SourceBranchName'] ]
VSDropPath: https://vsdrop.corp.microsoft.com/file/v1/Products/DevDiv/DotNet-msbuild-Trusted/$(SourceBranchName)/$(MSBuild_CI_BuildNumber)
VSManVersionSuffix: $(MSBuild_ExtApisPackageVersion)+$(MSBuild_CI_SourceVersion)
StandardVSManPath: Microsoft.Build.vsman{$(VSManVersionSuffix)}=$(VSDropPath);Microsoft.Build.vsman
Arm64VSManPath: Microsoft.Build.Arm64.vsman{$(VSManVersionSuffix)}=$(VSDropPath);Microsoft.Build.Arm64.vsman
UnGACVSManPath: Microsoft.Build.UnGAC.vsman=$(VSDropPath);Microsoft.Build.UnGAC.vsman
InsertJsonValues: $(StandardVSManPath),$(Arm64VSManPath),$(UnGACVSManPath)
InsertConfigValues: VS.ExternalAPIs.MSBuild=$(MSBuild_ExtApisPackageVersion)
InsertCustomScriptExecutionCommand: $(Pipeline.Workspace)\xsd\Update-MSBuildXsds.ps1
InsertDescription: Insert MSBuild $(MSBuild_CI_BuildNumber) from the branch $(SourceBranchName) at commit $(MSBuild_CI_SourceVersion). Corresponding package version is $(MSBuild_ExtApisPackageVersion)
InsertPayloadName: 'MSBuild $(SourceBranchName) $(MSBuild_ExtApisPackageVersion)'
jobs:
- job: PushPackagesAndInsert
displayName: Push Packages and Insert VS payload
condition: succeeded()
timeoutInMinutes: 0
templateContext:
inputs:
- input: pipelineArtifact
pipeline: 'MSBuild'
artifactName: 'xsd'
targetPath: '$(Pipeline.Workspace)/xsd'
- input: pipelineArtifact
pipeline: 'MSBuild'
artifactName: 'PackageArtifacts'
targetPath: '$(Build.ArtifactStagingDirectory)/PackageArtifacts'
# the CI build creates a sourcebuild intermediate package that is not signed, remove it to avoid warning from Guardian
itemPattern: |
**
!**/Microsoft.SourceBuild.Intermediate*.nupkg
steps:
- task: Powershell@2
name: PwshMungeExternalAPIsPkgVersion
displayName: Munge ExternalAPIs package version and set props
inputs:
targetType: inline
script: |
$folder = "$(Build.ArtifactStagingDirectory)/PackageArtifacts/VS.ExternalAPIs.*.nupkg"
$packageFile = Get-ChildItem -Path $folder -Filter VS.ExternalAPIs.*.nupkg | Select-Object -First 1
$MSBuild_ExtApisPackageVersion = $packageFile.BaseName.TrimStart("VS.ExternalAPIs.MSBuild")
Write-Host "Setting MSBuild_ExtApisPackageVersion to '$MSBuild_ExtApisPackageVersion'"
Write-Host "##vso[task.setvariable variable=MSBuild_ExtApisPackageVersion]$($MSBuild_ExtApisPackageVersion)"
$folder = "$(Build.ArtifactStagingDirectory)/PackageArtifacts/Microsoft.NET.StringTools*.nupkg"
$packageFile = Get-ChildItem -Path $folder -Filter Microsoft.NET.StringTools*.nupkg | Select-Object -First 1
$MicrosoftNETStringToolsPackageVersion = $packageFile.BaseName.TrimStart("Microsoft.NET.StringTools")
Write-Host "Setting MicrosoftNETStringToolsPackageVersion to '$MicrosoftNETStringToolsPackageVersion'"
Write-Host "##vso[task.setvariable variable=MicrosoftNETStringToolsPackageVersion]$($MicrosoftNETStringToolsPackageVersion)"

$props = @(
"VS.ExternalAPIs.MSBuild=$MSBuild_ExtApisPackageVersion",
"Microsoft.Build=$MicrosoftNETStringToolsPackageVersion",
"Microsoft.Build.Framework=$MicrosoftNETStringToolsPackageVersion",
"Microsoft.Build.Tasks.Core=$MicrosoftNETStringToolsPackageVersion",
"Microsoft.Build.Utilities.Core=$MicrosoftNETStringToolsPackageVersion",
"Microsoft.NET.StringTools=$MicrosoftNETStringToolsPackageVersion"
)
# servicing branches until 17.12 also include Microsoft.Build.Engine and Microsoft.Build.Conversion.Core
if ("$(InsertTargetBranch)" -in @("rel/d17.0", "rel/d17.3", "rel/d17.6", "rel/d17.8", "rel/d17.10", "rel/d17.11", "rel/d17.12"))

{
$props += @(
"Microsoft.Build.Conversion.Core=$MicrosoftNETStringToolsPackageVersion",
"Microsoft.Build.Engine=$MicrosoftNETStringToolsPackageVersion"
)
}
$propsValue = $props -join ";"
Write-Host "Setting InsertPackagePropsValues to '$propsValue'"
Write-Host "##vso[task.setvariable variable=InsertPackagePropsValues]$($propsValue)"
- task: 1ES.PublishNuGet@1
displayName: 'Push MSBuild CoreXT packages'
inputs:
packageParentPath: '$(Build.ArtifactStagingDirectory)'
packagesToPush: $(MSBuildPackagePattern);$(StringToolsPackagePattern);$(ExternalAPIsPackagePattern)
nuGetFeedType: internal
publishVstsFeed: VS
allowPackageConflicts: true
- template: /azure-pipelines/WIFtoPATauth.yml@self
parameters:
wifServiceConnectionName: azure-public/vside package push
deadPATServiceConnectionId: 42175e93-c771-4a4f-a132-3cca78f44b3b
- task: 1ES.PublishNuGet@1
displayName: 'Push MSBuild packages to VSSDK'
inputs:
packageParentPath: '$(Build.ArtifactStagingDirectory)'
packagesToPush: $(MSBuildPackagePattern);$(StringToolsPackagePattern)
nuGetFeedType: external
publishFeedCredentials: azure-public/vssdk
allowPackageConflicts: true
- task: PowerShell@2
name: PrintTargetBranch
inputs:
targetType: inline
script: |
Write-Host "InsertTargetBranch: $(InsertTargetBranch)"
- task: MicroBuildInsertVsPayload@4
name: MicroBuildInsertVsPayload_4
displayName: Insert VS Payload
inputs:
LinkWorkItemsToPR: true
TeamName: $(TeamName)
TeamEmail: $(TeamEmail)
TargetBranch: $(InsertTargetBranch)
InsertionPayloadName: $(InsertPayloadName)
PackagePropsValues: $(InsertPackagePropsValues)
InsertionDescription: $(InsertDescription)
ComponentJsonValues: $(InsertJsonValues)
DefaultConfigValues: $(InsertConfigValues)
InsertionReviewers: MSBuild,VS ProTools
CustomScriptExecutionCommand: $(InsertCustomScriptExecutionCommand)
AutoCompletePR: true
AutoCompleteMergeStrategy: Squash
InsertionBuildPolicy: Request Perf DDRITs
1 change: 1 addition & 0 deletions eng/BootStrapMSBuild.targets
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
<_NuGetRuntimeDependencies Include="%(None.Identity)" Condition="'@(None->Contains('NuGet.'))' == 'true'" />

<_NuGetRuntimeDependencies Include="$(DOTNET_INSTALL_DIR)\sdk\$(DotNetCliVersion)\RuntimeIdentifierGraph.json" />
<_NuGetRuntimeDependencies Include="$(DOTNET_INSTALL_DIR)\sdk\$(DotNetCliVersion)\PortableRuntimeIdentifierGraph.json" />
</ItemGroup>
</Target>

Expand Down
65 changes: 64 additions & 1 deletion src/Framework/CompatibilitySuppressions.xml
GangWang01 marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -1,7 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- https://learn.microsoft.com/en-us/dotnet/fundamentals/package-validation/diagnostic-ids -->
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- PKV004 for netstandard2.0-supporting TFs that we do not have runtime assemblies for.
<Suppression>
<DiagnosticId>CP0008</DiagnosticId>
<Target>T:Microsoft.Build.Framework.AssemblyLoadingContext</Target>
<Left>ref/net7.0/Microsoft.Build.Framework.dll</Left>
<Right>ref/netstandard2.0/Microsoft.Build.Framework.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0008</DiagnosticId>
<Target>T:Microsoft.Build.Framework.LoggerVerbosity</Target>
<Left>ref/net7.0/Microsoft.Build.Framework.dll</Left>
<Right>ref/netstandard2.0/Microsoft.Build.Framework.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0008</DiagnosticId>
<Target>T:Microsoft.Build.Framework.MessageImportance</Target>
<Left>ref/net7.0/Microsoft.Build.Framework.dll</Left>
<Right>ref/netstandard2.0/Microsoft.Build.Framework.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0008</DiagnosticId>
<Target>T:Microsoft.Build.Framework.Profiler.EvaluationLocationKind</Target>
<Left>ref/net7.0/Microsoft.Build.Framework.dll</Left>
<Right>ref/netstandard2.0/Microsoft.Build.Framework.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0008</DiagnosticId>
<Target>T:Microsoft.Build.Framework.Profiler.EvaluationPass</Target>
<Left>ref/net7.0/Microsoft.Build.Framework.dll</Left>
<Right>ref/netstandard2.0/Microsoft.Build.Framework.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0008</DiagnosticId>
<Target>T:Microsoft.Build.Framework.RegisteredTaskObjectLifetime</Target>
<Left>ref/net7.0/Microsoft.Build.Framework.dll</Left>
<Right>ref/netstandard2.0/Microsoft.Build.Framework.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0008</DiagnosticId>
<Target>T:Microsoft.Build.Framework.TargetBuiltReason</Target>
<Left>ref/net7.0/Microsoft.Build.Framework.dll</Left>
<Right>ref/netstandard2.0/Microsoft.Build.Framework.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0008</DiagnosticId>
<Target>T:Microsoft.Build.Framework.TargetSkipReason</Target>
<Left>ref/net7.0/Microsoft.Build.Framework.dll</Left>
<Right>ref/netstandard2.0/Microsoft.Build.Framework.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0008</DiagnosticId>
<Target>T:Microsoft.Build.Framework.TaskParameterMessageKind</Target>
<Left>ref/net7.0/Microsoft.Build.Framework.dll</Left>
<Right>ref/netstandard2.0/Microsoft.Build.Framework.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<!-- PKV004 for netstandard2.0-supporting TFs that we do not have runtime assemblies for.
This is intentional, because you can only use MSBuild in the context of a .NET SDK
(on net7.0, as of MSBuild 17.4) or in the context of Visual Studio (net472), but we
have previously shipped netstandard2.0 packages, and if you want to support both
Expand Down
Loading
Loading