Partager via


Le support IMsoComponent est à activer

Une modification a été apportée pour éviter que les threads Windows Forms ne s'enregistrent toujours avec des instances IMsoComponentManager existantes. Toutefois, vous pouvez choisir d'enregistrer les instances IMsoComponentManager existantes dans vos threads Windows Forms.

Version introduite

.NET 9 Preview 2

Comportement précédent

Auparavant, les threads Windows Forms s'enregistraient toujours avec les instances IMsoComponentManager existantes.

Nouveau comportement

À partir de .NET 9, les threads Windows Forms ne s'intègrent pas automatiquement aux IMsoComponentManagers enregistrés dans le processus. Pour retrouver le comportement précédent, réglez le commutateur Switch.System.Windows.Forms.EnableMsoComponentManager.

Modifier la catégorie

Ce changement est un changement de comportement.

Raison du changement

Ce changement a été effectué pour des raisons de performance et d'efficacité. Le comportement précédent présentait beaucoup de surcharge car il utilisait COM, et tous les développeurs n'ont pas besoin de ce comportement.

Si vous souhaitez revenir au comportement précédent, vous pouvez opter pour la prise en charge IMsoComponent en utilisant un commutateur dans le fichier runtimeconfig.json ou en tant qu'élément RuntimeHostConfigurationOption dans le fichier de projet.

Fichier runtimeconfig.json :

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

Fichier projet :

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

API affectées