-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Enable loading COM component in default ALC via runtime config setting #79026
Conversation
Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov Issue DetailsAllow COM components to opt-in to being loaded in the default ALC:
|
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 like this approach.
Are we going to require people to use RuntimeHostConfigurationOption
to specify the new property or do you think we should introduce a new property? (I'm split on this myself)
src/coreclr/System.Private.CoreLib/src/Internal/Runtime/InteropServices/ComActivator.cs
Outdated
Show resolved
Hide resolved
src/coreclr/System.Private.CoreLib/src/Internal/Runtime/InteropServices/ComActivator.cs
Outdated
Show resolved
Hide resolved
I was planning on just going with |
Failure is #78778 |
/backport to release/7.0-staging |
Started backporting to release/7.0-staging: https://github.com/dotnet/runtime/actions/runs/4623484015 |
/backport to release/6.0-staging |
Started backporting to release/6.0-staging: https://github.com/dotnet/runtime/actions/runs/4623491666 |
@elinor-fung backporting to release/7.0-staging failed, the patch most likely resulted in conflicts: $ git am --3way --ignore-whitespace --keep-non-patch changes.patch
Applying: Enable loading COM component in default ALC via runtime config setting
Using index info to reconstruct a base tree...
M src/coreclr/System.Private.CoreLib/src/Internal/Runtime/InteropServices/ComActivationContextInternal.cs
M src/coreclr/System.Private.CoreLib/src/Internal/Runtime/InteropServices/ComActivator.cs
M src/libraries/System.Private.CoreLib/src/ILLink/ILLink.Descriptors.LibraryBuild.xml
Falling back to patching base and 3-way merge...
Auto-merging src/libraries/System.Private.CoreLib/src/ILLink/ILLink.Descriptors.LibraryBuild.xml
CONFLICT (content): Merge conflict in src/libraries/System.Private.CoreLib/src/ILLink/ILLink.Descriptors.LibraryBuild.xml
Auto-merging src/coreclr/System.Private.CoreLib/src/Internal/Runtime/InteropServices/ComActivator.cs
Auto-merging src/coreclr/System.Private.CoreLib/src/Internal/Runtime/InteropServices/ComActivationContextInternal.cs
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Enable loading COM component in default ALC via runtime config setting
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Error: The process '/usr/bin/git' failed with exit code 128 Please backport manually! |
@elinor-fung an error occurred while backporting to release/7.0-staging, please check the run log for details! Error: git am failed, most likely due to a merge conflict. |
Allow COM components to opt-in to being loaded in the default ALC:
comhost
checks for theSystem.Runtime.InteropServices.COM.LoadComponentInDefaultContext
property and uses new functions onComActivator
, loading into the default context if the property is set totrue
ComActivator
functions that always load into an isolated context if new functions aren't found and loading in an isolated contextResolves #66013
cc @AaronRobinsonMSFT