-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Remove handling of certain BCL binaries from our build #57832
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
Conversation
|
Do we still control the versions of these assemblies that are inserted into the roslyn directory of MSBuild? If so how do we keep those in sync with what VS is inserting? |
|
@jaredpar We do. And we don't keep them in sync (roslyn is referecing 5.0, while VS is moving to 6.0). csc, vbcscompiler, etc all have their own exe.config, is keeping them in sync necessary? they will just use the version shipped by us, right? When roslyn is running in devenv, we will be redirected to whatever version VS provides. |
It's not necessary but I'd say it's desirable. Consider that when in sync then we're only carrying one copy in the installer, only NGEN'ing one version, analyzers / generators using all the same versions inside VS as well as on the command line. It is just overall more streamline. Consider that now that VS has moved to 6.0 the compiler will likely do so as well in short order. In general that should be the pattern. If VS moves forward we should move to match. It doesn't have to be in lock step with synchronized check ins but we should be trying to be on same versions at RTM time. |
|
I guess for now, we will stay out-of -sync until compiler move to 6.0 as well. In longer term, is it possible that we don't include them in compiler vsix, instead redirect to the ones in VS? |
|
Created a new PR for SCI and SRM |
That has a number of downsides I'd not like to go down. Really I don't think it's much harder than whenever VS moves their binaries forward we move the compilers forward too. If there was an announcement list, etc ... where we saw the verisons changing we could file a bug and update a week later. It's not much work. |
|
In my opinion, the most reasonable way for sync to work is for us to check via some automation. We can manually open the PRs if that automation notifies us that something needs to change, but ideally it would be difficult or impossible for someone to bump the package versions on the VS side and forget to notify us. |
|
We might be able to let insertion tool checks for the version of certain packages in VS, and create a bug when there's mismatch in major version |
VS is taking over insertion of - System.Collections.Immutable - System.Reflection.Metadata - System.Runtime.CompilerServices.Unsafe - System.Threading.Tasks.Extensions See https://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequest/364153 for part of this change
6711c54 to
70dfb6a
Compare
I wonder if the Impactful Change DL is too heavy-handed for this. Probably so. |
I think this would be sufficient, let's add infraswat to the subscription then. @JoeRobich Do you know how to do that? Also @jaredpar what's the plan for moving roslyn to 6.0 libraries? |
Once this change has settled and merged into VS then we should just upgrade pretty much immediately after. Both because it matches the "keep in sync" guideline and testing out immediately that we can indeed insert independently. We should file an issue, track it to 17.1 and assign it to the compiler team. I can assign it out from there |
|
Merging to unblock signed build. |
|
@genlu @dotnet/roslyn-infrastructure 17.0 insertions currently require manual editing to work properly. Could this change be backported to the 17.0 branch? |
|
Is rel/d17.0 already using stock BCL packages instead of the ones from us? |
|
It seems we do in corefx.props but not in default.config. |
Remove handling of certain BCL binaries from our build
Remove handling of certain BCL binaries from our build Co-authored-by: Joey Robichaud <jorobich@microsoft.com>
VS is taking over insertion of the following BCL packages.
See https://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequest/365249 and
https://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequest/364153 for the change on VS side
We have an insertion to validate this change:
https://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequest/365416