-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Update Roslyn and use new step tracking API in incremental tests. #63978
Conversation
… of Roslyn so we can update our Roslyn version for generators that will either ship in .NET 7 or are for internal use only without accidentally breaking back-compat VS support.
…n tests to use the Incremental Step Tracking API. Blocked on dotnet/roslyn#58937
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
Tagging subscribers to this area: @dotnet/runtime-infrastructure Issue DetailsUpdate Roslyn and update the DllImportGenerator incremental generation tests to use the Incremental Step Tracking API. Blocked on dotnet/roslyn#58935
|
…eration tests. Make the remaining Select callbacks static now that we aren't using any state on the generator object.
cc: @dotnet/runtime-infrastructure @stephentoub for the infrastructure changes and updates to sources around new Roslyn warnings. cc: @dotnet/interop-contrib for review on the updates to DllImportGenerator and the improvements to the incrementality tests that use the new API and put us back on the "Roslyn best practices" track. |
eng/Versions.props
Outdated
<MicrosoftCodeAnalysisNetAnalyzersVersion>7.0.0-preview1.22067.1</MicrosoftCodeAnalysisNetAnalyzersVersion> | ||
<MicrosoftCodeAnalysisVersion>4.2.0-1.22070.6</MicrosoftCodeAnalysisVersion> | ||
<MicrosoftNetCompilersToolsetVersion>4.2.0-1.22070.6</MicrosoftNetCompilersToolsetVersion> |
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.
What Visual Studio does this require?
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.
IIRC, using the toolset package doesn't require a given VS version to match, but I don't remember the specifics.
...braries/Microsoft.Extensions.Hosting.Systemd/src/Microsoft.Extensions.Hosting.Systemd.csproj
Outdated
Show resolved
Hide resolved
…t generate them for each of the individual test projects.
a151cdd
to
bfc324a
Compare
src/libraries/System.Runtime.InteropServices/gen/DllImportGenerator/DllImportGenerator.cs
Show resolved
Hide resolved
…n a fix that will work
NullabilityInfoContext failures are known. The Wasm tests failed with a NuGet error due to a network blip. Merging this in. |
<MicrosoftCodeAnalysisAnalyzersVersion>3.3.3</MicrosoftCodeAnalysisAnalyzersVersion> | ||
<MicrosoftCodeAnalysisCSharpCodeStyleVersion>4.2.0-2.22128.1</MicrosoftCodeAnalysisCSharpCodeStyleVersion> | ||
<MicrosoftCodeAnalysisCSharpWorkspacesVersion>4.2.0-2.22128.1</MicrosoftCodeAnalysisCSharpWorkspacesVersion> | ||
<MicrosoftCodeAnalysisCSharpVersion>4.2.0-2.22128.1</MicrosoftCodeAnalysisCSharpVersion> |
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.
@eerhardt does this need to be a change that makes our OOB source generators cross-compile? What's going to happen when someone now installs the JSON or logging source generator package on a 6.0 GA SDK/Visual Studio 2022?
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.
I specifically updated our in-box analyzers that we have already shipped to be pinned to the RTM versions of the Roslyn API surface they built against when they shipped. The JSON and Logging generators are pinned to 3.11 and 4.0. They don't build against these new versions.
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.
Can we guarantee that all net7.0
consumers will have this version of roslyn? I know we have some surprising combinations that are sometimes supported due to the roslyn shipping in VS at a different cadence.
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.
By the time this commit ships, we will have at least this version of Roslyn in the product. By the time .NET 7 ships, all places where .NET 7 is supported will also have a version of Roslyn that is at least this version (likely the release version of 4.2.0)
Update Roslyn and update the DllImportGenerator incremental generation tests to use the Incremental Step Tracking API.
Blocked on dotnet/roslyn#58935