Ondersteuning voor IMsoComponent is opt-in
Er is een wijziging aangebracht om te voorkomen dat Windows Forms-threads altijd worden geregistreerd bij bestaande IMsoComponentManager-exemplaren . U kunt er echter voor kiezen om bestaande IMsoComponentManager
exemplaren te registreren bij uw Windows Forms-threads.
Versie geïntroduceerd
.NET 9 Preview 2
Vorig gedrag
Voorheen zijn Windows Forms-threads altijd geregistreerd bij bestaande IMsoComponentManager
exemplaren.
Nieuw gedrag
Vanaf .NET 9 worden Windows Forms-threads niet automatisch geïntegreerd met proces-geregistreerde IMsoComponentManagers
threads. Als u het vorige gedrag wilt terugzetten, stelt u de schakeloptie Switch.System.Windows.Forms.EnableMsoComponentManager
in.
Wijzigingscategorie
Deze wijziging is een gedragswijziging.
Reden voor wijziging
Deze wijziging is aangebracht voor prestaties en efficiëntie. Het vorige gedrag heeft veel overhead gepresenteerd omdat com werd gebruikt, en niet alle ontwikkelaars hebben dit gedrag nodig.
Aanbevolen actie
Als u wilt terugkeren naar het vorige gedrag, kunt u ervoor kiezen om te IMsoComponent
ondersteunen met behulp van een switch in het runtimeconfig.json-bestand of als een RuntimeHostConfigurationOption
item in het projectbestand.
runtimeconfig.json bestand:
{
"configProperties": {
"Switch.System.Windows.Forms.EnableMsoComponentManager": true
}
}
Projectbestand:
<ItemGroup>
<RuntimeHostConfigurationOption Include="Switch.System.Windows.Forms.EnableMsoComponentManager" Value="true" />
</ItemGroup>