Condividi tramite


Il supporto di IMsoComponent richiede il consenso esplicito

È stata apportata una modifica per evitare Windows Form thread sempre registrati con istanze IMsoComponentManager esistenti. Tuttavia, è possibile acconsentire esplicitamente alla registrazione delle istanze esistenti IMsoComponentManager nei thread Windows Form.

Versione introdotta

.NET 9 Anteprima 2

Comportamento precedente

In precedenza, Windows Form thread sempre registrati con le istanze esistentiIMsoComponentManager.

Nuovo comportamento

A partire da .NET 9, i thread Windows Form non si integrano automaticamente con IMsoComponentManagers. Per ottenere il comportamento precedente, impostare l'opzione Switch.System.Windows.Forms.EnableMsoComponentManager.

Categoria di modifiche

Questa è una modifica funzionale.

Motivo della modifica

Questa modifica è stata apportata per prestazioni ed efficienza. Il comportamento precedente presentava un sovraccarico elevato durante l'uso di COM e non tutti gli sviluppatori necessitano di questo comportamento.

Se si desidera ripristinare il comportamento precedente, è possibile acconsentire esplicitamente al IMsoComponent supporto usando un'opzione nel file runtimeconfig.json o come RuntimeHostConfigurationOption elemento nel file di progetto.

File runtimeconfig.json:

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

File di progetto:

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

API interessate