Skip to content

Commit 966e9a6

Browse files
committed
Merge branch 'vs17.14' into main
Conflicts: .vsts-dotnet-ci.yml eng/Versions.props src/MSBuild/app.amd64.config
2 parents 737803a + 9d322cd commit 966e9a6

File tree

8 files changed

+62
-6
lines changed

8 files changed

+62
-6
lines changed

.vsts-dotnet-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ variables:
1616
jobs:
1717
- job: CheckVersionBumpOnReleaseBranches
1818
displayName: "Check Version Bump On Release Branches"
19-
condition: startsWith(variables['System.PullRequest.TargetBranch'], 'vs')
2019
steps:
2120
- powershell: |
2221
$versionsFile = "eng/Versions.props"
@@ -47,6 +46,7 @@ jobs:
4746
if (!($isInitialCommit -or $isVersionBumped)) {
4847
throw "Hello! I noticed that you're targeting one of our servicing branches. You need to increase the revision version number (the last part) of 'VersionPrefix' in eng/Versions.props."
4948
}
49+
condition: startsWith(variables['System.PullRequest.TargetBranch'], 'vs')
5050
displayName: "Check if patch version is bumped up"
5151
5252
- job: IfOnlyDocumentionChanged

eng/Versions.props

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,9 @@
3737
<!-- Keep using older versions. Upgrade carefully. -->
3838
<!--
3939
Modifying the version of System.Memory is very high impact and causes downstream breaks in third-party tooling that uses the MSBuild API.
40-
When updating the version of System.Memory file a breaking change here: https://github.com/dotnet/docs/issues/new?assignees=gewarren&labels=breaking-change%2CPri1%2Cdoc-idea&template=breaking-change.yml&title=%5BBreaking+change%5D%3A+
41-
and follow the guidelines written here (internal-link): https://dev.azure.com/devdiv/DevDiv/_wiki/wikis/DevDiv.wiki/1796/How-to-add-a-Known-Issue
40+
As a result, we CONTINUE TO REFERENCE the old versions at build time, so those are the versions that get embedded into MSBuild assemblies.
41+
However, we can update, binding-redirect to, and distribute the newest version (that matches the VS-referenced versions) in order to get the benefits of updating.
42+
See uses of $(UseFrozenMaintenancePackageVersions) for details.
4243
-->
4344
<SystemMemoryVersion>4.5.5</SystemMemoryVersion>
4445
<SystemRuntimeCompilerServicesUnsafeVersion>6.0.0</SystemRuntimeCompilerServicesUnsafeVersion>

src/Directory.Build.targets

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,52 @@
138138

139139
<Import Project="$(BUILD_STAGINGDIRECTORY)\MicroBuild\Plugins\MicroBuild.Plugins.IBCMerge.*\**\build\MicroBuild.Plugins.*.targets" Condition="'$(BUILD_STAGINGDIRECTORY)' != '' and $(TargetFramework.StartsWith('net4')) and '$(MicroBuild_EnablePGO)' != 'false'" />
140140

