Compartir vía


La compatibilidad con IMsoComponent es opcional

Se ha realizado un cambio para evitar que los subprocesos de Windows Forms siempre se registren con instancias existentes de IMsoComponentManager. Sin embargo, puede optar por registrar instancias existentes de IMsoComponentManager en los subprocesos de Windows Forms.

Versión introducida

.NET 9 (versión preliminar 2)

Comportamiento anterior

Anteriormente, los subprocesos de Windows Forms siempre se registraban con instancias existentes de IMsoComponentManager.

Comportamiento nuevo

A partir de .NET 9, los subprocesos de Windows Forms no se integran automáticamente con IMsoComponentManagers registrado para procesos. Para recuperar el comportamiento anterior, establezca el modificador Switch.System.Windows.Forms.EnableMsoComponentManager.

Cambio de categoría

Este es un cambio de comportamiento.

Motivo del cambio

Este cambio se realizó para mejorar el rendimiento y la eficacia. El comportamiento anterior presentaba una gran sobrecarga, ya que usaba COM, y no todos los desarrolladores necesitan este comportamiento.

Si desea revertir al comportamiento anterior, puede optar por admitir IMsoComponent mediante un modificador en el archivo runtimeconfig.json o como elemento RuntimeHostConfigurationOption en el archivo de proyecto.

Archivo runtimeconfig.json:

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

Archivo del proyecto:

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

API afectadas