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.
Action recommandée
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>