Skip to content

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Oct 15, 2025

Updated Microsoft.Build from 15.9.20 to 17.11.48.

Release notes

Sourced from Microsoft.Build's releases.

17.11.4

What's Changed

17.11.0-preview-24318-05

Release

17.11.0-preview-24279-02

Release

17.11.0-preview-24225-01

Release

17.11.0-preview-24178-16

Release

17.10.4

What's Changed

17.10.0-preview-24127-03

[Release[(https://github.com/dotnet/core/releases/tag/v9.0.0-preview.2)

17.9.5

What's Changed

17.8.3

What's Changed

17.8.0-preview-23472-04

Release

17.8.0-preview-23367-03

Release

17.7.0

What's Changed

17.7.0-preview-23323-05

Release

17.7.0-preview-23281-03

Release

17.6.0-preview-23174-01

Release

17.6.0-preview-23152-03

Release

17.6.0-preview-23108-10

Release

17.5.1

What's Changed

Full Changelog: dotnet/msbuild@v17.5.0...v17.5.1

17.4.0-preview-22428-01

Release

17.4.0-preview-22368-02

Release

17.3.0-preview-22329-01

Release

17.3.0-preview-22306-01

Release

17.3.0-preview-22226-04

Release

17.2.1

This version of MSBuild shipped in Visual Studio 2022 version 17.2.0. It has a single bugfix over 17.2.0.

What's Changed

Full Changelog: dotnet/msbuild@v17.2.0...v17.2.1

17.2.0

This version of MSBuild shipped in .NET SDK 6.0.300.

Auto-generated release notes:

What's Changed

17.2.0-preview-22175-02

Release

17.2.0-preview-22152-03

Release

17.2.0-preview-22104-01

Release

17.1.1

This version of MSBuild shipped with .NET SDK 6.0.202 and includes a fix for dotnet/sdk#23498.

What's Changed

Full Changelog: dotnet/msbuild@v17.1.0...v17.1.1

17.1.0

This version of MSBuild shipped with Visual Studio 2022 17.1.0 and .NET SDK 6.0.200.

What's Changed (auto-generated)

17.0.0

This version of MSBuild shipped with Visual Studio 2022 version 17.0.0 and .NET SDK 6.0.100.

What's new

  • MSBuild now reports its version as 17 and uses Visual Studio 2022 versions of tasks where appropriate.
  • MSBuild now targets .NET Framework 4.7.2 and .NET 6.0.
  • 64-bit MSBuild is now used for builds from Visual Studio.
  • Binary logs are smaller and have more information.
  • MSBuildCopyContentTransitively is now on by default, ensuring consistency in output folders on incremental builds.
  • The method GetType() can no longer be called in property functions.

Detailed release notes

Added

  • Intrinsic tasks now log their location (#​6397). Thanks, @​KirillOsenkov!
  • TargetSkippedEventArgs now has TargetSkipReason and OriginalBuildEventContext (#​6402, #​6577). Thanks, @​KirillOsenkov!
  • TaskStarted events now log line and column (#​6399). Thanks, @​KirillOsenkov!
  • ETW trace events for PerformDependencyAnalysis (#​6658), WriteLinesToFile (#​6670), CopyUpToDate (#​6661).
  • If the environment variable MSBuildDebugEngine is set, MSBuild will create binary logs for all operations to MSBUILDDEBUGPATH regardless of how it is called (#​6639, #​6792).
  • ProjectReferences can now negotiate Platform (#​6655, #​6724, #​6889).
  • Tasks can now call TaskLoggingHelper.LogsMessagesOfImportance to determine if any attached logger would preserve a log message before constructing it (to save time in the not-being-logged case) (#​6381, #​6737).
  • Support referencing assemblies with generic attributes (#​6735). Thanks, @​davidwrighton!
  • XSD-based MSBuild IntelliSense now supports ImplicitUsings and Using items (#​6755), InternalsVisibleTo (#​6778), Windows Forms properties (#​6860), DebugType (#​6849), and SatelliteResourceLanguages (#​6861). Thanks, @​pranavkm, @​DamianEdwards, @​RussKie, and @​drewnoakes!
  • Tasks can now call TaskLoggingHelper.IsTaskInputLoggingEnabled and avoid redundant logging of inputs (#​6803).
  • Support extracting resource namespace from C# source that uses file-scoped namespaces (#​6881).

Changed

  • The on-disk format of serialized caches has changed (#​6350, #​6324, #​6490, #​6674).
  • MSBuild is now signed with a new certificate (#​6448).
  • BuildParameters.DisableInprocNode now applies to more processes (#​6400).
  • VCTargetsPath now defaults to v170 (#​6550).
  • MSBuild no longer logs Building with tools version "Current" (#​6627). Thanks, @​KirillOsenkov!
  • Text loggers now log properties and items at the end of evaluation (#​6535).
  • MSBuildCopyContentTransitively is now on by default, ensuring consistency in output folders on incremental builds (#​6622, #​6703).
  • MSBuild on .NET 6 has improved task-assembly-reference fallback behavior (#​6558).
  • MSBuild features gated on the 16.8 changewave are now nonconfigurable (#​6634).
  • The deprecated import of $(CoreCrossTargetingTargetsPath) was removed (#​6668). Thanks, @​Nirmal4G!
  • Improved error message for MSB4213 (#​6640).
  • The method GetType() can no longer be called in property functions (#​6769).
  • MSBuild is now fully NGENed by Visual Studio setup (#​6764).
  • MSBuild (and Visual Studio) now reference System.Text.Json 5.0.2 (#​6784). Thanks, @​JakeRadMSFT!
  • Default to SHA2 digest for ClickOnce manifest when certificate signing algorithm is sha256/384/512 (#​6882).

Fixed

  • Solution builds should work when using the secret environment variable MSBUILDNOINPROCNODE (#​6385).
  • Solution extensions can now use BeforeTargets="ValidateSolutionConfiguration" (#​6454).
  • Performance improvements (#​6529, #​6556, #​6598, #​6632, #​6669, #​6671, #​6666, #​6678, #​6680, #​6705, #​6595, #​6716, #​6786, #​6816, #​6832, #​6845).
    ... (truncated)

17.0.0-preview-21458-01

Release

17.0.0-preview-21378-03

Release

17.0.0-preview-21329-01

Release

17.0.0-preview-21302-02

Release

16.11.0

MSBuild 16.11.0

This version of MSBuild shipped with Visual Studio 2019 version 16.11.0 and .NET SDK 5.0.400.

What's new

  • MSBuild now supports long paths in the 64-bit amd64\MSBuild.exe executable.
  • New version properties MSBuildFileVersion (4-part, matches file version) and MSBuildSemanticVersion (matches package versions) are now available for use (#​6534).

Detailed release notes

Added

  • Additional properties documented and available for completion in Visual Studio (#​6500, #​6530).
  • The SignFile task is now available in MSBuild on .NET 5.0 (#​6509). Thanks, @​Zastai!
  • New version properties MSBuildFileVersion (4-part, matches file version) and MSBuildSemanticVersion (matches package versions) are now available for use (#​6534).

Changed

  • When using the experimental cache API, schedule proxy builds to the in-proc node for performance (#​6386).
  • Experimental cache queries are now executed in parallel (#​6468).
  • The ETW events generated in ResolveAssemblyReference now include an approximation of the "size" of the RAR request (#​6410).

Fixed

  • Fixed memory leak in ProjectRootElement.Reload (#​6457).
  • Added locking to avoid race conditions in BuildManager (#​6412).
  • Allow ResolveAssemblyReferences precomputed cache files to be in read-only locations (#​6393).
  • 64-bit al.exe is used when targeting 64-bit architectures (for real this time) (#​6484).
  • Builds with ProduceOnlyReferenceAssembly no longer expect debug symbols to be produced (#​6511). Thanks, @​Zastai!
  • 64-bit MSBuild.exe supports long paths (and other .NET default behaviors) (#​6562).
  • Non-graph builds no longer crash in the experimental project cache (#​6568).
  • The experimental project cache is initialized only once (#​6569).
  • The experimental project cache no longer tries to schedule proxy builds to the in-proc node (#​6635).

Infrastructure

  • Use a packaged C# compiler to avoid changes in reference assembly generation caused by compiler changes (#​6431).
  • Use more resilient test-result upload patterns (#​6489).
  • Conditional compilation for .NET Core within our repo now includes new .NET 5.0+ runtimes (#​6538).
  • Switched to OneLocBuild for localization PRs (#​6561).
  • Moved to latest Ubuntu image for PR test legs (#​6573).

16.11.0-preview-21254-21

Release

16.10.2

MSBuild 16.10.2

This version of MSBuild shipped with Visual Studio 2019 version 16.10.2 and will ship with .NET SDK 5.0.302.

Fixed

  • Fixed a regression in the MakeRelative property function that dropped trailing slashes (#​6513). Thanks, @​dsparkplug and @​pmisik!
  • Fixed a regression in glob matching where files without extension were erroneously not matched (#​6531).
  • Fixed a change in logging that caused crashes in Azure DevOps loggers (#​6520).

16.10.1

MSBuild 16.10.1

This version of MSBuild shipped with Visual Studio 2019 version 16.10.1 and .NET SDK 5.0.301.

Fixed

  • Restore support for building individual project(s) within solutions by specifying -t:Project (#​6465).

16.10.0

MSBuild 16.10.0

This version of MSBuild shipped with Visual Studio 2019 version 16.10.0 and .NET SDK 5.0.300.

What's new

  • MSBuild now targets .NET 5.0 and .NET Framework 4.7.2.
  • MSBuild is faster and uses less memory.
  • Binary logs are smaller and have less performance overhead.
  • Tasks can now opt into resource management to improve parallelism in large builds.
  • It's now possible to optionally embed arbitrary files in a binary log.

Known Issues ⚠

  • When specifying a single project in a solution as a target, MSBuild instead tries to build that target name within all projects in the solution, leading to MSB4057 (#​6465).

Detailed release notes

Added

  • Projects can now specify AdditionalTargetFrameworkInfoProperty items to indicate that referencing projects should get those properties exposed as AdditionalPropertiesFromProject metadata on resolved reference items. (#​5994).
  • The Unzip task now accepts Include and Exclude arguments to filter what is extracted from the zip file (#​6018). Thanks, @​IvanLieckens!
  • The -graph:noBuild command line argument can be used to validate that a graph is buildable without actually building it (#​6016).
  • TaskParameterEventArgs allow logging task parameters and values in a compact, structured way (#​6155). Thanks, @​KirillOsenkov!
  • ClickOnce publish now supports Ready To Run (#​6244).
  • .NET 5.0 applications may now specify a toolset configuration file (#​6220).
  • ResolveAssemblyReferences can now consume information about assemblies distributed as part of the SDK (#​6017).
  • Allow constructing a ProjectInstance from a ProjectLink (#​6262).
  • Introduce cross-process resource management for tasks (#​5859).
  • ProjectEvaluationFinished now has fields for properties and items (#​6287). Thanks, @​KirillOsenkov!
  • WriteCodeFragment can now write assembly attributes of specified types, and infers some common types (#​6285). Thanks, @​reduckted!
  • The -detailedSummary option now accepts a boolean argument, preventing dumping details to the console logger when building with -bl -ds:false (#​6338). Thanks, @​KirillOsenkov!
  • Binary logs now include files listed in the item EmbedInBinlog as well as MSBuild projects (#​6339). Thanks, @​KirillOsenkov!
  • The FindInvalidProjectReferences task is now available in .NET Core/5.0+ scenarios (#​6365).

Changed

  • String deduplication is now much more sophisticated, reducing memory usage (#​5663).
  • Refactoring and performance improvements in ResolveAssemblyReferences (#​5929, #​6094).
  • Binary logs now store strings only once, dramatically reducing log size (#​6017, #​6326). Thanks, @​KirillOsenkov!
  • Refactoring and code cleanup (#​6120, #​6159, #​6158, #​6282). Thanks, @​Nirmal4G!
  • Span<T>-based methods are used on .NET Framework MSBuild as well as .NET 5.0 (#​6130).
  • Improved MSB4064 error to include information about the loaded task that didn't have the argument (#​5945). Thanks, @​BartoszKlonowski!
  • Performance improvements in inter-node communication (#​6023). Thanks, @​KirillOsenkov!
  • Performance improvements in matching items based on metadata (#​6035), property expansion (#​6128), glob evaluation (#​6151), enumerating files (#​6227).
  • When evaluated with IgnoreInvalidImports, empty imports are also allowed (#​6222).
  • Log.HasLoggedError now respects MSBuildWarningsAsErrors (#​6174).
  • TargetPath metadata is now respected on items that copy to output directories, and takes precedence over Link (#​6237).
  • The Restore operation now fails when SDKs are unresolvable (#​6312).
  • MSBuild.exe.config now has explicit binding redirects for all assemblies in the MSBuild VSIX (#​6334).
    ... (truncated)

16.10.0-preview-21181-07

Release

16.10.0-preview-21126-01

Release

16.9.2

MSBuild 16.9.2

This version of MSBuild shipped with Visual Studio 2019 version 16.9.7.

Fixed

  • Fixed MSB0001 error when building large solutions (#​6437).

16.9.0.2116703

MSBuild 16.9.0

⚠ This release should have been versioned 16.9.1 but was erroneously released as 16.9.0.

This version of MSBuild shipped with Visual Studio 2019 version 16.9.3.

Fixed

  • Restore support for building solutions with web site projects (#​6238).

16.9.0

MSBuild 16.9.0

This version of MSBuild shipped with Visual Studio 2019 version 16.9.0 and .NET SDK 5.0.200.

What's new

  • MSB3277 warnings now include information about the assembly identities involved, instead of saying to rerun under higher verbosity.
  • It's now possible to opt out of culture-name detection of EmbeddedResources, for instance to have a resource named a.cs.template.
  • Common targets now support $(BaseOutputPath), with the default value bin.
  • Item Updates are no longer case-sensitive, fixing a regression in MSBuild 16.6 (#​5888).
  • ParentBuildEventContext now includes a parent MSBuild task if relevant, enabling proper nesting in GUI viewers.
  • Builds that fail because a warning was elevated to an error now report overall failure in the MSBuild.exe exit code.

Detailed release notes

Added

  • The MSB4006 error has been enhanced to describe the cycle when possible (#​5711). Thanks, @​haiyuzhu!.
  • More information is logged under MSBUILDDEBUGCOMM (#​5759).
  • The command line parser now accepts arguments with double hyphens (--argument) as well as single hyphens (-argument) and forward slashes (/argument) (#​5786). Thanks, @​BartoszKlonowski!
  • MSBuild now participates in the .NET CLI text performance log system on an opt-in basis (#​5861).
  • Common targets now support $(BaseOutputPath), with the default value bin (#​5238). Thanks, @​Nirmal4G!
  • Microsoft.Build.Exceptions.CircularDependencyException is now public (#​5988). Thanks, @​tflynt91!
  • EvaluationId is now preserved in the ProjectStarted event, allowing disambiguating related project start events (#​5997). Thanks, @​KirillOsenkov!
  • The ResolveAssemblyReference task can now optionally emit items describing unresolved assembly conflicts (#​5990).
  • Experimental ProjectCache API to enable higher-order build systems (#​5936).

Changed

  • Warnings suppressed via $(NoWarn) (which formerly applied only to targets that opted in like the C# compiler) are now treated as $(MSBuildWarningsAsMessages) (#​5671).
  • Warnings elevated via $(WarningsAsErrors ) (which formerly applied only to targets that opted in like the C# compiler) are now treated as $(MSBuildWarningsAsErrors) (#​5774).
  • Improved error message when using an old .NET (Core) SDK and targeting .NET 5.0 (#​5826).
  • Trailing spaces in property expressions inside conditionals now emit an error instead of silently expanding to the empty string (#​5672, #​5868). Thanks, @​mfkl!
  • MSB3277 warnings now include information about the assembly identities involved, instead of saying to rerun under higher verbosity (#​5798).
  • MSB5009 errors now indicate the project in the solution that is causing the nesting error (#​5835). Thanks, @​BartoszKlonowski!
  • Avoid spawning a process to determine processor architecture (#​5897). Thanks, @​tmds!
  • It's now possible to opt out of culture-name detection of EmbeddedResources, for instance to have a resource named a.cs.template (#​5824).
  • ProjectInSolution.AbsolutePath returns a normalized full path when possible (#​5949).
  • Evaluation pass-stop events now include information about the "size" (number of properties/items/imports) of the project (#​5978). Thanks, @​arkalyanms!

Fixed

  • AllowFailureWithoutError now does what it said it would do (#​5743).
  • The solution parser now no longer skips projects that are missing an EndProject line (#​5808). Thanks, @​BartoszKlonowski!
  • ProjectReferences to .vcxproj projects from multi-targeted .NET projects no longer overbuild (#​5838).
  • Removed unused InternalsVisibleTo to obsolete test assemblies (#​5914). Thanks, @​SingleAccretion!
  • Respect conditions when removing all items from an existing list at evaluation time (#​5927).
  • Common targets should no longer break if the environment variable OS is set (#​5916).
  • Some internal errors will now be reported as errors instead of hanging the build (#​5917).
  • Item Updates are no longer case-sensitive, fixing a regression in MSBuild 16.6 (#​5888).
    ... (truncated)

16.9.0-preview-21103-02

Release

16.7.0

This version of MSBuild shipped with Visual Studio 2019 16.7.0.

16.6.0

This version of MSBuild shipped with Visual Studio 2019 16.6.0.

16.5.1

This version of MSBuild shipped with Visual Studio 2019 16.5.5.

16.5.0

This version of MSBuild shipped with Visual Studio 2019 16.5.0.

16.4.0

This version of MSBuild shipped with Visual Studio 2019 16.4.0.

16.3.2

This version of MSBuild shipped with Visual Studio 2019 16.3.6.

16.3.1

This version of MSBuild shipped with Visual Studio 2019 16.3.3.

16.3.0

This version of MSBuild shipped with Visual Studio 2019 16.3.0 and .NET Core SDK 3.0.100.

16.0.461

MSBuild 16.0

This version of MSBuild shipped with Visual Studio 2019 version 16.0.

What's new

Highlights of this release are:

  • MSBuildToolsVersion is now Current. Choose the version of tools and build logic you wish to use by selecting from different MSBuild instances, rather than specifying ToolsVersion.
  • MSBuild now targets .NET 4.7.2.
  • MSBuild now has options to treat a build as a directed acyclic graph of projects. This is an experimental feature. Its public interface may change before it is stabilized.

Detailed release notes

Added

  • Static graph features are available in an experimental form.
  • Interactive mode (#​3697).
  • CopyDocumentationFileToOutputDirectory is now respected (#​3664). Thanks @​jflepp!
  • ToolLocationHelper.GetFoldersInVSInstalls, GetFoldersInVSInstallsAsString and FindRootFolderWhereAllFilesExist enable using toolsets from another Visual Studio install for C++ (#​3824). Thanks, @​olgaark!
  • Metadata may be specified as attributes in ItemDefinitionGroups (#​3853). Thanks, @​dasMulli!
  • Attempting to override a property that is immutable because it was set as a global property now emits an info message (#​3958, #​4154).
  • GetFileHash and VerifyFileHash tasks can be used to get (non-cryptographic) hashes of file contents during the build (#​3398, #​3999). Thanks, @​natemcmaster and @​iainnicol!

Changed

  • The Copy task now logs absolute source and destination paths (#​3506).
  • MSBuild.exe now supports long paths on Windows (but see caveats) (#​3507, #​3631, #​3503).
  • MSBuild NuGet packages now contain SemVer2 information (#​3557).
  • Uncaught exceptions thrown in ToolTasks now log the full stack trace (#​3576).
  • The MSBuildAllProjects property now automatically lists the most-recently-modified imported project first (#​3605).
  • MSBuild attempts to log errors that resulted in a diagnostic stack dump (#​3632). Thanks @​danmosemsft!
  • MSBuild now targets .NET 4.7.2 (#​3902).
  • Workflow build task binding redirects updated to 16.0 (#​3737). Thanks @​XinxingLiu!
  • $(MSBuildToolsVersion) is now Current. Select a different ToolsVersion by changing the entry-point MSBuild.exe or MSBuild assembly that is invoked (#​3828).
  • BuildEventArgsReader is now public (#​3814). Thanks @​daveaglick!
  • Help text now consistently uses -argument instead of /argument form. Both continue to be supported at runtime (#​3785). Thanks, @​dasMulli!
  • WriteLinesToFile will now create the target directory if necessary (#​4067). Thanks, @​CodeTherapist!
  • Appx-related properties are now available for autocompletion (#​4093).

Removed

  • MSBuild packages no longer include netcoreapp2.0--only netcoreapp2.1 (#​3528).

Fixed

  • Replaying a binary log file is now cancellable with ctrl-c (#​3518).
  • MSBuild now treats unqualified metadata references case-insensitively like other metadata references (#​3516). Thanks, @​MeikTranel!
  • ToolLocationHelper.GetPathToReferenceAssemblies is now thread-safe (#​3537). Thanks, @​AntonLapounov!
  • MSBuild on .NET Core now finds AssemblyFiles (#​3578).
    ... (truncated)

Commits viewable in compare view.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reo...

Description has been truncated

---
updated-dependencies:
- dependency-name: Microsoft.Build
  dependency-version: 17.11.48
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added .NET Pull requests that update .net code dependencies Pull requests that update a dependency file labels Oct 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .net code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants