Udostępnij za pośrednictwem


Obsługa aplikacji IMsoComponent jest włączona

Wprowadzono zmianę, aby uniknąć zawsze rejestrowania wątków formularzy systemu Windows przy użyciu istniejących wystąpień IMsoComponentManager . Można jednak wyrazić zgodę na zarejestrowanie istniejących IMsoComponentManager wystąpień w wątkach windows Forms.

Wprowadzona wersja

.NET 9 (wersja zapoznawcza 2)

Poprzednie zachowanie

Wcześniej wątki formularzy systemu Windows zawsze były rejestrowane przy użyciu istniejących IMsoComponentManager wystąpień.

Nowe zachowanie

Począwszy od platformy .NET 9, wątki windows Forms nie są automatycznie integrowane z zarejestrowanym IMsoComponentManagersprocesem. Aby przywrócić poprzednie zachowanie, ustaw przełącznik Switch.System.Windows.Forms.EnableMsoComponentManager.

Kategoria zmiany

Ta zmiana jest zmianą behawioralną.

Przyczyna wprowadzenia zmiany

Ta zmiana została wprowadzona pod kątem wydajności i wydajności. Poprzednie zachowanie przedstawiało wiele obciążeń, ponieważ używało modelu COM, a nie wszyscy deweloperzy potrzebują tego zachowania.

Jeśli chcesz przywrócić poprzednie zachowanie, możesz wyrazić zgodę na IMsoComponent obsługę przy użyciu przełącznika w pliku runtimeconfig.json lub jako RuntimeHostConfigurationOption elementu w pliku projektu.

plik runtimeconfig.json:

{
  "configProperties": {
    "Switch.System.Windows.Forms.EnableMsoComponentManager": true
 }
}

Plik projektu:

<ItemGroup>
  <RuntimeHostConfigurationOption Include="Switch.System.Windows.Forms.EnableMsoComponentManager" Value="true" />
</ItemGroup>

Dotyczy interfejsów API