MSBuild 17.2.0
This version of MSBuild shipped in .NET SDK 6.0.300.
Auto-generated release notes:
What's Changed
- 17.2 branding by @Forgind in #7224
- Enable nullable reference types by default by @drewnoakes in #7130
- Remove all checks regarding $(MSBuildAssemblyVersion) being set or not by @dfederm in #7165
- CA1050: Declare types in namespaces by @elachlan in #7227
- Add link to VS2022 ProjectSystemTools extension by @drewnoakes in #7222
- Adds recently added ETW events to event-source.md by @Forgind in #7191
- Validate binding redirects by @Forgind in #7153
- Share read for text resource files by @rainersigwald in #7230
- Fix NU1701 warning Fixes #7212 by @Forgind in #7226
- Convert CodeAnalysis.ruleset to .globalconfig by @elachlan in #7192
- SA1023 Dereference symbol '*' should not be preceded by a space. by @elachlan in #7238
- SA1020 Increment symbol '++' should not be preceded by a space by @elachlan in #7237
- SA1015 Closing generic bracket should not be followed by a space by @elachlan in #7236
- SA1014 by @elachlan in #7235
- SA1006 A C# preprocessor-type keyword is preceded by space. by @elachlan in #7232
- SA1010 Opening square brackets should not be preceded by a space by @elachlan in #7205
- SA1004 Documentation line should begin with a space by @elachlan in #7204
- CA1827 Count() is used where Any() could be used instead to improve p… by @elachlan in #7207
- SA1125 use shorthand for Nullable types by @elachlan in #7201
- SA1520 consistent use of opening and closing braces on if statements by @elachlan in #7198
- CA1835 Prefer the 'Memory'-based overloads for 'ReadAsync' and 'Write… by @elachlan in #7184
- CA2016 Forward the 'CancellationToken' parameter to methods that take… by @elachlan in #7188
- CA1834 Consider using 'StringBuilder.Append(char)' when applicable by @elachlan in #7183
- CA1829 Use Length/Count property instead of Count() when available by @elachlan in #7182
- CA1825 Avoid zero-length array allocations by @elachlan in #7181
- Set CA1507 to Warning and fix instances of errors by @elachlan in #7176
- CA1802 Fixes and Severity to Warning by @elachlan in #7177
- SA1132 Do not combine fields by @elachlan in #7240
- Set CA1070 to Warning by @elachlan in #7231
- SA1643: Finalizer appropriate summary text by @elachlan in #7196
- Fix enum member name in resource string by @drewnoakes in #7105
- Embed EmbedInBinlog items added within targets by @KirillOsenkov in #7220
- Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 5609446 by @dotnet-bot in #7243
- Bring changewaves.md up to date by @Forgind in #7156
- Use Stack instead of Stack by @elachlan in #7253
- Disable CA1805 by @elachlan in #7251
- Enable warning on CA1050 by @elachlan in #7248
- Enable warning on SA1125 by @elachlan in #7247
- Enable warning on SA1520 by @elachlan in #7246
- Emit the BuildStop ETW event at the right time by @ladipro in #7228
- SA1002 The spacing around a semicolon is incorrect by @elachlan in #7199
- CA1836 Prefer IsEmpty over Count by @elachlan in #7185
- Random cleanup by @Forgind in #7173
- [main] Update dependencies from dotnet/roslyn by @dotnet-maestro in #7242
- Remove redundant copy of BuildRequestData.TargetNames by @dfederm in #7252
- CA5350 Do Not Use Weak Cryptographic Algorithms by @elachlan in #7233
- Disable SA1122 (Use string.Empty for empty strings) by @elachlan in #7239
- SA1519 Braces should not be omitted from multi-line child statement by @elachlan in #7276
- Enable SA1510 to Warning by @elachlan in #7275
- SA1508 A closing brace should not be preceded by a blank line by @elachlan in #7273
- SA1506 Element documentation headers should not be followed by blank … by @elachlan in #7271
- SA1408 Conditional expressions should declare precedence by @elachlan in #7269
- SA1024 Colon should be followed by a space by @elachlan in #7266
- SA1135 A using directive is not qualified by @elachlan in #7264
- SA1216 Using static directives should be placed at the correct location by @elachlan in #7265
- Remove CultureName and CultureInfo from LazyFormattedBuildEventArgs by @ladipro in #7254
- SA1136 place each enum value on its own line by @elachlan in #7203
- SA1133 Each attribute should be placed in its own set of square brackets by @elachlan in #7262
- SA1134 Each attribute should be placed on its own line of code by @elachlan in #7263
- SA1005 Single line comment should begin with a space by @elachlan in #7259
- Remove xmlns from props/targets and UTs by @dfederm in #7169
- Remove unnecessary allocations in Hash task. by @AR-May in #7162
- ItemDictionary.Enumerator has an unnecessary finalizer by @elachlan in #7211
- SA1102 Query clause should follow previous clause by @elachlan in #7261
- SA1504 All accessors should be single-line or multi-line by @elachlan in #7270
- Add targetpath metadata to file getting added to ContentWithTargetPath group by @sujitnayak in #7303
- SA1626 single-line comment which begins with three forward slashes in… by @elachlan in #7197
- SA1302 Interface names should begin with I by @elachlan in #7268
- SA1509 Opening braces should not be preceded by blank line by @elachlan in #7274
- Remove MSBuild.Engine.Corext by @rainersigwald in #7278
- Remove long-unused VS build things
by @rainersigwald in #7279 - Start windowless process for the KillTree test by @MichalPavlik in #7283
- Remove extra usings by @Forgind in #7193
- MissingRestorePropertyError by @jrdodds in #7280
- Apply source-build patches by @crummel in #7289
- [automated] Merge branch 'vs17.1' => 'main' by @dotnet-maestro-bot in #7290
- Add NuGet package READMEs by @rainersigwald in #7291
- Doc-commentify StringBuilderCache by @rainersigwald in #7295
- Reuse StringBuilders in EventArgsFormatting by @rainersigwald in #7296
- Improve the Project Cache log strings by @dfederm in #7305
- Explain perf keywords by @rainersigwald in #7307
- CA2241 Provide correct arguments to formatting methods by @elachlan in #7190
- [main] Update dependencies from nuget/nuget.client by @dotnet-maestro in #7223
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7284
- Account for ARM64 in ProcessorArchitecture Tests by @benvillalobos in #7294
- Refactoring: use C# pattern matching for type checking & type casting. by @AR-May in #7302
- CA1823 Avoid unused private fields by @elachlan in #7180
- [main] Update dependencies from dotnet/roslyn by @dotnet-maestro in #7301
- Require VS 2022 to build this repo by @rainersigwald in #7304
- Bump Microsoft.VisualStudio.Setup.Configuration.Interop from 3.0.4492 to 3.0.4496 in /eng/dependabot by @dependabot in #7325
- MSBuild command line arguments aren't logged in dotnet build by @rokonec in #7326
- Revert "xcopy-msbuild": "none" by @ladipro in #7339
- Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 5675194 by @dotnet-bot in #7311
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7341
- Improved error message when created node crashes by @rainersigwald in #7306
- Enable feature flags for things enabled in .NET Core 2.0 by @rainersigwald in #7333
- [automated] Merge branch 'vs17.1' => 'main' by @dotnet-maestro-bot in #7334
- Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 5691933 by @dotnet-bot in #7353
- CA1810 Initialize reference type static fields inline by @elachlan in #7179
- Provide option to fail ClickOnce publish if RFC3161 timestamping fails. by @sujitnayak in #7323
- Make Microsoft.VisualStudio.Setup.Configuration.Interop assets private. by @AR-May in #7360
- [main] Update dependencies from dotnet/roslyn by @dotnet-maestro in #7354
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7347
- msbuild overview doc by @cdmihai in #7005
- Fix #5884: Add EnsureSingleQuoted and EnsureDoubleQuoted by @jrdodds in #7342
- Fix handling of relative paths when using graph builds with implicit restore by @dfederm in #7361
- CA1838 Avoid 'StringBuilder' parameters for P/Invokes by @elachlan in #7186
- Remove unnecessary package dependency on System.Net.Http package. by @AR-May in #7363
- Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 5756430 by @dotnet-bot in #7394
- Implement warnnotaserror Fixes #3062 by @Forgind in #7309
- Opt into IncludeEvaluationPropertiesAndItems in NullLogger by @rainersigwald in #7386
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7369
- Create unhandled exception message by @Forgind in #7392
- Add solution parser documentation by @dbelik in #7245
- Provide nice error when an environment variable is not expanded on the command line, including the full command line for all switch errors Fixes #7210 by @Forgind in #7213
- Better evaluator errors Fixes #6460 by @Forgind in #7367
- Allow an Override Flag in UsingTasks by @benvillalobos in #6783
- Support ProjectConfigurationDescription when SDK loggers are attached by @rainersigwald in #7297
- Revert "Loosen version comparisons in loading assemblies (#7042)" by @rainersigwald in #7415
- Update official build references to tasks and pools that recently started failing by @rainersigwald in #7416
- [automated] Merge branch 'vs17.1' => 'main' by @dotnet-maestro-bot in #7418
- CA1200: Avoid using cref tags with a prefix by @elachlan in #7194
- Adopt sbom by @Forgind in #7398
- Remove CS8632 suppression by @rainersigwald in #7426
- .NET SDK 6.0.200 by @rainersigwald in #7401
- Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 5823111 by @dotnet-bot in #7409
- Simplify MainNodeSdkResolverService by @jeffkl in #7244
- MSBuild Upgrade: netstandard2.0 -> net6.0 by @benvillalobos in #6148
- Throw exception or log warning upon drive enumeration glob anomaly detection by @mruxmohan4 in #7029
- Update MicroBuildSwixPlugin 1->4 by @benvillalobos in #7468
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7449
- Added MSBuild server doc (communication protocol) by @MichalPavlik in #7431
- Add more events to SDK resolution by @jeffkl in #7390
- Fix #7428 Enhancement: Add System.Environment::NewLine as a supported static property by @jrdodds in #7434
- Improve arm64 scenarios by @benvillalobos in #7472
- Fixes dotnet / msbuild#6313 FormatUrl by @jrdodds in #7404
- [main] Update dependencies from dotnet/roslyn by @dotnet-maestro in #7447
- Infer MSBuildWarnNotAsError from WarnNotAsError Fixes #7423 by @Forgind in #7424
- Fix missing transitive dependencies by @dfederm in #7476
- Allow overriding MSBuildRuntimeType to "Full" on RUNTIME_TYPE_NETCORE by @ccastanedaucf in #7481
- [main] Update dependencies from nuget/nuget.client by @dotnet-maestro in #7448
- [main] Update dependencies from dotnet/arcade by @dotnet-maestro in #7479
- Bump StyleCop.Analyzers from 1.2.0-beta.354 to 1.2.0-beta.406 in /eng/dependabot by @dependabot in #7477
- Bump Microsoft.VisualStudio.Setup.Configuration.Interop from 3.0.4496 to 3.1.2196 in /eng/dependabot by @dependabot in #7406
- Disable Microsoft.IO.Redist on non-Windows Fixes #7335 by @Forgind in #7460
- Capture output in XMake_Tests by @rainersigwald in #7450
- Stop disabling CA1416 Fixes #6376 by @Forgind in #7471
- Remove duplicate app.config entries Fixes #7451 by @Forgind in #7469
- Make DeepCopyFrom (for ProjectElementContainers) copy all descendants instead of just the direct children by @Forgind in #7454
- Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 5928658 by @dotnet-bot in #7463
- Ensure path writable for MSBuildDebugEngine by @Forgind in #7366
- [main] Update dependencies from dotnet/roslyn by @dotnet-maestro in #7478
- Fix regex culture bug by @danmoseley in #7498
- Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 5946023 by @dotnet-bot in #7500
- [automated] Merge branch 'vs17.2' => 'main' by @dotnet-maestro-bot in #7502
- Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 5995679 by @dotnet-bot in #7521
- 17.2 final branding. by @AR-May in #7526
New Contributors
- @dbelik made their first contribution in #7245
- @mruxmohan4 made their first contribution in #7029
Full Changelog: v17.1.0...v17.2.0