Skip to content

Add clear error message (MSB4233) for .NET runtime tasks on MSBuild 17.14#12662

Merged
YuliiaKovalova merged 22 commits into
vs17.14from
copilot/improve-error-message-for-net-tasks
Nov 20, 2025
Merged

Add clear error message (MSB4233) for .NET runtime tasks on MSBuild 17.14#12662
YuliiaKovalova merged 22 commits into
vs17.14from
copilot/improve-error-message-for-net-tasks

Conversation

Copilot AI commented Oct 17, 2025

Copy link
Copy Markdown
Contributor

Summary

This PR adds a clear error message (MSB4233) when users try to use tasks with Runtime="NET" on MSBuild 17.14 (.NET Framework), which doesn't support .NET runtime tasks.

Changes

  • Added check in NodeProviderOutOfProcTaskHost.AcquireAndSetUpHost() to detect HandshakeOptions.NET flag
  • Throws InvalidProjectFileException with clear error message (MSB4233) before attempting to launch task host
  • Error message includes task name, assembly location, and guidance to use "dotnet build" or Visual Studio 2026+
  • Wrapped in #if NETFRAMEWORK since .NET Core/5+ builds support .NET runtime tasks
  • Added end-to-end tests for both BuildManager API and MSBuild CLI
  • All nullable reference warnings resolved

Testing

  • End-to-end test for BuildManager API verifies MSB4233 error
  • End-to-end test for MSBuild CLI verifies MSB4233 error
  • Tests use WindowsFullFrameworkOnlyFact and will run in CI on Windows

Fixes #12661

Original prompt

This section details on the original issue you should resolve

<issue_title>VS 17.14 should give a clearer error when trying to launch .NET Tasks</issue_title>
<issue_description>### Issue Description

In 18.0 we lit up support for Tasks declared with Runtime="NET" - but MSBuild Task Authors bulk-updating their UsingTasks to specify this Runtime may not give good error experiences to end users running those tasks on older VS versions.

Steps to Reproduce

Create a .NET (not Framework) Task with `Runtime="NET" in its UsingTask and attempt to run it from a vs17.14 version of MSBuild.exe.

Expected Behavior

The build (not evaluation) should fail at run-time with a clear error along the lines of:

The Task {TaskName} was specified to load with the .NET Runtime, but this version of MSBuild does not support loading Tasks with that Runtime. To load .NET Tasks, MSBuild.exe 18.0 or Visual Studio 2026 must be used.

Actual Behavior

The build fails at run-time with the following error:

System.AggregateException: One or more errors occurred. ---> Microsoft.Build.Exceptions.BuildAbortedException: Build was canceled.
        MSBuild.exe could not be launched as a child node as it could not be found at the location "C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Current\Bin\amd64\MSBuild.dll". If necessary, specify the correct location in the BuildParameters, or with the MSBUILD_EXE_PATH environment variable.
  at Microsoft.Build.BackEnd.NodeLauncher.StartInternal(String msbuildLocation, String commandLineArgs)
  at Microsoft.Build.BackEnd.NodeLauncher.DisableMSBuildServer(Func`1 func)
  at Microsoft.Build.BackEnd.NodeProviderOutOfProcBase.<>c__DisplayClass14_0.<GetNodes>g__StartNewNode|2(Int32 nodeId)
  at Microsoft.Build.BackEnd.NodeProviderOutOfProcBase.<>c__DisplayClass14_0.<GetNodes>b__0(Int32 nodeId)

Analysis

We don't want to fail at evaluation time, because this would break clients pretty badly. Instead, we should fail when trying to execute the mismatched Task. This means I think one of two places:

  • task host node creation (NodeProviderOutOfProcBase.AcquireAndSetUpHost), or
  • TaskHostTask creation (which internally calls NodeProviderOutOfProcBase.AcquireAndSetUpHost)
    • TaskHostTask's constructor, or
    • AssemblyTaskFactory.CreateTaskInstance

There may be more options, these are just the two that stand out to me.

In any case, we need additional test cases to show the behavior of throwing the new exception when a NET-Runtime Task is loaded from .NET Framework MSBuild. Ideally the tests would show the behavior being triggered both from MSBuild.exe invocations directly and from usage of the MSBuild APIs.

