Update: Die Leistung von Anwendungen, die die Verringerung der CreateType-Methode verwenden, wie Sie ein Modul dynamische Assembly in der.NET Framework 2.0 SP2 Textobjekte mehr hinzufügen

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

970924
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Problembeschreibung
Betrachten Sie das folgende Szenario:
  • Erstellen eine Anwendung mithilfe von.NET Framework 2.0 Service Pack 2 (SP2).
  • Sie verwenden die AssemblyBuilder -Klasse im System.Reflection.Emit -Namespace zum Erstellen eines Moduls dynamische Assembly.
  • Die TypeBuilder.CreateType -Methode zum Erstellen von Type-Objekten im Modul und Sie einige Methoden zum Einfügen von Symbolinformationen in das Type-Objekt aufrufen. Beispielsweise rufen Sie die Methode ILGenerator.MarkSequencePoint .
Wenn mehr Textobjekte in das Modul eingefügt werden in diesem Szenario verringert die Leistung von Anwendungen, die die CreateType -Methode ausgeführt.
Ursache
Die Abnahme der Leistung wird durch Folgendes verursacht:
  • Die Symbole der dynamischen Assembly werden häufiger als erforderlich in einen Stream geschrieben.
  • Die Implementierung der Stream Symbole verwendet einen O(n^2) Algorithmus, um n-Byte von Symbolen zu schreiben.
Lösung

Ersetzte Hotfixes

Der Hotfix, die KB970924has entspricht, wurde ersetzt mit dem Hotfix KB981574, enthält alle Updates, die zuvor im KB970924 enthalten waren. Verwenden Sie die hotfixKB981574, um die in KB970924 beschriebenen Probleme zu beheben. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
981574 Der Splash-Bildschirm bleibt länger als gewöhnlich geöffnet, beim Starten von Excel auf einem Computer, der das.NET Framework 3.5 SP1 installiert wurde

Status
Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt "Eigenschaften" aufgeführt sind.
Weitere Informationen
Der Hotfix verschiebt das Symbol in der Methode TypeBuilder.CreateType leeren, wenn die dynamische Assembly nicht sofort ausgeführt werden. Der Hotfix ändert auch die Implementierung der Stream-Symbole, um ein o(n)-Algorithmus verwenden, um n-Byte von Symbolen zu schreiben. Diese Implementierung Änderung gilt für alle AssemblyBuilderAccess-Modi. Nachdem Sie den Hotfix installieren, wird die Leistung erheblich verbessern. Die Speicherauslastung wird jedoch ebenfalls erhöht.

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 970924 – Letzte Überarbeitung: 01/16/2015 06:18:00 – Revision: 2.0

  • Microsoft .NET Framework 2.0 Service Pack 2
  • kbnosurvey kbarchive kbhotfixserver kbexpertiseadvanced kbqfe kbsurveynew kbmt KB970924 KbMtde
Feedback