All Versions
Latest Version
Avg Release Cycle
51 days
Latest Release
1343 days ago

Changelog History
Page 2

  • v16.1.76.45076

    July 25, 2019
  • v16.0.461.62831 Changes

    April 09, 2019

    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).
    • ๐ŸŽ Performance improvements in ResolveAssemblyReferences (#3700, #3660, #3950, #3989, #3977), glob handling (#3652), item access (#3738, #3749), path handling (#3969), and needless allocations (#4079).
    • ๐Ÿ‘ Better error in .NET Core MSBuild when attempting to resolve a reference from a zero-byte file (#3708).
    • ๐Ÿ— Avoid a race condition in parallel multi-app-domain build requests (#3713). Thanks, @jeromelaban!
    • ๐Ÿ‘Œ Improved handling of MSBuild DLL loading in .NET Core (#3900). Thanks @JoeRobich!
    • CoreCompile will run when DefineConstants has changed as a result of a property input (#3978). Thanks, @dasMulli!
    • ๐Ÿ›  Fixed a crash in the evaluation profiler when evaluation is too fast (#3981). Thanks, @xoofx!
    • ๐Ÿ‘ The ResolveCOMReference task now emits an error when it is run from an unsupported environment (#3987). Thanks @AaronRobinsonMSFT!
    • ๐Ÿ‘ Better errors from ToolTasks that have bad parameters (#3970).
    • WriteCodeFragment can now emit positional parameters with the same value (#3974). Thanks, @dasMulli!
    • The Visual Basic file containing the assembly target framework attribute is now marked as generated (#4011).
    • ๐Ÿ GenerateResource no longer attempts to use the Windows registry on non-Windows platforms (#3831). Thanks, @mfilippov!
    • Copy can now overwrite outputs when used with hardlinks (#3997). Thanks, @marcin-krystianc!
    • ๐Ÿ›  Fixed false positive when caching glob enumerations (#4007).
    • 0๏ธโƒฃ Explicitly specify default SHA-1 in manifest signing (#4042). Thanks, @sidiesen!
    • Case is ignored when hashing compiler inputs (#4055).
    • ๐Ÿ— Log the correct SubmissionId for evaluation BuildEventContexts (#4048). Thanks @KirillOsenkov!
    • Disambiguate directories and files in existence checks (#4059).
    • ๐Ÿ‘Œ Improved error message for MSB4189 (#3772). Thanks, @msschl!
    • .csproj.user files are no longer always modified after save (#4148).
    • ๐Ÿ”ง MSBuild's VSIX depends on NuGet, eliminating errors that arose from some Visual Studio installation configurations (#4159).
    • RoslynCodeTaskFactory now works on .NET Core without manually copying additional files (#3944).


    • ๐Ÿ— MSBuild now uses Azure Pipelines for CI and PR builds.
    • MSBuild is now built using arcade.
    • XLF localization files are now normalized (#3568). Thanks, @dasMulli!
    • ๐Ÿ‘ Better support for having the MSBuild repo in a path with spaces (#3830). Thanks @mfilippov!
    • ๐Ÿ‘Œ Improved testing of the Copy task (#3998). Thanks, @marcin-krystianc!

    ๐Ÿ“š Documentation

    ๐Ÿ‘Œ Improvements from @xsoheilalizadeh (#3559), @davidchoy98 (#3565), @isiahto (#3692), @daveaglick (#3729), and @kelewis (#3910). Thank you!

  • v15.9.21.664

    February 08, 2019
  • v15.9.20.62856 Changes

    November 15, 2018

    This version of MSBuild shipped with Visual Studio 2017 15.9.0.

    ๐Ÿš€ Detailed release notes

    โž• Added

    • MSBuild now respects the global property NuGetInteractive=true, allowing private feeds for SDK resolution (#3621)
    • โž• Added AspNetCoreHostingModel and AspNetCoreModuleName to project IntelliSense (#3773, thanks @jkotalik)

    ๐Ÿ”„ Changed

    • The evaluation context is now respected in some property functions (#3502)
    • โšก๏ธ Updated culture list including Windows pseudo-locales (#3654, thanks @martincostello)

    ๐Ÿ›  Fixed

    • ๐ŸŽ Performance of some property-function invocations was improved (#3509)
    • ๐Ÿ›  Fixed race condition in ToolLocationHelper (#3537, thanks @AntonLapounov)
    • ๐ŸŽ Performance improvements in path operations on non-Windows OSes (#3547)
    • ๐Ÿ— Stop propagating TargetFramework to projects that were specified as solution build dependencies (#3628, thanks @dasMulli)
    • โœ‚ Removed assumption that Enumerable.Empty was an IList, enabling running on .NET Core 3.0 runtimes (#3836, thanks @kacollins)
    • ๐Ÿ›  Fix some edge cases of COM references (#3826, thanks @sidiesen)

    โž• Additional thanks

    Thanks to everyone who filed bugs or provided other feedback to us in this timeframe!

  • v15.8.169.51996

    October 16, 2018
  • v15.8.168.64424

    October 16, 2018
  • v15.8.166.59604

    August 14, 2018
  • v15.7.180.61344 Changes

    July 10, 2018

    This version of MSBuild shipped with Visual Studio 2017 version 15.7.5.

  • v15.6.85.37198

    February 11, 2019