مشاركة عبر


مقدمة إلى مشروع الامتداد

طراز الكائن متوفر ببساطة بإضافة مراجع التجميعات VSLangProj المشروع: تجميعات VSLangProj.dll و VSLangProj2.dll VSLangProj80.dll و VSLangProj90.dll. لمزيد من المعلومات، راجع كيفية القيام بما يلي: إضافة أو إزالة المراجع في ‏‫Visual Studio. وهذا يعني أن طراز الكائن يتوفر الماكرو، إضافة-وظائف و أي نوع من المشروع الذي يجب توسيع أو أتمتة IDE. يتم كتابة وحدات ماكرو في بيئة التطوير المتكاملة وحدات الماكرو باستخدام Visual Basic. تتم كتابة الأمثلة في المواضيع في Visual Basicو #Visual Cاللغات. للحصول على أكثر راجع معلومات حول كيفية تشغيل الأمثلة التالية، كيفية: الترجمة وإعادة تشغيل أمثلة التعليمات البرمجية لطراز كائن التنفيذ التلقائي. قد تتم كتابة زر 'زر 'Ins'' الإضافية في أي Visual Studioاستضافة اللغة, مثل Visual Basic، #Visual C, و Visual C++. تتضمن المواضيع مرجع و ، و الأعضاء بناء الجملة لكل من هذه اللغات. للحصول على وصف أنواع المشروع التنفيذ التلقائي وقدرات الأتمتة راجع إنشاء الوظائف الإضافية ومعالجات.

VSLangProj و VSLangProj2 VSLangProj80 و مساحات الأسماء VSLangProj90

تحتوي هذه مساحات الاسم الفئات والكل الواجهات التعدادات Visual Basicو #Visual Cالمشاريع. للحصول على قائمة كاملة بالكائنات في مساحة الاسم راجع Visual Basic و ‏‫#Visual C الامتداد طراز كائن لمشاريع.

خطأ يمكن استخدام التجميعات VSLangProj مع EnvDTE التجميع

إذا قمت بإنشاء مشروع مراجع واحد أو أكثر من التجميعات VSLangProj و EnvDTEالتجميع, يمكنك الحصول أحيانًا على الخطأ التالي في وقت التشغيل:

استثناء غير معالج System.IO.FileNotFoundException حدث خطأ أثناء تحميل ملف ' EnvDTE الإصدار = 7.0.3300.0 "

هذا الخطأ المستحق إلى تعارض دقة نوع وقت تشغيل. أي الإصدار من EnvDTEالمضمن مع Visual Studio 20058.0.xx ، لكن مرجع التكوين للمشروع تبحث عنه إصدار سابق من هذا التجميع ، 7.0.xx الإصدار. لحل هذه المشكلة، يجب إضافة توجيه ربط للحصول على إصدار أحدث من EnvDTEإلى ملف تكوين (.config) المشروع الخاص بك. سيؤدي هذا إلى تمكين Visual Studioتحميل الإصدار الأحدث من EnvDTEو منع حدوث الخطأ.

للقيام بذلك، قم بإضافة "ملف تكوين تطبيق" إلى المشروع ثم قم باستبدال محتوياته بما يلي:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-
        com:asm.v1" appliesTo="v2.0.50318">
            <dependentAssembly>
                <assemblyIdentity name="EnvDTE" publicKeyToken=
                "b03f5f7f11d50a3a"/>
                <bindingRedirect oldVersion="7.0.3300.0" 
                newVersion="8.0.0.0"/>
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>

كائن VSProject2

يوفر هذا الكائن الوصول إلى الكائنات الأخرى في الطراز القابلية للتوسعة. يتمثل DTE كائن المستوى الأعلى في Visual Studioطراز التنفيذ التلقائي. مشروع طراز القابلية للتوسعة عام يتم تمثيل بواسطة عام Projectالكائن. Projectيحتوي الكائن Objectالخاصية. يتم تحديد نوع هذه الخاصية أثناء وقت التشغيل بواسطة لغة المشروع. في مشروع ماكرو Visual Basicتقوم الخاصية بإرجاع كائن من النوع #Visual C. لأن نوع Objectخاصية كائن ، يجب تحويل المرجع إلى اكتب VSProject2. في ماكرو أو فريق العمل سيبدو التالية إذا كان المشروع الأول Visual Basicالمشروع:

Imports EnvDTE
Imports EnvDTE80
Imports VSLangProj
Imports VSLangProj2
Imports VSLangProj80
Imports VSLangProj90
Dim proj As EnvDTE.Project
Dim vsproject As VSLangProj80.VSProject2
proj = DTE.Solution.Projects.Item(1)
vsproject = CType(proj.Object, VSLangProj80.VSProject2)
using EnvDTE;
using EnvDTE80;
using EnvDTE90;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
EnvDTE.Project proj;
VSLangProj80.VSproject2 vsproject;
proj = DTE2.Solution.Projects.Item(1);
vsproject = (VSLangProj80.VSProject2)proj.Object;