Versions & Configurations

No response</issue_description>

<agent_instructions>Try to keep the changes as minimal as possible because we have a high quality bar to meet for this change to be accepted.</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@rainersigwald Let's try switching to detecting `Runtime="NET"` in `Microsoft.Build.BackEnd.NodeProviderOutOfProcTaskHost.AcquireAndSetUpHost` and throwing an `InvalidProjectException` and see what the UX of that is.

Fixes #12661


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Hello @@copilot, I noticed that you’re changing an .swr file or any file under src/Package/MSBuild.VSSetup.. Please make sure to validate this change by an experimental VS insertion. This is accomplished by pushing to an exp/* branch, which requires write permissions to this repo.

Copilot AI changed the title [WIP] Improve error message for .NET Tasks in VS 17.14 Add clear error message (MSB4233) for .NET runtime tasks on MSBuild 17.14 Oct 17, 2025
Copilot AI requested a review from baronfel October 17, 2025 15:52

@baronfel baronfel left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot some things to clean up

Comment thread src/Build.UnitTests/BackEnd/NodeProviderOutOfProcTaskHost_Tests.cs Outdated
Comment thread src/Build/BackEnd/Components/Communications/NodeProviderOutOfProcTaskHost.cs Outdated
Comment thread src/Build/Resources/Strings.resx Outdated
@baronfel

Copy link
Copy Markdown
Member

@copilot please also add end-to-end tests for the MSBuild CLI and MSBuild API usage that load a Project that consumes a .NET Runtime Task and fails appropriately. You won't be able to run these because they are windows-only, so follow existing patterns for Framework-only end-to-end tests and we can let CI try to verify them.

Copilot AI commented Oct 17, 2025

Copy link
Copy Markdown
Contributor Author

@copilot please also add end-to-end tests for the MSBuild CLI and MSBuild API usage that load a Project that consumes a .NET Runtime Task and fails appropriately. You won't be able to run these becaus...

Added end-to-end tests for both BuildManager API and MSBuild CLI usage:

  • DotNetRuntimeTask_EndToEnd_Tests.cs tests BuildManager.Build() and ProjectInstance.Build() scenarios
  • DotNetRuntimeTask_CLI_Tests.cs tests MSBuild.exe command line execution
  • Tests verify MSB4233 error is shown with clear message about .NET runtime not being supported
  • Tests use WindowsFullFrameworkOnlyFact attribute following existing patterns
  • Tests will run in CI on Windows to validate the error handling

(commit: 4c8c0d7)

@baronfel

Copy link
Copy Markdown
Member

@copilot compilation is failing on the Windows Full Release pipeline because the HandshakeOptions type isn't visible:

src\Build.UnitTests\BackEnd\NodeProviderOutOfProcTaskHost_Tests.cs(57,13): error CS0246: (NETCORE_ENGINEERING_TELEMETRY=Build) The type or namespace name 'HandshakeOptions' could not be found (are you missing a using directive or an assembly reference?)

If this type actually visible when targeting .NET Framework?

Copilot AI commented Oct 17, 2025

Copy link
Copy Markdown
Contributor Author

@copilot compilation is failing on the Windows Full Release pipeline because the HandshakeOptions type isn't visible:

src\Build.UnitTests\BackEnd\NodeProviderOutOfProcTaskHost_Tests.cs(57,13): ...

Yes, HandshakeOptions is visible when targeting .NET Framework. It's an internal enum in Microsoft.Build.Shared that's exposed to Microsoft.Build.Engine.UnitTests via InternalsVisibleTo.

The code at line 57 is inside a #if NETFRAMEWORK block (added in commit 78985e2), so it should only compile for .NET Framework targets. The error mentioning (NETCORE_ENGINEERING_TELEMETRY=Build) suggests the CI is compiling for .NET Core, where the #if should exclude that code.

Can you confirm which commit SHA the failing build is using? The #if NETFRAMEWORK guards should be present in commit b48a64d and later.

@baronfel

Copy link
Copy Markdown
Member

@copilot remove the NodeProviderOutOfProcTaskHost_Tests - they've served their purpose and we can't directly use the HandshakeOptions type.

Copilot AI commented Oct 17, 2025

Copy link
Copy Markdown
Contributor Author

@copilot remove the NodeProviderOutOfProcTaskHost_Tests - they've served their purpose and we can't directly use the HandshakeOptions type.

Removed NodeProviderOutOfProcTaskHost_Tests.cs. The end-to-end tests in DotNetRuntimeTask_EndToEnd_Tests.cs and DotNetRuntimeTask_CLI_Tests.cs provide sufficient coverage for the MSB4233 error without requiring direct access to internal types. (commit: e8c9f2a)

@baronfel
baronfel dismissed their stale review October 17, 2025 20:27

It's me!

@baronfel
baronfel requested review from a team and rainersigwald October 17, 2025 21:31
@baronfel
baronfel marked this pull request as ready for review October 17, 2025 21:31
Copilot AI review requested due to automatic review settings October 17, 2025 21:31
@baronfel

Copy link
Copy Markdown
Member

This is ready for review now - once reviews are good we'll want to take this to VS QB

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds a specific error (MSB4233) when a task declares Runtime="NET" on MSBuild 17.14 (.NET Framework build) to replace a previously confusing failure, plus tests validating behavior and localized resource entries.

  • Introduces early runtime check in NodeProviderOutOfProcTaskHost.AcquireAndSetUpHost to throw a clear InvalidProjectFile error.
  • Adds new resource string (TaskRuntimeNET) with localization placeholders.
  • Provides end-to-end API and CLI tests for both failing (.NET runtime task) and succeeding (normal task) scenarios.

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/MSBuild.UnitTests/DotNetRuntimeTask_CLI_Tests.cs Adds CLI tests verifying MSB4233 appears for Runtime="NET" and normal tasks still succeed.
src/Build/Resources/xlf/Strings.zh-Hant.xlf Adds localized (untranslated initial) entry for new MSB4233 error.
src/Build/Resources/xlf/Strings.zh-Hans.xlf Adds localized entry for MSB4233 error.
src/Build/Resources/xlf/Strings.tr.xlf Adds localized entry for MSB4233 error.
src/Build/Resources/xlf/Strings.ru.xlf Adds localized entry for MSB4233 error.
src/Build/Resources/xlf/Strings.pt-BR.xlf Adds localized entry for MSB4233 error.
src/Build/Resources/xlf/Strings.pl.xlf Adds localized entry for MSB4233 error.
src/Build/Resources/xlf/Strings.ko.xlf Adds localized entry for MSB4233 error.
src/Build/Resources/xlf/Strings.ja.xlf Adds localized entry for MSB4233 error.
src/Build/Resources/xlf/Strings.it.xlf Adds localized entry for MSB4233 error.
src/Build/Resources/xlf/Strings.fr.xlf Adds localized entry for MSB4233 error.
src/Build/Resources/xlf/Strings.es.xlf Adds localized entry for MSB4233 error.
src/Build/Resources/xlf/Strings.de.xlf Adds localized entry for MSB4233 error.
src/Build/Resources/xlf/Strings.cs.xlf Adds localized entry for MSB4233 error.
src/Build/Resources/Strings.resx Defines the new TaskRuntimeNET resource string and localization locking comments.
src/Build/BackEnd/Components/Communications/NodeProviderOutOfProcTaskHost.cs Adds runtime flag check and throws MSB4233 before host launch.
src/Build.UnitTests/BackEnd/DotNetRuntimeTask_EndToEnd_Tests.cs Adds BuildManager and ProjectInstance API tests for MSB4233 behavior and success path.

Comment thread src/MSBuild.UnitTests/DotNetRuntimeTask_CLI_Tests.cs Outdated
Comment thread src/Build.UnitTests/BackEnd/DotNetRuntimeTask_EndToEnd_Tests.cs Outdated
Comment thread src/Build.UnitTests/BackEnd/DotNetRuntimeTask_EndToEnd_Tests.cs Outdated
Comment thread src/Build.UnitTests/BackEnd/DotNetRuntimeTask_EndToEnd_Tests.cs Outdated
github-actions Bot pushed a commit to IntelliTect/Multitool that referenced this pull request Jul 20, 2026
Updated [Microsoft.Build](https://github.com/dotnet/msbuild) from 18.7.1
to 18.8.2.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Build's
releases](https://github.com/dotnet/msbuild/releases)._

## 18.8.2

## What's Changed
* [vs16.11] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12550
* [vs17.8] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12739
* [vs17.11] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12740
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12743
* Add clear error message (MSB4233) for .NET runtime tasks on MSBuild
17.14 by @​baronfel with @​Copilot in
dotnet/msbuild#12662
* [vs17.8] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12759
* [vs17.11] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12760
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12762
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12744
* Remove audit sources from NuGet.config by @​YuliiaKovalova in
dotnet/msbuild#12796
* Bump System.Configuration.ConfigurationManager to 6.0.0 # by
@​YuliiaKovalova in dotnet/msbuild#12795
* Enable localization for vs17.14 build by @​YuliiaKovalova in
dotnet/msbuild#12799
* [vs17.8] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12814
* [vs17.14] Add test summary always in terminal logger by @​nohwnd in
dotnet/msbuild#12852
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12575
* [vs17.8] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12889
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12892
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12891
* Localized file check-in by OneLocBuild Task: Build definition ID 9434:
Build ID 12921813 by @​dotnet-bot in
dotnet/msbuild#12897
* Disable Localization for vs17.14 by @​YuliiaKovalova in
dotnet/msbuild#12903
* [automated] Merge branch 'vs16.11' => 'vs17.8' by
@​github-actions[bot] in dotnet/msbuild#12798
* [vs17.11] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12815
* [automated] Merge branch 'vs17.14' => 'vs18.0' by
@​github-actions[bot] in dotnet/msbuild#12917
* [vs17.8] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12934
* [vs17.11] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12935
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12941
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12940
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12939
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12966
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12965
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12964
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13038
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13049
* [vs18.0] Fix MSB1025 error when using DistributedFileLogger (-dfl
flag) by @​github-actions[bot] in
dotnet/msbuild#13039
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13037
* [automated] Merge branch 'vs18.0' => 'vs18.3' by @​github-actions[bot]
in dotnet/msbuild#13052
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13101
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13098
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13100
* [vs18.3] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13102
* Backflow 10.0.2xx VMR by @​dkurepa in
dotnet/msbuild#13121
* Disable localization for vs18.0 in build configuration by
@​YuliiaKovalova in dotnet/msbuild#13164
* Disable localization for vs18.3 by @​YuliiaKovalova in
dotnet/msbuild#13165
* [vs18.3] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13161
* [vs18.3] Stabilize package versions by @​JanProvaznik in
dotnet/msbuild#13233
* [vs18.3] Add Managed Identity for bootstrapper creation by
@​github-actions[bot] in dotnet/msbuild#13249
* [automated] Merge branch 'vs18.0' => 'vs18.3' by @​github-actions[bot]
in dotnet/msbuild#13167
* [vs18.3] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13228
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13159
 ... (truncated)

Commits viewable in [compare
view](dotnet/msbuild@v18.7.1...v18.8.2).
</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This was referenced Jul 20, 2026
WarperSan pushed a commit to WarperSan/ThunderPipe that referenced this pull request Jul 22, 2026
Updated
[Microsoft.Build.Utilities.Core](https://github.com/dotnet/msbuild) from
18.6.3 to 18.8.2.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Build.Utilities.Core's
releases](https://github.com/dotnet/msbuild/releases)._

## 18.8.2

## What's Changed
* [vs16.11] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12550
* [vs17.8] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12739
* [vs17.11] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12740
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12743
* Add clear error message (MSB4233) for .NET runtime tasks on MSBuild
17.14 by @​baronfel with @​Copilot in
dotnet/msbuild#12662
* [vs17.8] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12759
* [vs17.11] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12760
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12762
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12744
* Remove audit sources from NuGet.config by @​YuliiaKovalova in
dotnet/msbuild#12796
* Bump System.Configuration.ConfigurationManager to 6.0.0 # by
@​YuliiaKovalova in dotnet/msbuild#12795
* Enable localization for vs17.14 build by @​YuliiaKovalova in
dotnet/msbuild#12799
* [vs17.8] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12814
* [vs17.14] Add test summary always in terminal logger by @​nohwnd in
dotnet/msbuild#12852
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12575
* [vs17.8] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12889
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12892
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12891
* Localized file check-in by OneLocBuild Task: Build definition ID 9434:
Build ID 12921813 by @​dotnet-bot in
dotnet/msbuild#12897
* Disable Localization for vs17.14 by @​YuliiaKovalova in
dotnet/msbuild#12903
* [automated] Merge branch 'vs16.11' => 'vs17.8' by
@​github-actions[bot] in dotnet/msbuild#12798
* [vs17.11] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12815
* [automated] Merge branch 'vs17.14' => 'vs18.0' by
@​github-actions[bot] in dotnet/msbuild#12917
* [vs17.8] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12934
* [vs17.11] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12935
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12941
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12940
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12939
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12966
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12965
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#12964
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13038
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13049
* [vs18.0] Fix MSB1025 error when using DistributedFileLogger (-dfl
flag) by @​github-actions[bot] in
dotnet/msbuild#13039
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13037
* [automated] Merge branch 'vs18.0' => 'vs18.3' by @​github-actions[bot]
in dotnet/msbuild#13052
* [vs17.12] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13101
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13098
* [vs17.14] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13100
* [vs18.3] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13102
* Backflow 10.0.2xx VMR by @​dkurepa in
dotnet/msbuild#13121
* Disable localization for vs18.0 in build configuration by
@​YuliiaKovalova in dotnet/msbuild#13164
* Disable localization for vs18.3 by @​YuliiaKovalova in
dotnet/msbuild#13165
* [vs18.3] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13161
* [vs18.3] Stabilize package versions by @​JanProvaznik in
dotnet/msbuild#13233
* [vs18.3] Add Managed Identity for bootstrapper creation by
@​github-actions[bot] in dotnet/msbuild#13249
* [automated] Merge branch 'vs18.0' => 'vs18.3' by @​github-actions[bot]
in dotnet/msbuild#13167
* [vs18.3] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13228
* [vs18.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/msbuild#13159
 ... (truncated)

## 18.7.1

## What's Changed
* Fix TraceEngine file contention deadlock in multithreaded mode by
@​JanProvaznik in dotnet/msbuild#13446
* Remove duplicate test cases in MultithreadableTaskAnalyzer by
@​Youssef1313 in dotnet/msbuild#13483
* Ensure ThreadSafeTaskAnalyzer.Tests is considered as a unit test
project by @​Youssef1313 in dotnet/msbuild#13481
* Fix MSBuildTask0002 analyzer warnings in already-migrated tasks by
@​JanProvaznik in dotnet/msbuild#13466
* Fix race conditions in task host path resolution by @​AR-May in
dotnet/msbuild#13485
* Migrate ToolTask and Al task to TaskEnvironment API by @​OvesN in
dotnet/msbuild#13423
* Bump main to 18.7, add vs18.6 to merge flow by @​MichalPavlik in
dotnet/msbuild#13472
* Avoid allocations in GetHashCode implementations by @​DustinCampbell
in dotnet/msbuild#13475
* Add PATs rotation to agentic workflow(s) by @​JanKrivanek in
dotnet/msbuild#13496
* Fix ASP.NET WebSite projects to copy netstandard.dll facade when
required by @​JanProvaznik in
dotnet/msbuild#13058
* Migrate AspNetCompiler to TaskEnvironment API by @​OvesN in
dotnet/msbuild#13424
* Add review workflow by @​JanKrivanek in
dotnet/msbuild#13503
* Strengthen reviewer skill: add step-back analysis dimensions by
@​JanProvaznik in dotnet/msbuild#13504
* Add 'Request Speedometer Perf Run' to VS experimental insertion build
policies by @​Copilot in dotnet/msbuild#13505
* Remove duplicate @ prefix from issueAuthor in GitOps by @​akoeplinger
in dotnet/msbuild#13492
* Improve review aw by @​JanKrivanek in
dotnet/msbuild#13510
* Migrates unit tests to use RoslynCodeTaskFactory to enable running
tests under .NET Core by @​jankratochvilcz in
dotnet/msbuild#13500
* Fix cross-AppDomain TaskItem modifier cache regression by
@​DustinCampbell in dotnet/msbuild#13493
* Discourage review agent from approving PRs by @​JanKrivanek in
dotnet/msbuild#13512
* Stop trying to deploy ValueTuple by @​rainersigwald in
dotnet/msbuild#13507
* Ad-hoc re-sign bootstrap dotnet on macOS to prevent SIGKILL by
@​jankratochvilcz in dotnet/msbuild#13513
* RoslynCodeTaskFactory: Log MSB3753 when task class does not implement
ITask by @​jankratochvilcz in
dotnet/msbuild#13517
* Update gh-aw (upon mcp policy changes) by @​JanKrivanek in
dotnet/msbuild#13526
* Eliminate XmlChildNodes allocations in GetXmlNodeInnerContents by
@​nareshjo in dotnet/msbuild#13509
* Fix telemetry allocation regression: per-engine collector ownership by
@​JanProvaznik in dotnet/msbuild#13516
* Migrate to xunit.v3 by @​Youssef1313 in
dotnet/msbuild#13482
* Fix stray brace in HandleBuildCancel trace string causing MSB1025 by
@​Copilot in dotnet/msbuild#13535
* Bumping to 10.0.4 runtime packages by @​MichalPavlik in
dotnet/msbuild#13533
* Remove early return in GetCanonicalForm, always call System.IO.Path by
@​OvesN in dotnet/msbuild#13532
* Do not overwrite GetCopyToOutputDirectoryItemsDependsOn, just add new…
by @​snechaev in dotnet/msbuild#13474
* Migrate GetReferenceAssemblyPaths task to TaskEnvironment API by
@​OvesN in dotnet/msbuild#13495
* Stabilize ToolTaskThatTimeoutAndRetry test by @​rainersigwald in
dotnet/msbuild#13489
* [automated] Merge branch 'vs18.6' => 'main' by @​github-actions[bot]
in dotnet/msbuild#13506
* Add extra test assertions around tests by @​Youssef1313 in
dotnet/msbuild#13536
* Add static eval for repo skills/agents via skill-validator by
@​JanKrivanek in dotnet/msbuild#13537
* Migrate SGen task to Task environment API by @​OvesN in
dotnet/msbuild#13457
* Fix TerminalLogger assert failure for metaproj files and cached
project eval ID by @​OvesN in
dotnet/msbuild#13480
* Filter out approving review from pr-reviewer agent by @​JanKrivanek in
dotnet/msbuild#13553
* Use a unique task name per invocation to tabilize
RoslynCodeTaskFactory_ReuseCompilation test by @​huulinhnguyen-dev in
dotnet/msbuild#13551
* Brief doc on feedback/logging/data systems by @​rainersigwald in
dotnet/msbuild#13554
* Localized file check-in by OneLocBuild Task: Build definition ID 9434:
Build ID 13881982 by @​dotnet-bot in
dotnet/msbuild#13437
* Stage 3: Forward BuildProjectFile* callbacks from OOP TaskHost to
worker node by @​JanProvaznik in
dotnet/msbuild#13350
* Enable TaskHost Callbacks by default by @​JanProvaznik in
dotnet/msbuild#13579
* Remove unactionable info from reviewer agent by @​JanKrivanek in
dotnet/msbuild#13578
* Enlighten RequiresFramework35SP1Assembly task for multithreaded mode
by @​jankratochvilcz in dotnet/msbuild#13575
* Make SdkResolver-provided environment variables take precedence over
ambient environment by @​Copilot in
dotnet/msbuild#12655
* Add dotnet/skills marketplace and enable plugins by @​Evangelink in
dotnet/msbuild#13582
* The skills/agents check filters-in only touched files by @​JanKrivanek
in dotnet/msbuild#13586
* Fix skill-validation workflow failing when agents directory is deleted
by @​JeremyKuhne in dotnet/msbuild#13592
 ... (truncated)

Commits viewable in [compare
view](dotnet/msbuild@v18.6.3...v18.8.2).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Microsoft.Build.Utilities.Core&package-manager=nuget&previous-version=18.6.3&new-version=18.8.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 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 reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants