Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Update C++ Tools to VS16.3 Preview 4 #2113

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

Merged
merged 3 commits into from
Oct 25, 2019

Conversation

vatsan-madhavan
Copy link
Member

@vatsan-madhavan vatsan-madhavan commented Oct 25, 2019

Fixes #2114
There is a matching PR for dotnet-wpf-int#3879 that is needed along-with this change.

Description

This PR updates C++ tools used by WPF to VS 16.3 Preview 4 bits.

From #2105, we now know that C++ toolset containing libs that were built targeting 3.0 could not be used to build against 3.1 libs.

#2105 (comment)

This was fixed in 16.4P3. It's caused by a mismatch between targeting 3.1 and using libs built against 3.0. Updating the tools should fix it and you should no longer need the private tools.

##[error]msvcurt_netcore.lib(msilexit.obj)(0,0): error LNK2022: metadata operation failed (80131195) : Custom attributes are not consistent: (0x0c0000f8).
msvcurt_netcore.lib(msilexit.obj) : error LNK2022: metadata operation failed (80131195) : Custom attributes are not consistent: (0x0c0000fb). [F:\workspace\_work\1\s\src\Microsoft.DotNet.Wpf\src\DirectWriteForwarder\DirectWriteForwarder.vcxproj]

The toolset in Dev 16.3+ were built against 3.1 libs.

Customer Impact

This blocks .NET Core 3.1 Preview 2 builds.

Risk

  • The risk of toolset change without extensive testing on a release/* branch is medium to high.
  • Some basic testing of the bits produced using this toolset suggests that the WPF bits are in good shape. I ran a set of high priority tests and did some ad-hoc tests against samples to validate the bits.

My recommendation is to merge this change now into release/3.1 branch to unblock preview builds, and continue with more testing as soon as a full SDK build is available.

Regression

The root cause for why the compiler team needed to rebuild their tools against 3.1 libs is unclear @tgani-msft mentioned that the compiler team has yet to root-cause it. We should try to understand this further IMO.

@ghost ghost requested a review from rladuca October 25, 2019 05:20
@ghost ghost added the PR metadata: Label to tag PRs, to facilitate with triage label Oct 25, 2019
@ghost ghost requested a review from SamBent October 25, 2019 05:20
@vatsan-madhavan
Copy link
Member Author

/cc @wtgodbe

@vatsan-madhavan vatsan-madhavan added this to the 3.1 milestone Oct 25, 2019
@vatsan-madhavan vatsan-madhavan self-assigned this Oct 25, 2019
@wtgodbe
Copy link
Member

wtgodbe commented Oct 25, 2019

If this works we can close #2105 in favor of this

@danmoseley
Copy link
Member

danmoseley commented Oct 25, 2019

I don't have write access to this repo to set the servicing-approved label 😄 Consider this one approved, as I'm virtual Steve at the moment.

@wtgodbe wtgodbe merged commit 94ba9d2 into dotnet:release/3.1 Oct 25, 2019
@vatsan-madhavan vatsan-madhavan deleted the cpptols-vs163-p4 branch October 25, 2019 20:50
@ghost ghost locked as resolved and limited conversation to collaborators Apr 14, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
PR metadata: Label to tag PRs, to facilitate with triage Servicing-approved
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.