Düzeltme: .NET Framework 2.0 tabanlı bir uygulamada iki kez "System.Xml.Xsl.XslTransform.Transform" yöntemini çağırmak hata iletisi: "< değişken adı > değişkeni tanımında döngüsel başvuru"

Makale çevirileri Makale çevirileri
Makale numarası: 937320 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Microsoft .NET Framework 2.0 tabanlı bir uygulama, bir stil sayfası XML verilerini dönüştürmek için System.Xml.Xsl.XslTransform.Transform yöntemini çağırın. Bu yöntem yeniden ça??rd???n?zda, aşağıdaki hata iletisini alabilirsiniz:
System.XML.xsl.XsltException: Değişken bir variable name tanımında döngüsel başvuru
Stil Sayfası Genel değişken ileriye doğru bir başvuru içeriyorsa, bu sorun oluşur.

Çözüm

Düzeltme bilgileri

Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak, düzeltmenin yalnızca bu makalede anlatılan sorunu gidermesi amaçlanmıştır. Düzeltmeyi yalnızca bu sorunla karşılaşmış olan sistemlere uygulayın. Bu düzeltmeye ek sınama uygulanabilir. Bu nedenle, bu sorundan ciddi bir şekilde etkilenmiyorsanız, bu düzeltmeyi içeren bir sonraki .NET Framework 2.0 hizmet paketini beklemenizi öneririz.

Bu sorunu hemen çözmek için, düzeltmeyi edinmek üzere Microsoft Müşteri Destek Hizmetleri'ne başvurun. Microsoft Müşteri Destek Hizmetleri'nin telefon numaralarının tam listesi ve destek ücretleriyle ilgili bilgi için, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Not Özel durumlarda, Microsoft Destek Uzmanı özel bir güncelleştirmenin sorununuzu çözümleyeceğini belirlerse, destek aramaları için normalde uygulanan ücretler iptal edilebilir. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır.

ÖNKOŞULLAR

Bu düzeltmeyi uygulamak için .NET Framework 2.0 olması gerekir.

Yeniden başlatma gereksinimi

Bu düzeltmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekmez.

Düzeltme Değiştirme Bilgileri

Bu düzeltme başka bir düzeltmenin yerini almaz.

DOSYA BİLGİLERİ

Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki tarih ve saat öğesinde saat dilimi sekmesini kullanın.
.NET Framework 2.0 x 86 tabanlı sürümleri
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatform
System.data.sqlxml.dll2.0.50727.883716,80015 Mayıs 200719: 47X86
.NET Framework 2.0 x 64 tabanlı sürümleri
Bu tabloyu kapaBu tabloyu aç
Dosya AdıDosya SürümüDosya BoyutuTARİHSAATPlatform
System.data.sqlxml.dll2.0.50727.883716,80015 Mayıs 200719: 20X64
System.data.sqlxml.dll2.0.50727.883716,80015 Mayıs 200719: 47X86

Durum

Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır.

Daha fazla bilgi

Yazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Sorunu Yeniden Oluşturma Adımları

  1. Microsoft Visual Studio 2005'i başlatın.
  2. Dosya menüsünde, Yeni Proje'yi tıklatın.
  3. Visual C#Project türleri ' altında tıklatın.
  4. Şablonları altında Konsol uygulaması) tıklatın.
  5. Projenin adını yazın ve Tamam ' ı tıklatın.
  6. Program.cs dosyanın varolan kodu aşağıdaki kod. ile değiştirmek
    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. Aşağıdaki kodu içeren bir stil sayfası oluşturur.
    <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. Frame.htm olarak 7. adımda oluşturduğunuz stil sayfası olarak kaydedin.
  9. Stil sayfası aşağıdaki klasöre kaydedin:
    ProjectName\Bin\Debug
  10. Uygulamayı çalıştırın.

Çağrı yığını bilgileri

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)

Özellikler

Makale numarası: 937320 - Last Review: 3 Aralık 2007 Pazartesi - Gözden geçirme: 1.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft .NET Framework 2.0
Anahtar Kelimeler: 
kbmt kbexpertiseadvanced kbfix kbpubtypekc kbqfe kbhotfixserver KB937320 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:937320

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com