Freigeben über


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.

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>

Betroffene APIs