DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 937320 - Geändert am: Montag, 3. Dezember 2007 - Version: 1.1

Hotfix-Download ist verfügbar
Hotfix-Downloads anzeigen und anfordern
 
 

Auf dieser Seite

Problembeschreibung

In einer Microsoft .NET Framework 2.0-basierte Anwendung rufen Sie die System.Xml.Xsl.XslTransform.Transform -Methode zum Transformieren von XML-Daten aus einem Stylesheet. Wenn Sie diese Methode erneut aufrufen, erhalten Sie folgende Fehlermeldung:
System.Xml.Xsl.XsltException: Zirkulärer Verweis in der Definition der Variablen variable name
Dieses Problem tritt auf, wenn das Stylesheet einen Vorwärtsverweis auf eine globale Variable enthält.

Lösung

Hotfix-Informationen

Ein unterstützter Hotfix ist inzwischen von Microsoft. Es ist jedoch nur die Behebung des Problems die in diesem Artikel beschriebene vorgesehen. Wenden Sie es nur auf Systemen, bei die dieses spezielle Problem auftritt. Dieser Hotfix wird unter Umständen zu einem späteren Zeitpunkt weiteren Tests unterzogen. Wenn Sie durch dieses Problem nicht schwerwiegend betroffen sind, empfiehlt Microsoft daher, auf das nächste .NET Framework 2.0 Servicepack warten, das diesen Hotfix enthält wird.

Dieses Problem sofort beheben möchten, wenden Sie sich an Microsoft Support Services, um den Hotfix zu erhalten. Eine vollständige Liste mit Telefonnummern der Microsoft Product Support Services und Informationen über Supportkosten der folgenden Microsoft-Website:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Hinweis: PLEASE DO NOT TRANSLATE and DELETE THIS PASSAGE. IT DOES NOT APPLY TO GERMANY.

Voraussetzungen

Sie müssen .NET Framework 2.0 installiert haben, um diesen Hotfix installieren ist.

Neustartanforderung

Sie müssen den Computer nach Installation dieses Hotfixes neu starten.

Ersetzte Hotfixes

Dieser Hotfix ersetzt keine anderen Hotfixes.

Dateiinformationen

Die englische Version dieses Hotfixes weist die Dateiattribute (oder höher Dateiattribute), die in der folgenden Tabelle aufgelistet werden. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert. Verwenden Sie die Registerkarte Zeitzone im Element Datum und Uhrzeit in der Systemsteuerung, um die Differenz zwischen UTC und der Ortszeit zu ermitteln.
.NET Framework 2.0 x 86-basierte Versionen
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
System.Data.SQLXML.dll2.0.50727.883716,80015-Mai 200719: 47X 86
.NET Framework 2.0 x 64-basierte Versionen
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
System.Data.SQLXML.dll2.0.50727.883716,80015-Mai 200719: 20X 64
System.Data.SQLXML.dll2.0.50727.883716,80015-Mai 200719: 47X 86

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind.

Weitere Informationen

Weitere Informationen zur Terminologie für Softwareupdates finden Sie im folgenden Artikel der Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Erläuterung von Standardbegriffen bei Microsoft Softwareupdates

Schritte zum Reproduzieren des Problems

  1. Starten Sie Microsoft Visual Studio 2005.
  2. Klicken Sie im Menü Datei auf Neues Projekt .
  3. Klicken Sie unter Projekttypen auf Visual c# .
  4. Klicken Sie unter Vorlagen auf Konsolenanwendung .
  5. Geben Sie einen Projektnamen, und klicken Sie dann auf OK .
  6. Ersetzen Sie in der Datei Program.cs den vorhandenen Code mit den folgenden Code
    using System.Xml.Xsl;
    
    class Repro {
        static void Main(string[] args) {
            XslTransform trans = new XslTransform();
            trans.Load("repro.xsl");
            trans.Transform("repro.xsl", "repro1.out");
            trans.Transform("repro.xsl", "repro.out");
        }
    }
    
  7. Erstellt ein Stylesheet, das den folgenden Code enthält.
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:variable name="variable1" select="$variable2"/>
      <xsl:variable name="variable2"/>
    </xsl:stylesheet>
  8. Speichern Sie das Stylesheet, das Sie im Schritt 7 als "Frame.htm" erstellt haben.
  9. Speichern Sie das Stylesheet, in dem folgenden Ordner:
    ProjectName\Bin\debug
  10. Führen Sie die Anwendung aus.

Aufruf-Stack-Informationen

Unhandled Exception: System.Xml.Xsl.XsltException: Circular reference in the definition of variable 'variable2'.
   at System.Xml.Xsl.XsltOld.Processor.GetVariableValue(VariableAction variable)
   at System.Xml.Xsl.XsltOld.XsltCompileContext.EvaluateVariable(VariableAction variable)
   at System.Xml.Xsl.XsltOld.VariableAction.System.Xml.Xsl.IXsltContextVariable.Evaluate(XsltContext xsltContext)
   at MS.Internal.Xml.XPath.VariableQuery.Evaluate(XPathNodeIterator nodeIterator)
   at System.Xml.Xsl.XsltOld.Processor.RunQuery(ActionFrame context, Int32 key)
   at System.Xml.Xsl.XsltOld.VariableAction.Execute(Processor processor, ActionFrame frame)
   at System.Xml.Xsl.XsltOld.ActionFrame.Execute(Processor processor)
   at System.Xml.Xsl.XsltOld.Processor.Execute()
   at System.Xml.Xsl.XsltOld.Processor.Execute(Stream stream)
   at System.Xml.Xsl.XslTransform.Transform(XPathNavigator input, XsltArgumentList args, Stream output, XmlResolver resolver)
   at System.Xml.Xsl.XslTransform.Transform(String inputfile, String outputfile, XmlResolver resolver)
   at System.Xml.Xsl.XslTransform.Transform(String inputfile, String outputfile)
   at Repro.Main(String[] args)

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft .NET Framework 2.0
Keywords: 
kbmt kbexpertiseadvanced kbfix kbpubtypekc kbqfe kbhotfixserver KB937320 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 937320  (http://support.microsoft.com/kb/937320/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store