بعد الرجوع VSProject2العنصر, يمكنك التعامل معها خصائص المشروع, التكوينات ، الملفات، عبارات الاستيراد والمجلدات المراجع.

لمزيد من المعلومات، راجع مقدمة إلى كائن VSProject2.

مراجع والكائنات المرجع

Referencesالخاصية مضمن بواسطة VSProject2الكائن ، تحتوي على مجموعة من Reference3الكائنات. Reference3الكائن يمثل مرجعاً مشروع بشكل أساسي للقراءة فقط كائن يدعم وهو Removeالأسلوب. Referencesدعم لإضافة مراجع للكائن (COM ، تجميعات .NET ActiveX ، المشاريع الأخرى) أحداث (إضافة و إزالة و تغيير مراجع) وإصدار.

Referencesلا يحتوي الكائن على مراجع ويب من المشروع. قد يمكن استرداد مراجع الويب لأحد المشاريع عن طريق الوصول إلى الخاصية ProjectItems من WebReferencesFolder.

لمزيد من المعلومات وللحصول أمثلة تعليمات برمجية راجع Referenceو Reference3الكائن، Referencesالمجموعة، Referencesالخاصية، ثم WebReferencesFolderالخاصية.

استيراد كائن

Importsمضمن بواسطة خاصية VSProject2كائن مجموعة من يحتفظ Importsالعبارات التي تنطبق إلى بالكامل Visual Basicالمشروع. إذا تمت تمت الإضافة عبارة استيراد إلى هذه المجموعة المطابق Importsعبارة (على سبيل المثال، Imports VSLangProj) لم يتم إضافته إلى ‏‏رمز الملف. يعتمد هذا الكائن إضافة إزالة عبارات الاستيراد وإصدار الأحداث في الاستجابة إلى إضافة عبارات وإزالتها. لا توجد أية مكافئ في #Visual Cمشروع، و VSProject2.Importsالخاصية بإرجاع Nothingأو nullعند تطبيق إلى #Visual Cالمشروع. لمزيد من المعلومات، راجع Imports.

VSProjectItem والكائنات BuildManager

VSProjectItemهو المشروع العنصر المطابقة للنسخة من VSProject2الكائن. في الطراز القابلية للتوسعة عامة عام ProjectItemيمثل كائن عنصر المشروع. Objectخاصية من نوع كائن وهو في Visual Basicأو #Visual Cنوع الخاصية هذا المشروع، VSProjectItem. الكائن لكتابة ببث VSProjectItemتبدو هكذا في ماكرو:

Imports EnvDTE
Imports EnvDTE80
Imports VSLangProj
Imports VSLangProj2
Imports VSLangProj80
Imports VSLangProj90
Dim pi As VSProjectItem
pi = CType(DTE2.Solution.Projects.Item(1).ProjectItems.Item(1)._
    Object, VSProjectItem)
using EnvDTE;
using EnvDTE80;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
using VSLangProj90;
EnvDTE.Project proj;
VSLangProj.VSProjectItem pi;
Pi = (VSProject2)DTE2.Solution.Projects.Item(1).ProjectItems.Item(1).
Object;

VSProjectItemيحتوي الكائن على الخصائص التي ربط عنصر المشروع الأصل أو مشروع، أو أسلوب الذي يفرض تنفيذ الأداة مخصصة على ذلك العنصر. BuildManagerالكائن مقابض أداة مخصصة الإخراج. للحصول على أكثر المعلومات راجع RunCustomToolالكائن و مقدمة إلى كائن BuildManagerالخاصية.

خصائص/الخاصية

يحتوي طراز القابلية للتوسعة العامة Propertiesالخاصية في ثلاثة كائنات:

  • Projectمتكافئة الخصائص في هذا الكائن إلى الخصائص في كائن خصائص عامة علامة تبويب من مربع حوار "الصفحات الخصائص" المشروع في IDE.

  • Projectمتكافئة الخصائص في هذا الكائن إلى الخصائص في كائن خصائص عامة علامة تبويب من مربع حوار "الصفحات الخصائص" المشروع في IDE.

  • ProjectItemمتكافئة الخصائص في هذا الكائن إلى الخصائص في كائنخصائص النافذة عند تحديد عنصر مشروع في مستكشف الحلول.

  • في كل هذه الحالة Propertiesالخاصية مجموعة من الكائنات من النوع خاصية. Propertyيمكن الحصول على كائن من مجموعة بواسطة تحديد إما الخاصية فهرس يستند إلى 1 أو الاسم الخاص به. محتويات المجموعة تعتمد على اللغة. في حالة التي عناصر المشروع أيضاً المحتويات تعتمد على ما إذا كان العنصر ملف أو مجلد.

راجع أيضًا:

المبادئ

طيف Visual Studio التنفيذ التلقائي

موارد أخرى

إنشاء الوظائف الإضافية ومعالجات