FIX: رسالة خطأ عند استدعاء الأسلوب "System.Xml.Xsl.XslTransform.Transform" مرتين في تطبيق يستند إلى .NET Framework 2.0: "مرجع معاد في تعريف المتغير < اسم المتغير >"

ترجمات الموضوعات ترجمات الموضوعات
معرف المقالة: 937320 - عرض المنتجات التي تنطبق عليها هذه المقالة.
توسيع الكل | طي الكل

في هذه الصفحة

الأعراض

في تطبيق يستند إلى .NET Framework 2.0 Microsoft ، يمكنك استدعاء الأسلوب System.Xml.Xsl.XslTransform.Transform تحويل بيانات XML من ورقة أنماط. عند استدعاء هذا الأسلوب مرة أخرى, قد تتلقى رسالة الخطأ التالية:
System.Xml.Xsl.XsltException: مرجع معاد في تعريف متغير variable name
تحدث هذه المشكلة عند ورقة نمط تحتوي على مرجع إلى الأمام إلى متغير عمومي.

الحل

معلومات الإصلاح العاجل

يتوفر الآن إصلاح عاجل معتمد من Microsoft. ولكن الغرض منه هو حل المشكلة الموضحة في هذه المقالة فقط. لذلك يجب استخدامه فقط مع الأنظمة التي تواجه هذه المشكلة بالتحديد. قد يتم إجراء اختبارات إضافية على هذا الإصلاح العاجل. ولذلك، إذا لم يكن تأثير هذه المشكلة كبيرًا، نوصي بالانتظار حتى الإصدار التالي من حزمة خدمة .NET Framework 2.0 والذي يحتوي على هذا الإصلاح العاجل.

لحل هذه المشكلة فورًا، اتصل بخدمات دعم العملاء في Microsoft "للحصول على الإصلاح العاجل. للحصول على قائمة كاملة بأرقام الهاتف الخاصة بخدمات دعم العملاء في Microsoft وعلى معلومات حول تكاليف الدعم، قم بزيارة موقع Microsoft التالي على الويب:
http://support.microsoft.com/contactus/?ws=support
ملاحظة في بعض الحالات، قد يتم إلغاء المصروفات التي تُحتسب عادةً على مكالمات الدعم إذا قرر إخصائي الدعم لدى Microsoft أن تحديثًا معينًا سوف يعمل على حل المشكلة. سيتم تطبيق تكاليف الدعم المعتادة على أسئلة الدعم الإضافية والمشكلات التي لا يعمل على حلها هذا التحديث.

المتطلبات الأساسية

يجب أن يكون لديك .NET Framework 2.0 تثبيت تطبيق هذا الإصلاح العاجل.

متطلب إعادة تشغيل

ليس لديك إلى إعادة تشغيل جهاز الكمبيوتر بعد تطبيق هذا الإصلاح العاجل.

معلومات استبدال الإصلاح العاجل

لا يحل هذا الإصلاح العاجل محل أية إصلاحات جديدة أخرى.

معلومات الملف

يحتوي إصدار اللغة الإنجليزية من هذا الإصلاح العاجل سمات الملف (أو أحدث منها) المسردة في الجدول التالي. يتم سرد التواريخ والأوقات الخاصة بهذه الملفات في "حسب التوقيت العالمي" (UTC). عندما تقوم بعرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي (UTC) والتوقيت المحلي، استخدم علامة التبويب المنطقة الزمنية في عنصر التاريخ والوقت في "لوحة التحكم".
.NET Framework 2.0 ، x 86-based الإصدارات
طي هذا الجدولتوسيع هذا الجدول
اسم الملفإصدار الملفحجم الملفتاريخالوقتالنظام الأساسي
System.data.sqlxml.dll2.0.50727.883716,80015 مايو ٢٠٠٧19: 47x 86
.NET Framework 2.0 ، x الإصدارات التي تستند إلى 64
طي هذا الجدولتوسيع هذا الجدول
اسم الملفإصدار الملفحجم الملفتاريخالوقتالنظام الأساسي
System.data.sqlxml.dll2.0.50727.883716,80015 مايو ٢٠٠٧19: 20x 64
System.data.sqlxml.dll2.0.50727.883716,80015 مايو ٢٠٠٧19: 47x 86

تصريح

أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "تنطبق على".

معلومات أخرى

لمزيد من المعلومات حول مصطلحات تحديث البرامج "، انقر فوق رقم المقالة التالي لعرضها في" قاعدة المعارف لـ Microsoft:
824684وصف للمصطلحات القياسية المستخدمة في وصف تحديثات برامج Microsoft

خطوات إعادة إنشاء المشكلة

  1. بدء تشغيل Microsoft Visual Studio 2005.
  2. من القائمة ملف، انقر فوق مشروع جديد.
  3. ضمن أنواع Project انقر فوق Visual C#.
  4. ضمن قوالب ، انقر فوق تطبيق وحدة التحكم.
  5. اكتب اسم مشروع ثم انقر فوق موافق.
  6. في ملف Program.cs استبدال التعليمات البرمجية الموجودة مع التعليمات البرمجية التالية.
    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. إنشاء ورقة أنماط تحتوي على التعليمة البرمجية التالية.
    <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. حفظ ورقة النمط الذي قمت بإنشائه في الخطوة 7 كـ Frame.htm.
  9. حفظ ورقة أنماط إلى المجلد التالي:
    ProjectName\Bin\Debug
  10. قم بتشغيل التطبيق.

معلومات مكدس المكالمة

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)

الخصائص

معرف المقالة: 937320 - تاريخ آخر مراجعة: 23/ذو القعدة/1428 - مراجعة: 1.1
تنطبق على
  • Microsoft .NET Framework 2.0
كلمات أساسية: 
kbmt kbexpertiseadvanced kbfix kbpubtypekc kbqfe kbhotfixserver KB937320 KbMtar
ترجمة آلية
هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية
اضغط هنا لرابط المقالة باللغة الانجليزية937320

إرسال ملاحظات

 

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