Dela via


Stöd för IMsoComponent är opt-in

En ändring gjordes för att undvika att Windows Forms-trådar alltid registreras med befintliga IMsoComponentManager-instanser . Du kan dock välja att registrera befintliga IMsoComponentManager instanser i dina Windows Forms-trådar.

Version introducerad

Förhandsversion 2 av .NET 9

Tidigare beteende

Tidigare har Windows Forms-trådar alltid registrerats med befintliga IMsoComponentManager instanser.

Nytt beteende

Från och med .NET 9 integreras inte Windows Forms-trådar automatiskt med processregistrerade IMsoComponentManagers. Om du vill få tillbaka det tidigare beteendet ställer du in växeln Switch.System.Windows.Forms.EnableMsoComponentManager.

Ändra kategori

Den här ändringen är en beteendeförändring.

Orsak till ändringen

Den här ändringen gjordes för prestanda och effektivitet. Det tidigare beteendet visade mycket omkostnader eftersom det använde COM, och inte alla utvecklare behöver det här beteendet.

Om du vill återgå till det tidigare beteendet kan du välja att IMsoComponent använda en växel i runtimeconfig.json-filen eller som ett RuntimeHostConfigurationOption objekt i projektfilen.

runtimeconfig.json fil:

{
  "configProperties": {
    "Switch.System.Windows.Forms.EnableMsoComponentManager": true
 }
}

Projektfil:

<ItemGroup>
  <RuntimeHostConfigurationOption Include="Switch.System.Windows.Forms.EnableMsoComponentManager" Value="true" />
</ItemGroup>

Berörda API:er