O suporte a IMsoComponent é opcional
Uma alteração foi feita para evitar que os threads do Windows Forms sempre se registrem em instâncias do IMsoComponentManager existentes. No entanto, você pode aceitar o registro de instâncias IMsoComponentManager
existentes em seus threads do Windows Forms.
Versão introduzida
.NET 9 versão prévia 2
Comportamento anterior
Anteriormente, os threads do Windows Forms sempre eram registrados em instâncias IMsoComponentManager
existentes.
Novo comportamento
A partir do .NET 9, os threads do Windows Forms não se integram automaticamente ao IMsoComponentManagers
registrado em processo. Para recuperar o comportamento anterior, defina a opção Switch.System.Windows.Forms.EnableMsoComponentManager
.
Categoria da alteração
Esta é uma alteração de comportamento.
Motivo da alteração
Essa mudança foi feita por desempenho e eficiência. O comportamento anterior apresentava muita sobrecarga, pois usava COM, e nem todos os desenvolvedores precisam desse comportamento.
Ação recomendada
Se você quiser reverter para o comportamento anterior, poderá optar por oferecer suporte ao IMsoComponent
usando uma opção no arquivo runtimeconfig.json ou como um item RuntimeHostConfigurationOption
no arquivo de projeto.
Arquivo runtimeconfig.json:
{
"configProperties": {
"Switch.System.Windows.Forms.EnableMsoComponentManager": true
}
}
Arquivo de projeto:
<ItemGroup>
<RuntimeHostConfigurationOption Include="Switch.System.Windows.Forms.EnableMsoComponentManager" Value="true" />
</ItemGroup>