-
Notifications
You must be signed in to change notification settings - Fork 339
[rel/18.0] Disable DynamicNative instrumentation by default #15298
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
[rel/18.0] Disable DynamicNative instrumentation by default #15298
Conversation
|
LGTM but I would ASAP fix logic in code coverage repository for detection of .NET processes. Simple scenario in VS 18.0 will still fail with those changes:
This will continue failing because.
|
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.
Approving with a nit question.
|
@nohwnd Do we want to forward port to main? |
|
/backport to main |
* Disable DynamicNative instrumentation by default * Also commit tests * Apply suggestion from @nohwnd
* Disable DynamicNative instrumentation by default * Also commit tests * Apply suggestion from @nohwnd
Description
Partially fix dotnet/sdk#50950 by disabling the DynamicNative instrumentation by default for all code coverage versions.
This change applies the workaround 1 to all runs under vstest 18: dotnet/sdk#50950 (comment)
This reduces the blast radius of the linked issue. DynamicNative code coverage is not needed for projects that only deal with .NET (managed) components.
If user explicitly enables DynamicNative they will still see the error until a fixed version of Code Coverage is published that loads covrun64 in a way that is compatible with .NET 10.
This change will be effective in VSTest 18, including VisualStudio 18, and dotnet test in .NET 10 SDK 10.0.1xx.
User can globally opt out from this fix by setting
VSTEST_DISABLE_DYNAMICNATIVE_CODECOVERAGE_DEFAULT_SETTING=1. Or they can opt out per run by using runsettings and setting the value themselves to the desired value.