IMsoComponent のサポートはオプトイン
Windows フォーム スレッドが常に既存の IMsoComponentManager インスタンスに登録されることを回避するための変更が行われました。 ただし、既存のIMsoComponentManager
インスタンスを Windows フォーム スレッドに登録することをオプトインできます。
導入されたバージョン
.NET 9 Preview 2
以前の動作
以前、Windows フォームスレッドは常に既存の IMsoComponentManager
インスタンスに登録されていました。
新しい動作
.NET 9 以降、Windows フォーム スレッドはプロセス登録された IMsoComponentManagers
と自動的に統合されません。 前の動作に戻すには、スイッチ Switch.System.Windows.Forms.EnableMsoComponentManager
を設定します。
カテゴリの変更
この変更は、動作変更です。
変更理由
この変更は、パフォーマンスと効率のために行われました。 以前の動作では COM が使用されていたため多くのオーバーヘッドが発生し、しかも、すべての開発者がこの動作を必要とするわけではありませんでした。
推奨される操作
以前の動作に戻す場合は、runtimeconfig.json ファイル内のスイッチを使用するか、プロジェクト ファイル内の RuntimeHostConfigurationOption
項目として、IMsoComponent
サポートをオプトインできます。
runtimeconfig.json ファイル:
{
"configProperties": {
"Switch.System.Windows.Forms.EnableMsoComponentManager": true
}
}
プロジェクト ファイル:
<ItemGroup>
<RuntimeHostConfigurationOption Include="Switch.System.Windows.Forms.EnableMsoComponentManager" Value="true" />
</ItemGroup>
影響を受ける API
.NET