-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reference latest MSBuild for netcore MSBuild stuff #40603
Reference latest MSBuild for netcore MSBuild stuff #40603
Conversation
MSBuild references were changed in dotnet#38506 to use MSBuildMinimumVersion in all non-source-build scenarios, but that's not necessary: the SDK will deliver the latest .NET MSBuild and use it for all CLI-driven builds. Using the old version broke some tests because of a mismatch between newer targets and the old engine that was being used to execute tests. Instead, split the reference based on the TF of the project that is building: for `net472`, use the minimum version if available, but for `$(SdkTargetFramework)` always use the latest.
modes will import a version override file after Versions.props. --> | ||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'"> | ||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true' or '$(TargetFramework)' != 'net472'"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is
'$(DotNetBuildSourceOnly)' == 'true' / != 'true'
part of these conditions redundant? there is no netframework source build
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
netstandard?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should be enough to check:
'$(TargetFrameworkIdentifier)' == '.NETFramework'
'$(TargetFrameworkIdentifier)' != '.NETFramework'
/backport to release/8.0.4xx |
Started backporting to release/8.0.4xx: https://github.com/dotnet/sdk/actions/runs/9085698508 |
@marcpopMSFT backporting to release/8.0.4xx failed, the patch most likely resulted in conflicts: $ git am --3way --ignore-whitespace --keep-non-patch changes.patch
Applying: Reference latest MSBuild for netcore MSBuild stuff
Using index info to reconstruct a base tree...
M Directory.Packages.props
M eng/Versions.props
Falling back to patching base and 3-way merge...
Auto-merging eng/Versions.props
CONFLICT (content): Merge conflict in eng/Versions.props
Auto-merging Directory.Packages.props
CONFLICT (content): Merge conflict in Directory.Packages.props
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Reference latest MSBuild for netcore MSBuild stuff
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Error: The process '/usr/bin/git' failed with exit code 128 Please backport manually! |
@marcpopMSFT an error occurred while backporting to release/8.0.4xx, please check the run log for details! Error: git am failed, most likely due to a merge conflict. |
@Forgind /please backport to release/8.0.4xx |
MSBuild references were changed in #38506 to use
MSBuildMinimumVersion in all non-source-build scenarios, but
that's not necessary: the SDK will deliver the latest .NET MSBuild
and use it for all CLI-driven builds.
Using the old version broke some tests because of a mismatch
between newer targets and the old engine that was being used
to execute tests.
Instead, split the reference based on the TF of the project that is
building: for
net472
, use the minimum version if available, butfor
$(SdkTargetFramework)
always use the latest.