Skip to content

Remove ApartmentState support #4953

Closed
Closed

Description

ApartmentState STA/MTA is only used to interop with COM and not supported on non-Windows. It also seems that dotnet can marshal between STA and MTA just fine so allowing the user to set it is just a perf optimization.

I propose we simplify our code by removing support. The code base today already has ApartmentState commented out as we run MTA by default (as that is default for dotnet) so this is simply removing the #if !CORECLR conditional code.

Activity

  1. added
    Issue-Code Cleanupthe issue is for cleaning up the code with no impact on functionality
    Review - CommitteeThe PR/Issue needs a review from the PowerShell Committee
    on Sep 29, 2017
  2. added
    Committee-ReviewedPS-Committee has reviewed this and made a decision
    and removed
    Review - CommitteeThe PR/Issue needs a review from the PowerShell Committee
    on Oct 12, 2017
  3. SteveL-MSFT commented on Oct 12, 2017

    @SteveL-MSFT
    MemberAuthor

    @PowerShell/powershell-committee discussed this and decided to leave the code as-is for 6.0.0 release

  4. bergmeister commented on May 21, 2018

    @bergmeister
    Contributor

    Steve Lee (@SteveL-MSFT) I want to add that removing support for appartmentstate would not have be good. I have seen cases where certain COM APIs can cause threading issues and lead to very bad performance, therefore the ability to optionally execute as STA is critical.
    Therefore it is good that it was decided to not remove support for it. I just wanted to bring this up in case this issue gets re-considered.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Committee-ReviewedPS-Committee has reviewed this and made a decisionIssue-Code Cleanupthe issue is for cleaning up the code with no impact on functionalityResolution-Won't FixThe issue won't be fixed, possibly due to compatibility reason.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions