次の方法で共有


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