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

removing the dependency on IO.Redist from MSBuild GetPathToBuildToolsFile #11270

Merged
merged 4 commits into from
Jan 14, 2025

Conversation

SimaTian
Copy link
Member

@SimaTian SimaTian commented Jan 13, 2025

Fixes https://developercommunity.visualstudio.com/t/Unable-to-locate-MSBuild-path-with-Lates/10824132

Work item (Internal use): https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2343019

Related to:
microsoft/azure-pipelines-tasks#20734

Summary

The Get-MsBuildPath function used by the Azure Devops MSBuild@1 task uses reflection to load a MSBuild function and then call it.
MSBuild recently introduced (#9223) a dependency on Microsoft.IO.Redist in this codepath (it was used elsewhere in the assembly before). Microsoft.IO.Redist depends on System.Memory, which is in the MSBuild folder but at a higher version, so fails to load without binding redirects.

This will cause the AzDO function to use a fallback location method that will load a very-old MSBuild (from .NET Framework 4) and the whole pipeline will most likely fail.

Customer Impact

Failure of Azure DevOps pipelines that use MSBuild or VSBuild AzDO tasks VS 17.13.

Regression?

Yes, from 17.12 and 17.13-preview.1, caused by #9223.

Testing

Manual testing with local versions of the AzDO script. VS experimental insertion for main branch has succeeded.

Risk

low: switching to directly use System.IO methods instead of wrappers that may use Microsoft.IO.Redist

…aded by powershell. This clash happens due to an ADO script function Get-MsBuildPath
@SimaTian SimaTian requested a review from a team as a code owner January 13, 2025 16:24
@rainersigwald rainersigwald merged commit bfea91c into vs17.13 Jan 14, 2025
10 checks passed
@rainersigwald rainersigwald deleted the AZDO-assembly-collision-vs17.13-backport branch January 14, 2025 14:15
SimaTian added a commit that referenced this pull request Jan 20, 2025
* Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 10000931 (#10267)

* Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 9752299
* Increase VersionPrefix version

---------

Co-authored-by: Jenny Bai <v-jennybai@microsoft.com>

* [17.11] Fix component governance alerts (#10520)

* Resolves CG alerts
---------

Co-authored-by: Rainer Sigwald <raines@microsoft.com>

* Assembly redirect fix (#10624)

* Fixing the assembly redirect

* [vs17.11] Update dependencies from dotnet/arcade (#10654)

* Update dependencies from https://github.com/dotnet/arcade build 20240910.4

Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.24311.3 -> To Version 8.0.0-beta.24460.4

* version bump

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Mariana Garces Dematte <magarces@microsoft.com>

* Upgrade system.text.json to 8.0.4 (#10650)

Will address dotnet/sdk#43339 when deployed in VS.

---------

Co-authored-by: Rainer Sigwald <raines@microsoft.com>

* disable loc (#10693)

Part of: #10665

Disabling localization for 17.11.

* [vs17.11] Update dependencies from dotnet/arcade (#10691)

* [vs17.11] Update dependencies from dotnet/arcade (#10793)

* Update dependencies from https://github.com/dotnet/arcade build 20241008.1

Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.24475.3 -> To Version 8.0.0-beta.24508.1

* bump the version

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: YuliiaKovalova <95473390+YuliiaKovalova@users.noreply.github.com>

* CG alert cleaning on VS17.11 (#10723)

* Bump Microsoft.IO.Redist to 6.0.1
* Bump version prefix to 17.11.11

* [vs17.11] Update dependencies from dotnet/arcade (#10832)

* [vs17.11] Update dependencies from dotnet/arcade (#10895)

* [vs17.11] Update dependencies from dotnet/arcade (#10990)

* Update dependencies from https://github.com/dotnet/arcade build 20241112.12

Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.24525.2 -> To Version 8.0.0-beta.24562.12

* Update VersionPrefix to 17.11.16

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Gang Wang <v-gaw@microsoft.com>

* Update dependencies from https://github.com/dotnet/arcade build 20241120.5

Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.24562.12 -> To Version 8.0.0-beta.24570.5

* Update VersionPrefix to 17.11.17

* [vs17.11] Run tests even if version is not bumped (#11060)

Backport of #11042 to vs17.11

* [vs17.11] Backport VS insertion pipeline YMLs (#11064)

Co-authored-by: Jan Provaznik <janprovaznik@microsoft.com>

* [vs17.12] Update dependencies from dotnet/arcade (#11034)

* Update dependencies from https://github.com/dotnet/arcade build 20241122.2

Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XliffTasks , Microsoft.DotNet.XUnitExtensions
 From Version 9.0.0-beta.24562.13 -> To Version 9.0.0-beta.24572.2

* Update version prefix to 17.12.14

* Update BootstrapSdkVersion

* Decreasing severity of IDE0306

* Decrease IDE0303 severity

* Update cibuild_bootstrapped_msbuild.ps1

* Update cibuild_bootstrapped_msbuild.sh

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Gang Wang <v-gaw@microsoft.com>
Co-authored-by: Jan Krivanek <jankrivanek@microsoft.com>

* Final Branding (#11130)

* Bump version (#11135)

* [vs17.12] Disable 17.12 localization (#11132)

* Update .vsts-dotnet.yml

* Version bump

* [vs17.12] Bump VS and xcopy-msbuild version to 17.12.0 (#11155)

* Bump up VS version to 17.12

* Bump up xcopy-msbuild to 17.12.0

* Bump up version prefix to 17.12.21

---------

Co-authored-by: Gang Wang <v-gaw@microsoft.com>

* [automated] Merge branch 'vs17.10' => 'vs17.11' (#11137)

* Check version bump on release branches' update

* Skip check version bump on release branch update for initial commit to release branch or the change from dotnet bot

* Remove the exception for dependencies update by dotnet-maestro[bot]

* Bump version

* [automated] Merge branch 'vs17.9' => 'vs17.10' (#10081)

* Dont ngen taskhost Fixes our lack of optprof data (#8737)

Don't ngen TaskHosts

* Bump version

* Bump version

* Update System.Security.Cryptography.Pkcs

* Bump version

* Workaround for incorrect encoding of PUA range in GB18030 Uri string (#9751)

* [release/vs17.7] Onboard 1es templates (#9924)

* bump arcade version

* bump MicrosoftNetCompilersToolsetVersion

* bump MicrosoftNetCompilersToolsetVersion

* update sha for Microsoft.Net.Compilers.Toolset

* update darc

* update arcade channel .net 8

* update arcade

* Changed pool image

---------

Co-authored-by: Forgind <12969783+Forgind@users.noreply.github.com>
Co-authored-by: Jan Krivanek <jankrivanek@microsoft.com>
Co-authored-by: sujitnayak <sujitn@microsoft.com>
Co-authored-by: YuliiaKovalova <95473390+YuliiaKovalova@users.noreply.github.com>
Co-authored-by: YuliiaKovalova <ykovalova@microsoft.com>
Co-authored-by: Surayya Huseyn Zada <shuseynzada@microsoft.com>
Co-authored-by: Surayya Huseyn Zada <114938397+surayya-MS@users.noreply.github.com>
Co-authored-by: Mariana Dematte <magarces@microsoft.com>

* Disable localization for vs17.10 (#10269)

Co-authored-by: Rainer Sigwald <raines@microsoft.com>

* Enable private feeds for release branch (#10355)

This PR enables MSBuild to take security fixes from MSBuild dependencies.

* [vs17.10] Update dependencies from dotnet/arcade (#10809)

* Update dependencies from https://github.com/dotnet/arcade build 20241008.1

Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.24225.1 -> To Version 8.0.0-beta.24508.1

* Update Versions.props

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: YuliiaKovalova <95473390+YuliiaKovalova@users.noreply.github.com>

* CG alert cleaning on VS17.10 (#10724)

* Bump Microsoft.IO.Redist to 6.0.1
* Bump System.Formats.Asn1 to 8.0.1

* [vs17.10] Update dependencies from dotnet/arcade (#10833)

* [vs17.10] Update dependencies from dotnet/arcade (#10896)

* [vs17.10] Update dependencies from dotnet/arcade (#10992)

* Update dependencies from https://github.com/dotnet/arcade build 20241112.12

Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.24525.2 -> To Version 8.0.0-beta.24562.12

* Update VersionPrefix to 17.10.13

* Try to resolve CI issue that could not find System.Text.Json, Version=8.0.0.4

* Revert "Try to resolve CI issue that could not find System.Text.Json, Version=8.0.0.4"

This reverts commit 66381f3.

* Update dependencies from https://github.com/dotnet/arcade build 20241120.5

Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.24525.2 -> To Version 8.0.0-beta.24570.5

* Reapply "Try to resolve CI issue that could not find System.Text.Json, Version=8.0.0.4"

This reverts commit 2cffa88.

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Gang Wang <v-gaw@microsoft.com>
Co-authored-by: Surayya Huseyn Zada <shuseynzada@microsoft.com>

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

* Dont ngen taskhost Fixes our lack of optprof data (#8737)

Don't ngen TaskHosts

* Bump version

* Bump version

* Update System.Security.Cryptography.Pkcs

* Bump version

* Workaround for incorrect encoding of PUA range in GB18030 Uri string (#9751)

* [release/vs17.7] Onboard 1es templates (#9924)

* bump arcade version

* bump MicrosoftNetCompilersToolsetVersion

* bump MicrosoftNetCompilersToolsetVersion

* update sha for Microsoft.Net.Compilers.Toolset

* CG alert cleaning on VS17.8 (#10725)

* Bump Microsoft.IO.Redist to 6.0.1

* Bump System.Formats.Asn1 to 8.0.1

* Bump System.Text.Json to 8.0.0.4

* Bump the dependencies of System.Text.Json

* Add System.Formats.Asn1 8.0.1 to the pre-built exception list

* Bump version prefix to 17.8.8

* Updated System.Collection.Immutable package to v8

* Adding System.Collections.Immutable 8.0.0 to the pre-built exception list

* Updated Version.Details.xml

* [vs17.8] update arcade and fix build  (#10838)

* Update dependencies from https://github.com/dotnet/arcade build 20241008.1

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23425.2 -> To Version 8.0.0-beta.24508.1

Dependency coherency updates

Microsoft.DotNet.XliffTasks
 From Version 1.0.0-beta.23423.1 -> To Version 1.0.0-beta.23475.1 (parent: Microsoft.DotNet.Arcade.Sdk

* remove BuildXL from nuget config

* compatibility suppressions

* Update dependencies from https://github.com/dotnet/arcade build 20241…

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions

 From Version 8.0.0-beta.24508.1 -> To Version 8.0.0-beta.24516.1

* include PortableRuntimeIdentifierGraph.json

* Suppress a warning IDE0305

* bump version

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Jenny Bai <v-jennybai@microsoft.com>

* [vs17.8] Sync internal and public branches (#10858)

* Update dependencies from https://github.com/dotnet/arcade build 20241025.2 (#10894)

* [vs17.8] Update dependencies from dotnet/arcade (#10986)

* Update dependencies from https://github.com/dotnet/arcade build 20241112.12

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.24525.2 -> To Version 8.0.0-beta.24562.12

* Update VersionPrefix to 17.8.11

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Surayya Huseyn Zada <114938397+surayya-MS@users.noreply.github.com>

* Update dependencies from https://github.com/dotnet/arcade build 20241120.5

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.24562.12 -> To Version 8.0.0-beta.24570.5

* Update VersionPrefix to 17.8.12

* [vs17.8] Backport VS insertion pipeline YMLs (#11066)

Co-authored-by: Jan Provaznik <janprovaznik@microsoft.com>

* Update .opt-prof.yml (#11112)

* [vs17.8] Fix setting package versions in VS insertion (#11103)

* fix setting package versions

* use VS branch names in servicing package decision

---------

Co-authored-by: Jan Provaznik <janprovaznik@microsoft.com>

* Update vs/msbuild version (#11115)

* Update vs/msbuild version

* Bump version

* Update xcopy-msbuild version to 17.8.5 (#11118)

* Add inter-branch merge flow file (#11123)

* Update .opt-prof.yml (#11121)

* Bump up System.Text.Json to 8.0.5 (#11134)

* Remove the change to CompatibilitySuppressions.xml

* Remove unnecessary workaround for sdk 8.0.1xx bootstrap in the branch vs17.8

* Bump up version prefix to 17.10.14

---------

Co-authored-by: Forgind <12969783+Forgind@users.noreply.github.com>
Co-authored-by: Jan Krivanek <jankrivanek@microsoft.com>
Co-authored-by: sujitnayak <sujitn@microsoft.com>
Co-authored-by: YuliiaKovalova <95473390+YuliiaKovalova@users.noreply.github.com>
Co-authored-by: YuliiaKovalova <ykovalova@microsoft.com>
Co-authored-by: Surayya Huseyn Zada <shuseynzada@microsoft.com>
Co-authored-by: Surayya Huseyn Zada <114938397+surayya-MS@users.noreply.github.com>
Co-authored-by: Gang Wang <v-gaw@microsoft.com>
Co-authored-by: Jan Provazník <janprovaznik@microsoft.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Jenny Bai <v-jennybai@microsoft.com>
Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* [vs17.10] Run tests even if version is not bumped (#11059)

Co-authored-by: Jan Provaznik <janprovaznik@microsoft.com>

* Bump up version prefix to 17.11.20

---------

Co-authored-by: Gang Wang <v-gaw@microsoft.com>
Co-authored-by: Jan Krivanek <jankrivanek@microsoft.com>
Co-authored-by: Surayya Huseyn Zada <114938397+surayya-MS@users.noreply.github.com>
Co-authored-by: dotnet-maestro-bot <dotnet-maestro-bot@microsoft.com>
Co-authored-by: Forgind <12969783+Forgind@users.noreply.github.com>
Co-authored-by: sujitnayak <sujitn@microsoft.com>
Co-authored-by: YuliiaKovalova <95473390+YuliiaKovalova@users.noreply.github.com>
Co-authored-by: YuliiaKovalova <ykovalova@microsoft.com>
Co-authored-by: Surayya Huseyn Zada <shuseynzada@microsoft.com>
Co-authored-by: Mariana Dematte <magarces@microsoft.com>
Co-authored-by: AR-May <67507805+AR-May@users.noreply.github.com>
Co-authored-by: Rainer Sigwald <raines@microsoft.com>
Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jan Provazník <janprovaznik@microsoft.com>
Co-authored-by: Jenny Bai <v-jennybai@microsoft.com>

* [vs17.13] Update dependencies from dotnet/source-build-reference-packages (#11177)

* Update dependencies from https://github.com/dotnet/source-build-reference-packages build 20241219.1

Microsoft.SourceBuild.Intermediate.source-build-reference-packages
 From Version 9.0.0-alpha.1.24604.1 -> To Version 9.0.0-alpha.1.24619.1

* Bump version prefix to 17.13.2

* Reintroduce formatting preventing unintentional interbranch flow

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Gang Wang <v-gaw@microsoft.com>
Co-authored-by: Jan Krivanek <jankrivanek@microsoft.com>

* Eliminate the unnecessary change from vs17.11

* Bump up version prefix to 17.12.22

* Update SolutionPersistence version (#11188)

* Update SolutionPersistence version

* Bump version

* Update SourceBuildPrebuiltBaseline.xml

* Remove conditional reference to System.Text.Json

* Bump up version prefix to 17.13.3

* [vs17.13] Update dependencies from dotnet/arcade (#11221)

* Update dependencies from https://github.com/dotnet/arcade build 20241223.3

Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XliffTasks , Microsoft.DotNet.XUnitExtensions
 From Version 9.0.0-beta.24572.2 -> To Version 9.0.0-beta.24623.3

* Update Versions.props VersionPrefix

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Jenny Bai <v-jennybai@microsoft.com>

* Bump up version prefix to 17.13.4

* Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 10751309 (#11194)

Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 10751309

* Remove IO.Redist from GetPathToBuildToolsFile (#11270)

Avoids microsoft/azure-pipelines-tasks#20734 by directly using `File.Exists` in codepaths that didn't use `Microsoft.IO.Redist` until 642eed5 and turn out to be critical to the current implementation of AzDO MSBuild-using tasks.

Backport of bfa266d.

* Keep the translation in the main branch

---------

Co-authored-by: dotnet bot <dotnet-bot@dotnetfoundation.org>
Co-authored-by: Jenny Bai <v-jennybai@microsoft.com>
Co-authored-by: MichalPavlik <michalpavlik@outlook.com>
Co-authored-by: Rainer Sigwald <raines@microsoft.com>
Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Mariana Garces Dematte <magarces@microsoft.com>
Co-authored-by: YuliiaKovalova <95473390+YuliiaKovalova@users.noreply.github.com>
Co-authored-by: Gang Wang <v-gaw@microsoft.com>
Co-authored-by: Surayya Huseyn Zada <114938397+surayya-MS@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jan Provaznik <janprovaznik@microsoft.com>
Co-authored-by: Jan Krivanek <jankrivanek@microsoft.com>
Co-authored-by: dotnet-maestro-bot <dotnet-maestro-bot@microsoft.com>
Co-authored-by: Forgind <12969783+Forgind@users.noreply.github.com>
Co-authored-by: sujitnayak <sujitn@microsoft.com>
Co-authored-by: YuliiaKovalova <ykovalova@microsoft.com>
Co-authored-by: Surayya Huseyn Zada <shuseynzada@microsoft.com>
Co-authored-by: AR-May <67507805+AR-May@users.noreply.github.com>
Co-authored-by: Tomas Bartonek <tom.bartonek@volny.cz>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants