Visual Basic) /link)

يتسبب في جعل برنامج التحويل البرمجي بجعل المعلومات من نوع COM في التجميعات المحددة متوفرة لمشروعك الذي تقوم بترجمتة حالياً.

/link:fileList
' -or-
/l:fileList

الوسيطات

  • fileList
    مطلوبة. قائمة أسماء ملفات التجميع المحددة بفواصل . إذا كان اسم الملف يحتوي على مسافة، ضع الاسم ضمن علامات اقتباس.

ملاحظات

/link الخيار يتيح لك نشر أحد التطبيقات التي تم تضمنت معلومات نوع. يمكن بعد ذلك استخدام التطبيق على الأنواع في تجميع وقت التشغيل الذي يقوم بتطبيق معلومات نوع مضمن دون الحاجة إلى مرجع لتجميع وقت التشغيل. إذا كان يتم نشر الإصدارات المختلفة من تجميع وقت تشغيل ,التطبيق الذي يحتوي على معلومات نوع مضمن يمكنها العمل مع الإصدارات المختلفة دون الحاجة إلى إعادة تحويل. على سبيل المثال ، راجع الإرشادات التفصيلية: تضمين أنواع من التجميعات مدارة.

استخدام خيار /link مفيد بشكل خاص عند العمل مع توافق COM. يمكنك تضمين أنواع COM بحيث أن التطبيق الخاص بك لم يعد يتطلب إمكانية تجميع توافق الأساسي (PIA) على الكمبيوتر الهدف. الخيار/link يرشد برنامج التحويل البرمجي لتضمين معلومات نوع COM من تجميع إمكانية التشغيل المتداخل المشار إليه إلى التعليمات البرمجية الناتجة عن عملية الدمج . يتم تعريف نوع COM بواسطة قيمة CLSID (GUID) . ونتيجة لذلك، يمكن تشغيل التطبيق الخاص بك على كمبيوتر الوجهة الذي قام بتثبيت نفس أنواع COM بنفس قيم CLSID. تطبيقات أتمتة Microsoft Office هي مثال جيد. لأن التطبيقات مثل Office عادة تحتفظ بنفس قيمة CLSID عبر إصدارات مختلفة, يمكن للتطبيق الخاص بك استخدام أنواع COM المشار إليها بالإضافة إلى .NET Framework 4 أو إصدار أحدث مثبت على كمبيوتر الوجهة و يستخدم التطبيق الخاص بك الأساليب أو الخصائص أو الأحداث التي تم تضمينها في أنواع COM المشار إليها.

خيار/link يقوم بتضمين الواجهات ,والبنيات ، و المفوضين فقط. تضمين فئات COM غير معتمد.

ملاحظة

عند إنشاء مثيل لنوع COM مضمن في التعليمات البرمجية يجب عليك إنشاء المثيل باستخدام الواجهة المناسبة. محاولة إنشاء مثيل لنوع COM مضمن باستخدام أسباب CoClass يعد خطأ.

لتعيين خيار /link في Visual Studioأضف مرجع تجميع ثم عيّن خاصية Embed Interop Types لتكون "صواب true. لافتراض لـ Embed Interop Types هو false.

إذا قمت بربط تجميع COM (التجميع أ) الذي هو نفسه يشير لتجميع COM آخر (التجميع B) ، لديك أيضاً ارتباط للتجميع B إذا تحقق أي مما يلي:

  • نوع من التجميع A يرث من نوع أو يطبّق واجهة من تجميع B.

  • حقل ,أو خاصية ،أو حدث ,أو أسلوب له نوع إرجاع أو نوع معلّمة من التجميعB تم استدعاؤه.

استخدم /libpath لتحديد الدليل الذي فيه واحد أو أكثر من مراجع التجميع الخاصة بك.

اربط / مرجع خيار المحول البرمجي ، خيار المحول البرمجي /link يستخدم ملف الاستجابة Vbc.rsp، المراجع تستخدم بشكل متكرر التجميعات .NET Framework . استخدم خيار المحول البرمجي /noconfig  إذا لم تكن تريد برنامج التحويل البرمجي أن يستخدم ملف Vbc.rsp.

/link هو النموذج القصير من/l.

العوام و الأنواع المضمّنة

تصف المقاطع التالية القيود على استخدام أنواع عامة في التطبيقات التي تضمّن أنواع توافق.

الواجهات العامة

لا يمكن استخدام الواجهات العامة المضمنة من تجميع إمكانية التشغيل المتداخل. كما هو موضح في المثال التالي:

' The following code causes an error if ISampleInterface is an embedded interop type.
Dim sample As ISampleInterface(Of SampleType)

أنواع التي تتضمن معلمات عامة

الأنواع التي لديها معلّمة عامة مضمن نوعها من تجميع إمكانية التشغيل المتداخل ,لا يمكن استخدامها إذا كان هذا النوع من تجميع خارجي. لا ينطبق هذا التقييد على الواجهات. على سبيل المثال، ضع في الاعتبار واجهة Range التي يتم تعريفها في تجميع Microsoft.Office.Interop.Excel . إذا ضمّنت مكتبة أنواع إمكانية التشغيل المتداخل من تجميع Microsoft.Office.Interop.Excel ثم يعرض الأسلوب بإرجاع نوع عام يحتوي على معلمة من نوع واجهة Range ، يجب أن أن يقوم الأسلوب بإرجاع واجهة عامة ، كما هو موضح في أمثلة التعليمات البرمجية التالية.

Imports System.Collections.Generic
Imports Microsoft.Office.Interop.Excel

Class Utility
    ' The following code causes an error when called by a client assembly.
    Public Function GetRange1() As List(Of Range)


...


End Function

' The following code is valid for calls from a client assembly.
Public Function GetRange2() As IList(Of Range)


...


    End Function
End Class

في المثال التالي، يمكن لرمز العميل استدعاء الأسلوب الذي يرجع الواجهة العامة IList دون خطأ.

Module Client
    Public Sub Main()
        Dim util As New Utility()

        ' The following code causes an error.
        Dim rangeList1 As List(Of Range) = util.GetRange1()

        ' The following code is valid.
        Dim rangeList2 As List(Of Range) = CType(util.GetRange2(), List(Of Range))
    End Sub
End Module

مثال

ملف مصدر التعليمة البرمجية التالي OfficeApp.vb و تجميعات مرجع من COMData1.dll و COMData2.dll لإنتاج OfficeApp.exe.

vbc /link:COMData1.dll,COMData2.dll /out:OfficeApp.exe OfficeApp.vb

راجع أيضًا:

المهام

الإرشادات التفصيلية: تضمين أنواع من التجميعات مدارة

المرجع

Visual Basic) /reference)

noconfig/

libpath/

التحويل البرمجي لعينة من اسطر الأوامر

المبادئ

مقدمة حول توافق COM

موارد أخرى

المحول البرمجي في Visual Basic