Fix tests running on version freeze #10735
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #10702
Context
The issue stemmed from a missing Microsoft.Build package during the test execution. CustomCheck is compiled using a specific version of Microsoft.Build, but during the CheckCandidate run, this package couldn't be restored. This mismatch led to the problem.
Build FAILED. "/Users/runner/work/1/s/artifacts/bin/Microsoft.Build.BuildCheck.UnitTests/Debug/net9.0/TestAssets/CheckCandidate/CheckCandidate.csproj" (Restore target) (1) -> (Restore target) -> /Users/runner/work/1/s/artifacts/bin/Microsoft.Build.BuildCheck.UnitTests/Debug/net9.0/TestAssets/CheckCandidate/CheckCandidate.csproj : warning NU1701: Package 'Microsoft.IO.Redist 6.0.1' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' instead of the project target framework 'net8.0'. This package may not be fully compatible with your project. "/Users/runner/work/1/s/artifacts/bin/Microsoft.Build.BuildCheck.UnitTests/Debug/net9.0/TestAssets/CheckCandidate/CheckCandidate.csproj" (Restore target) (1) -> (Restore target) -> /Users/runner/work/1/s/artifacts/bin/Microsoft.Build.BuildCheck.UnitTests/Debug/net9.0/TestAssets/CheckCandidate/CheckCandidate.csproj : error NU1102: Unable to find package Microsoft.Build with version (>= 17.12.0)
Solution
Pack Microsoft.Build and it's dependencies for the tests to a specific location.