كيفية القيام بما يلي: تكوين.NET المكونات المستندة إلى إطار عمل لتنشيط التسجيل حر

تسجيل-حر تنشيط for .NET Framework-based مكونات هو فقط slightly المزيد complicated than it هو for COM مكونات. The setup يتطلب الثاني بيانات:

  • COM applications must have a Win32-النمط بيان تطبيق إلى identify the مدارة مكوّن.

  • .NET Framework-based مكونات must have a مكوّن بيان for تنشيط معلومات needed at تشغيل الوقت.

This موضوع describes how إلى associate an بيان تطبيق مع an تطبيق; associate a مكوّن manifest مع a مكوّن; و يضمّن a مكوّن manifest في an تجميع.

إلى إنشاء an بيان تطبيق

  1. Using an محرر XML, إنشاء (أو تعديل) the بيان تطبيق owned بواسطة the COM تطبيق that هو interoperating مع واحد أو المزيد مدارة مكونات.

  2. إدراج the following قياسي عنوان at the beginning of the ملف:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    

    For معلومات حول بيان عناصر و their السمات, بحث for "تطبيق بيانات مرجع" في the MSDN مكتبة.

  3. Identify the مالك of the بيان. في المثال التالي، myComAppالإصدار 1 يملك البيان ملف.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <assemblyIdentity type="win32" 
                        name="myOrganization.myDivision.myComApp" 
                        version="1.0.0.0" 
                        processorArchitecture="msil" 
      />
    
  4. قم بتعريف تجميعات التابعة. في ما يلي مثال، myComAppيعتمد تشغيل myManagedComp.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <assemblyIdentity type="win32" 
                        name="myOrganization.myDivision.myComApp" 
                        version="1.0.0.0" 
                        processorArchitecture="x86" 
                        publicKeyToken="8275b28176rcbbef"
      />
      <dependency>
        <dependentAssembly>
          <assemblyIdentity type="win32" 
                        name="myOrganization.myDivision.myManagedComp" 
                        version="6.0.0.0" 
                        processorArchitecture="X86" 
                        publicKeyToken="8275b28176rcbbef"
          />
        </dependentAssembly>
      </dependency>
    </assembly>
    
  5. حفظ وقم بتسمية الملف الظاهري ملف. الاسم تطبيق البيان هو اسم تجميع التنفيذي متبوعة بملحق.بيان. على سبيل المثال، تطبيق هو اسم ملف البيان ل myComApp.exe myComApp.exe.بيان.

يمكنك يثّبت ملف بيان تطبيق في نفس الدليل كـ التطبيق COM.بدلاً من ذلك، فيمكنك إضافته كمورد إلى ملف.exe للتطبيق.لمزيد من المعلومات، ابحث عن "Side-بواسطة-side تجميعات" في مكتبة MSDN.

