-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Move all of the ref-pack generators to use the "LatestVS" Roslyn build so they don't pull in prebuilts in source-build #81561
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
…d so they don't pull in prebuilts in source-build
|
Tagging subscribers to this area: @dotnet/runtime-infrastructure Issue DetailsRelated to #81468
|
|
We have references like below in the code base. Is it somehow relevant for this ? |
|
No, those shouldn't matter for this case as far as I know. Someone from source-build can confirm as they know where the prebuilt detection tooling is and how to use it. |
| </PropertyGroup> | ||
|
|
||
| <ItemGroup> | ||
| <!-- This generator ships as part of the .NET ref pack. Since VS ingests new Roslyn versions at a different cadence than the .NET SDK, we are pinning this generator to build against Roslyn 4.0 to ensure that we don't break users who are using .NET 7 previews in VS. --> |
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.
Given that we had this explicit remark section here, are we changing plans now? I understand the morivtion behind this change but will this effectively force our nighlty build consumers and/or our repo contributors to use an int Preview build of VS (which they likely not have access to)?
cc @stephentoub for Regex
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.
No, the LatestVS version tracks the most recent public preview that we need to use APIs from.
I removed the remark as just using the LatestVS version implies the exact same plan (it's the whole reason we introduced it in our infrastructure).
|
This breaks a
It has to do with this condition: Line 71 in 725de9e
@ViktorHofer @jkoritzinsky should the line be removed? |
|
@tmds that line was based on when we used to build Roslyn before runtime in source-build. We kept hitting issues where we’d only have issues with the newest Roslyn reported when changes propagated to dotnet/installer. If there’s a better value to use there for source-build to ensure coherency and accurate testing, we can change it. That line should do whatever is needed to get source-build working correctly. |
|
Before this change, the projects were using MicrosoftCodeAnalysisVersion_4_4 on source-build, and removing that line will make them use that version again. Removing that line fixes my build. I don't know if that means it is the proper fix. |
|
Some other options could be to Change the line to: Or change the generator projects so they are happy to use the 4.6 version when @ViktorHofer do you know what the proper change is? |
|
We need to be able to adopt new Roslyn versions to use new APIs that they provide. Being able to use 4.6 would be much better than 4.4. Personally, I think source-build shouldn't have moved Roslyn to build after Runtime and it should build before as we started to take a dependency on that experience. |
|
Since your didn't intend to change the version used by source build, we should pin it back to 4.4. It would be interesting to have the discussion with the source build maintainers about the build order. I don't know the rationale for the build order, though I'd like to. |
|
I did intend to change source-build, but not in a way that would break it. If just removing this condition would still work for source-build, then we should do that. Also, we should update our source-build leg to accurately represent source-build so we don't have this issue again in the future. |
|
I'm looking into this once again, and now I noticed the error happens when compiling tests. I'll make a PR with a change for the tests, and maybe we can include/change a CI job so it sets |
Related to #81468