Merged PR 39154: Update MSBuild dependencies

Fixes: https://github.com/dotnet/source-build/issues/4344

https://github.com/dotnet/runtime/pull/100595 introduced two issues:
- Lower MSBuild version dependency - 17.8.3, instead of 17.8.5. This caused transitive package downgrade errors.
- Source-build dependency for MSBuild, in runtime repo. This caused downgrade of MSBuild repo in VMR, from 17.8.5 to 17.8.3.

Besides removing direct package references, the fix is to add a direct MSBuild source-build dependency in `installer` repo.

I'm also adding the missing MSBuild dependencies to runtime, for proper PVP flow. Without the explicit dependencies, my validation build was hitting an issue with `Microsoft.Build.Framework` package downgrade in
`src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.csproj`:
```
    /vmr/src/runtime/artifacts/source-build/self/src/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.csproj : error NU1605: Warning As Error: Detected package downgrade: Microsoft.Build.Framework from 17.8.5 to 17.8.3. Reference the package directly from the project to select a different version.  [/vmr/src/runtime/artifacts/source-build/self/src/Build.proj]
    /vmr/src/runtime/artifacts/source-build/self/src/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.csproj : error NU1605:  Microsoft.NET.Sdk.WebAssembly.Pack.Tasks -> Microsoft.Build 17.8.5 -> Microsoft.Build.Framework (>= 17.8.5)  [/vmr/src/runtime/artifacts/source-build/self/src/Build.proj]
    /vmr/src/runtime/artifacts/source-build/self/src/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.csproj : error NU1605:  Microsoft.NET.Sdk.WebAssembly.Pack.Tasks -> Microsoft.Build.Framework (>= 17.8.3) [/vmr/src/runtime/artifacts/source-build/self/src/Build.proj]
```

Fully validated with an internal pipeline run: https://dev.azure.com/dnceng/internal/_build/results?buildId=2436369&view=results
This commit is contained in:
Nikola Milosavljevic (CLR) 2024-04-23 22:07:08 +00:00
commit 63a6ed35e1
3 changed files with 85 additions and 1 deletions

View file

@ -159,6 +159,11 @@
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>b5265ef370a651f8c3458110b804e5cbf869eeb5</Sha>
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.msbuild" Version="17.8.5-preview-24055-02">
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>b5265ef370a651f8c3458110b804e5cbf869eeb5</Sha>
<SourceBuild RepoName="msbuild" ManagedOnly="true" />
</Dependency>
<Dependency Name="NuGet.Build.Tasks" Version="6.8.1-rc.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/devdiv/DevDiv/_git/NuGet-NuGet.Client-Trusted</Uri>
<Sha>550277e0616e549446f03fda35d3e23dff75dc01</Sha>

View file

@ -23,7 +23,7 @@ variables:
value: ${{ replace(parameters.vmrBranch, ' ', '') }}
- ${{ else }}:
- name: VmrBranch
value: release/8.0.1xx
value: internal/release/8.0.1xx
resources:
repositories:

View file

@ -0,0 +1,79 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nikola Milosavljevic <nikolam@microsoft.com>
Date: Tue, 23 Apr 2024 01:55:17 +0000
Subject: [PATCH] Update MSBuild dependencies
Backport: https://github.com/dotnet/runtime/issues/101395
---
eng/Version.Details.xml | 12 ++++++++++++
eng/Versions.props | 6 +++---
src/tasks/AotCompilerTask/MonoAOTCompiler.csproj | 1 -
src/tasks/WasmAppBuilder/WasmAppBuilder.csproj | 3 ---
4 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index fe35dc0997e..b90337395f6 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -414,6 +414,18 @@
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>195e7f5a3a8e51c37d83cd9e54cb99dc3fc69c22</Sha>
</Dependency>
+ <Dependency Name="Microsoft.Build.Framework" Version="17.8.3">
+ <Uri>https://github.com/dotnet/msbuild</Uri>
+ <Sha>195e7f5a3a8e51c37d83cd9e54cb99dc3fc69c22</Sha>
+ </Dependency>
+ <Dependency Name="Microsoft.Build.Tasks.Core" Version="17.8.3">
+ <Uri>https://github.com/dotnet/msbuild</Uri>
+ <Sha>195e7f5a3a8e51c37d83cd9e54cb99dc3fc69c22</Sha>
+ </Dependency>
+ <Dependency Name="Microsoft.Build.Utilities.Core" Version="17.8.3">
+ <Uri>https://github.com/dotnet/msbuild</Uri>
+ <Sha>195e7f5a3a8e51c37d83cd9e54cb99dc3fc69c22</Sha>
+ </Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.msbuild" Version="17.8.3-preview-23613-06">
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>195e7f5a3a8e51c37d83cd9e54cb99dc3fc69c22</Sha>
diff --git a/eng/Versions.props b/eng/Versions.props
index f012e409095..bf16c6ee71f 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -173,9 +173,9 @@
<MicrosoftDiagnosticsToolsRuntimeClientVersion>1.0.4-preview6.19326.1</MicrosoftDiagnosticsToolsRuntimeClientVersion>
<DNNEVersion>2.0.5</DNNEVersion>
<MicrosoftBuildVersion>17.8.3</MicrosoftBuildVersion>
- <MicrosoftBuildTasksCoreVersion>$(MicrosoftBuildVersion)</MicrosoftBuildTasksCoreVersion>
- <MicrosoftBuildFrameworkVersion>$(MicrosoftBuildVersion)</MicrosoftBuildFrameworkVersion>
- <MicrosoftBuildUtilitiesCoreVersion>$(MicrosoftBuildVersion)</MicrosoftBuildUtilitiesCoreVersion>
+ <MicrosoftBuildTasksCoreVersion>17.8.3</MicrosoftBuildTasksCoreVersion>
+ <MicrosoftBuildFrameworkVersion>17.8.3</MicrosoftBuildFrameworkVersion>
+ <MicrosoftBuildUtilitiesCoreVersion>17.8.3</MicrosoftBuildUtilitiesCoreVersion>
<NugetProjectModelVersion>6.2.4</NugetProjectModelVersion>
<NugetPackagingVersion>6.2.4</NugetPackagingVersion>
<DotnetSosVersion>7.0.412701</DotnetSosVersion>
diff --git a/src/tasks/AotCompilerTask/MonoAOTCompiler.csproj b/src/tasks/AotCompilerTask/MonoAOTCompiler.csproj
index e76730b5aec..88ae0fb136c 100644
--- a/src/tasks/AotCompilerTask/MonoAOTCompiler.csproj
+++ b/src/tasks/AotCompilerTask/MonoAOTCompiler.csproj
@@ -14,7 +14,6 @@
<ItemGroup>
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildVersion)" />
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildTasksCoreVersion)" />
- <PackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataVersion)" />
</ItemGroup>
<ItemGroup>
<Compile Include="MonoAOTCompiler.cs" />
diff --git a/src/tasks/WasmAppBuilder/WasmAppBuilder.csproj b/src/tasks/WasmAppBuilder/WasmAppBuilder.csproj
index 34a51095986..d8c95954dd8 100644
--- a/src/tasks/WasmAppBuilder/WasmAppBuilder.csproj
+++ b/src/tasks/WasmAppBuilder/WasmAppBuilder.csproj
@@ -24,9 +24,6 @@
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildVersion)" />
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildTasksCoreVersion)" />
- <!-- FIXME: is this the correct version of SRM to use when building for .NET Framework? -->
- <PackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataVersion)" />
- <PackageReference Include="System.Collections.Immutable" Version="$(SystemCollectionsImmutableVersion)" />
</ItemGroup>
<ItemGroup>