لإنشاء مكون بيان

  1. باستخدام محرر XML، إنشاء مكون بيان لوصف تجميع التي تمت إدارتها.

  2. إدراج the following قياسي عنوان at the beginning of the ملف:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    
  3. قم بتعريف المالك ملف. <assemblyIdentity>عنصر <dependentAssembly>عنصر في ملف البيان للتطبيق ملف يجب أن تتطابق مع تلك الموجودة في ملف البيان مكوّن. في المثال التالي، myManagedCompيملك الإصدار 1.2.3.4 البيان ملف.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
           <assemblyIdentity
                        name="myOrganization.myDivision.myManagedComp"
                        version="1.2.3.4"
                        publicKeyToken="8275b28176rcbbef"
                        processorArchitecture="msil"
           />
    
  4. قم بتعريف كل فئة في تجميع. استخدام <clrClass>عنصر إلى تعرف بشكل فريد كل فئة في تجميع المدارة. العنصر، الذي هو فرعي من <assembly>عنصر، يحتوي على السمات الموصوفة في الجدول التالي.

    السمة

    الوصف

    ضروري

    clsid

    معرّف يحدد الفئة إلى يتم تنشيطها.

    نعم

    description

    سلسلة التي تقوم بإعلام مستخدم حول مكوّن. سلسلة فارغ هو الافتراضي.

    لا

    name

    سلسلة تمثل مدارة فئة.

    نعم

    progid

    المعرف إلى سيستخدم من أجل تنشيط منضم المتأخرة.

    لا

    threadingModel

    نموذج مؤشر الترابط COM. " كل من"هو القيمة افتراضية.

    لا

    runtimeVersion

    قم بتعيين الإصدار وقت التشغيل (CLR) عام باللغة إلى استخدامها. في حالة عدم تحديد رقم هو السمة و CLR هو بالفعل تم تحميله، مكوّن هو تم تحميله باستخدام أحدث CLR المثبت قبل إلى CLR الإصدار 4. إذا قمت بتحديد v1.0.3705 أو v1.1.4322 v2.0.50727، الإصدار تلقائياً تتحرك إعادة توجيه مكالمة إلى أحدث CLR الإصدار المثبت قبل إلى CLR الإصدار 4 (عادة v2.0.50727). إذا كان إصدار آخر من CLR هو تم تحميلهها بالفعل، ويمكن تم تحميله الإصدار المعين جنبا إلى جنب قيد التشغيل، الإصدار المحدد هو تم تحميله؛ otherwهوe، تم تحميله CLR هو المستخدمة. قد يتسبب هذا في فشل تحميل.

    لا

    tlbid

    المعرّف نوع المكتبة التي تحتوي على نوع معلومات حول الفئة.

    لا

    الجميع علامات السمات حساسة لحالة الأحرف. يمكنك الحصول على معرفات CLSID، ProgIDs، الترابط نماذج، و الإصدار وقت التشغيل مع عرض مكتبة النوع الذي تم تصديره للتجميع مع ObjectViewer OLE/COM (Oleview.exe).

    مكوّن التالي بيان يحدد فئتين، testClass1و testClass2.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
           <assemblyIdentity
                        name="myOrganization.myDivision.myManagedComp"
                        version="1.2.3.4" />
                        publicKeyToken="8275b28176rcbbef"
           <clrClass
                        clsid="{65722BE6-3449-4628-ABD3-74B6864F9739}"
                        progid="myManagedComp.testClass1"
                        threadingModel="Both"
                        name="myManagedComp.testClass1"
                        runtimeVersion="v1.0.3705">
           </clrClass>
           <clrClass
                        clsid="{367221D6-3559-3328-ABD3-45B6825F9732}"
                        progid="myManagedComp.testClass2"
                        threadingModel="Both"
                        name="myManagedComp.testClass2"
                        runtimeVersion="v1.0.3705">
           </clrClass>
           <file name="MyManagedComp.dll">
           </file>
    </assembly>
    
  5. حفظ وقم بتسمية الملف الظاهري ملف. اسم البيان مكوّن هو اسم المكتبة تجميع تتبع بواسطة ملحق.بيان. ل مثال، هو myManagedComp.dll myManagedComp.بيان.

يجب أن تقوم بتضمين مكوّن بيان كمورد في تجميع.

إلى تضمين بيان مكون في تجميع مدارة

  1. إنشاء برنامج نصي مورد يحتوي على العبارة التالية:

    RT_MANIFEST 1 myManagedComp.manifest

    في هذا البيان، myManagedComp.manifestهو اسم ملف البيان مكوّن نص مضمن. على سبيل المثال، يكون اسم ملف برنامج نصي myresource.rc.

  2. يحول برمجياً برنامج نصي باستخدام "مورد Windows Microsoft Office 2010 Suite" يحول برمجياً r (Rc.exe). في موجه الأوامر، اكتب الأمر التالي:

    rc myresource.rc

    يعطي Rc.exe myresource.resمورد ملف.

  3. ترجمة الملف المصدر الخاص بالتجميع مرة أخرى وحدد الملف مورد باستخدام /win32resخيار:

    /win32res:myresource.res
    

    مرة أخرى، myresource.resهو اسم ملف مورد الذي يحتوي على الموارد المضمنة.

راجع أيضًا:

المبادئ

متطلبات للتسجيل-حر توافق COM

تكوين COM مكونات متوفر على تسجيل لتنشيط

موارد أخرى

تسجيل-حر توافق COM

متوفر بالتسجيل تنشيط المكونات المستندة إلى.NET: على معاينة