IMsoComponent-Support ist eine wählbare Option
Es wurde eine Änderung vorgenommen, um zu vermeiden, dass Windows Forms-Threads immer bei vorhandenen IMsoComponentManager-Instanzen registriert werden. Sie können jedoch vorhandene IMsoComponentManager
-Instanzen für Ihre Windows Forms-Threads registrieren.
Eingeführt in Version
.NET 9 Preview 2
Vorheriges Verhalten
Bislang wurden Windows Forms-Threads immer bei vorhandenen IMsoComponentManager
-Instanzen registriert.
Neues Verhalten
Ab .NET 9 werden Windows Forms-Threads nicht automatisch in prozessregistrierte IMsoComponentManagers
-Instanzen integriert. Legen Sie den Switch auf Switch.System.Windows.Forms.EnableMsoComponentManager
fest, um zum vorherigen Verhalten zurückzukehren.
Ändern der Kategorie
Diese Änderung ist eine Verhaltensänderung.
Grund für die Änderung
Diese Änderung wurde vorgenommen, um die Leistung und die Effizienz zu erhöhen. Das bisherige Verhalten erforderte einen beträchtlichen Mehraufwand, da es COM verwendete. Jedoch benötigen nicht alle Entwickler dieses Verhalten.
Empfohlene Maßnahme
Sie können den IMsoComponent
-Support aktivieren, indem Sie einen Switch in der runtimeconfig.json-Datei oder als ein RuntimeHostConfigurationOption
-Objekt in der Projektdatei verwenden, um das vorherige Verhalten wiederherzustellen.
runtimeconfig.json-Datei:
{
"configProperties": {
"Switch.System.Windows.Forms.EnableMsoComponentManager": true
}
}
Projektdatei:
<ItemGroup>
<RuntimeHostConfigurationOption Include="Switch.System.Windows.Forms.EnableMsoComponentManager" Value="true" />
</ItemGroup>