O suporte a IMsoComponent é opt-in
Uma alteração foi feita para evitar que os threads do Windows Forms sempre se registrassem com instâncias IMsoComponentManager existentes. No entanto, você pode optar por registrar instâncias existentes IMsoComponentManager
em seus threads do Windows Forms.
Versão introduzida
.NET 9 Visualização 2
Comportamento anterior
Anteriormente, os threads do Windows Forms sempre eram registrados com instâncias existentes IMsoComponentManager
.
Novo comportamento
A partir do .NET 9, os threads do Windows Forms não se integram automaticamente ao processo registrado IMsoComponentManagers
. Para recuperar o comportamento anterior, defina a opção Switch.System.Windows.Forms.EnableMsoComponentManager
.
Alterar categoria
Esta mudança é uma mudança comportamental.
Razão para a alteração
Esta alteração foi feita para o desempenho e eficiência. O comportamento anterior apresentava muita sobrecarga como ele usava COM, e nem todos os desenvolvedores precisam desse comportamento.
Ação recomendada
Se você deseja reverter para o comportamento anterior, você pode optar por suportar usando IMsoComponent
uma opção no arquivo runtimeconfig.json ou como um RuntimeHostConfigurationOption
item no arquivo de projeto.
runtimeconfig.json ficheiro:
{
"configProperties": {
"Switch.System.Windows.Forms.EnableMsoComponentManager": true
}
}
Ficheiro do projeto:
<ItemGroup>
<RuntimeHostConfigurationOption Include="Switch.System.Windows.Forms.EnableMsoComponentManager" Value="true" />
</ItemGroup>