141+
<PropertyGroup>
142+
<UseFrozenMaintenancePackageVersions Condition="'$(UseFrozenMaintenancePackageVersions)' == '' AND '$(IsUnitTestProject)' != 'true' AND $([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net472')) AND '$(OutputType)' != 'exe'">true</UseFrozenMaintenancePackageVersions>
143+
144+
<FrozenMicrosoftIORedistVersion>6.0.1</FrozenMicrosoftIORedistVersion>
145+
<FrozenSystemMemoryVersion>4.5.5</FrozenSystemMemoryVersion>
146+
<FrozenSystemRuntimeCompilerServicesUnsafeVersion>6.0.0</FrozenSystemRuntimeCompilerServicesUnsafeVersion>
147+
<FrozenSystemThreadingTasksExtensionsVersion>4.5.4</FrozenSystemThreadingTasksExtensionsVersion>
148+
<FrozenSystemBuffersVersion>4.5.1</FrozenSystemBuffersVersion>
149+
<FrozenSystemNumericsVectorsVersion>4.5.0</FrozenSystemNumericsVectorsVersion>
150+
</PropertyGroup>
151+
152+
<ItemGroup Condition="'$(UseFrozenMaintenancePackageVersions)' == 'true'">
153+
<PackageDownload Include="Microsoft.IO.Redist" Version="[$(FrozenMicrosoftIORedistVersion)]" />
154+
<PackageDownload Include="System.Memory" Version="[$(FrozenSystemMemoryVersion)]" />
155+
<PackageDownload Include="System.Runtime.CompilerServices.Unsafe" Version="[$(FrozenSystemRuntimeCompilerServicesUnsafeVersion)]" />
156+
<PackageDownload Include="System.Threading.Tasks.Extensions" Version="[$(FrozenSystemThreadingTasksExtensionsVersion)]" />
157+
<PackageDownload Include="System.Buffers" Version="[$(FrozenSystemBuffersVersion)]" />
158+
<PackageDownload Include="System.Numerics.Vectors" Version="[$(FrozenSystemNumericsVectorsVersion)]" />
159+
</ItemGroup>
160+
161+
<!-- Work around maintenance-packages updates breaking stuff -->
162+
<Target Name="ReplaceCompileReferencesWithOlderMaintenancePackagesVersions"
163+
BeforeTargets="ResolveAssemblyReferences"
164+
Condition="$(UseFrozenMaintenancePackageVersions) == 'true'">
165+
166+
<ItemGroup>
167+
<Reference Remove="@(Reference)" Condition="'%(Reference.NuGetPackageId)' == 'Microsoft.IO.Redist' and $([MSBuild]::VersionGreaterThan(%(Reference.NuGetPackageVersion), '$(FrozenMicrosoftIORedistVersion)'))" />
168+
<Reference Include="$(NuGetPackageRoot)microsoft.io.redist\$(FrozenMicrosoftIORedistVersion)\lib\net472\Microsoft.IO.Redist.dll" />
169+
170+
<Reference Remove="@(Reference)" Condition="'%(Reference.NuGetPackageId)' == 'System.Buffers' and $([MSBuild]::VersionGreaterThan(%(Reference.NuGetPackageVersion), '$(FrozenSystemBuffersVersion)'))" />
171+
<Reference Include="$(NuGetPackageRoot)system.buffers\$(FrozenSystemBuffersVersion)\lib\net461\System.Buffers.dll" />
172+
173+
<Reference Remove="@(Reference)" Condition="'%(Reference.NuGetPackageId)' == 'System.Memory' and $([MSBuild]::VersionGreaterThan(%(Reference.NuGetPackageVersion), '$(FrozenSystemMemoryVersion)'))" />
174+
<Reference Include="$(NuGetPackageRoot)system.memory\$(FrozenSystemMemoryVersion)\lib\net461\System.Memory.dll" />
175+
176+
<Reference Remove="@(Reference)" Condition="'%(Reference.NuGetPackageId)' == 'System.Numerics.Vectors' and $([MSBuild]::VersionGreaterThan(%(Reference.NuGetPackageVersion), '$(FrozenSystemNumericsVectorsVersion)'))" />
177+
<Reference Include="$(NuGetPackageRoot)system.numerics.vectors\$(FrozenSystemNumericsVectorsVersion)\lib\net46\System.Numerics.Vectors.dll" />
178+
179+
<Reference Remove="@(Reference)" Condition="'%(Reference.NuGetPackageId)' == 'System.Runtime.CompilerServices.Unsafe' and $([MSBuild]::VersionGreaterThan(%(Reference.NuGetPackageVersion), '$(FrozenSystemRuntimeCompilerServicesUnsafeVersion)'))" />
180+
<Reference Include="$(NuGetPackageRoot)system.runtime.compilerservices.unsafe\$(FrozenSystemRuntimeCompilerServicesUnsafeVersion)\lib\net461\System.Runtime.CompilerServices.Unsafe.dll" />
181+
182+
<Reference Remove="@(Reference)" Condition="'%(Reference.NuGetPackageId)' == 'System.Threading.Tasks.Extensions' and $([MSBuild]::VersionGreaterThan(%(Reference.NuGetPackageVersion), '$(FrozenSystemThreadingTasksExtensionsVersion)'))" />
183+
<Reference Include="$(NuGetPackageRoot)system.threading.tasks.extensions\$(FrozenSystemThreadingTasksExtensionsVersion)\lib\net461\System.Threading.Tasks.Extensions.dll" />
184+
</ItemGroup>
185+
</Target>
186+
141187
<!-- Import parent targets -->
142188
<Import Project="..\Directory.Build.targets"/>
143189

src/MSBuild.Bootstrap/MSBuild.Bootstrap.csproj

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
1010

1111
<DeterministicSourcePaths>false</DeterministicSourcePaths>
12+
13+
<!-- The output of this project is sort of an "executable" so it can get the latest versions of everything. -->
14+
<UseFrozenMaintenancePackageVersions>false</UseFrozenMaintenancePackageVersions>
1215
</PropertyGroup>
1316

1417
<ItemGroup>
@@ -53,4 +56,4 @@
5356

5457
<Import Project="$(RepoRoot)eng\BootStrapMsBuild.targets" />
5558

56-
</Project>
59+
</Project>

src/MSBuild/app.amd64.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@
190190
</dependentAssembly>
191191
<dependentAssembly>
192192
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
193-
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
194-
<codeBase version="4.0.1.2" href="..\System.Memory.dll"/>
193+
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
194+
<codeBase version="4.0.2.0" href="..\System.Memory.dll"/>
195195
</dependentAssembly>
196196
<dependentAssembly>
197197
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />

src/Package/DevDivPackage/DevDivPackage.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
33
<PropertyGroup>
44
<TargetFramework>$(FullFrameworkTFM)</TargetFramework>
5+
<UseFrozenMaintenancePackageVersions>false</UseFrozenMaintenancePackageVersions>
56
<NuspecFile>VS.ExternalAPIs.MSBuild.nuspec</NuspecFile>
67
<IsShipping>false</IsShipping>
78
<PlatformTarget>x86</PlatformTarget>

src/Samples/Directory.Build.props

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
<IsShipping>false</IsShipping>
1818
<ExcludeFromSourceOnlyBuild>true</ExcludeFromSourceOnlyBuild>
19+
20+
<UseFrozenMaintenancePackageVersions>false</UseFrozenMaintenancePackageVersions>
1921
</PropertyGroup>
2022

2123
</Project>

src/Tasks/AssemblyDependency/ResolveAssemblyReference.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1573,6 +1573,9 @@ private void LogInputs()
15731573
Log.LogMessage(importance, property, "EnableCustomCulture");
15741574
Log.LogMessage(importance, $"{indent}{EnableCustomCulture}");
15751575

1576+
Log.LogMessage(importance, property, "EnableCustomCulture");
1577+
Log.LogMessage(importance, $"{indent}{EnableCustomCulture}");
1578+
15761579
Log.LogMessage(importance, property, "CopyLocalDependenciesWhenParentReferenceInGac");
15771580
Log.LogMessage(importance, $"{indent}{_copyLocalDependenciesWhenParentReferenceInGac}");
15781581

0 commit comments

Comments
 (0)