كيفية القيام بما يلي: تحديد الأحداث بنية (Visual Basic)

بنية الأحداث في Visual Basic التي يمكن استخدامها لتشغيل البرامج النصية أو وحدات الماكرو أو الإجراءات الأخرى كجزء من عملية التحويل البرمجي. يتم إجراء الأحداث pre-بنية قبل التحويل البرمجي; ينشر-بنية الأحداث بعد التحويل البرمجي.

بنية الأحداث المحددة في بنية أحداث مربع حوار المتوفرة من الصفحة يحول برمجياً مصمم مشروع.

كيف تحدد أحداث ما قبل البناء و ما بعد البناء

لتحديد حدث البناء

  1. مع المشاريع المختارة في حل مستكشفعلى المشروع انقر فوق القائمة الخصائص.

  2. انقر فوقالمحول البرمجياً علامة تبويب.

  3. انقر فوق الزر بنية أحداث لفتح مربع حوار بنية أحداث.

  4. Enter الزر الزر وسائط خط الأوامر للإجراء pre-بنية أو ينشر-بنية ومن ثم انقر فوق ‏‏موافق .

    ملاحظة

    قم بإضافة callبيان قبل كل أوامر بعد البناء التي تشغل ملفات .bat. على سبيل المثال، call C:\MyFile.batأوcall C:\MyFile.bat call C:\MyFile2.bat

    ملاحظة

    إذا الحدث pre-بنية أو ينشر-بنية يتم إكمال بنجاح يمكن ينهي البنية بجعل الإجراء الحدث ينهي مع تعليمات برمجية أخرى غير الصفر (0) ، والتي تشير إلى إجراء بنجاح.

مثال: كيفية تغيير معلومات بيان استخدام ينشر-حدث البنية

يوضح الإجراء التالي كيفية تعيين إصدار نظام تشغيل الأدنى في بيان التطبيق باستخدام أمر .exe استدعاؤها من ينشر-حدث البنية (. exe.manifest الملف في دليل المشروع). التشغيل الأدنى النظام الإصدار رقم four-part مثل 4.10.0.0. للقيام بذلك، سيتم تغيير الأمر <dependentOS> مقطع من الملف الظاهر:

<dependentOS>
   <osVersionInfo>
      <os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
   </osVersionInfo>
</dependentOS>

لإنشاء أمر .exe لتغيير بيان التطبيق

  1. إنشاء تطبيق وحدة للأمر. من القائمة File، انقر فوق New، ثم انقر فوق Project.

  2. تحديد في مشروع جديد مربع حوار في العقدة Visual Basic Windows ثم تحديد القالب تطبيق وحدة تحكم. اسم المشروع ChangeOSVersionVB.

  3. في Module1.vb ، إضافة الخط التالي إلى أخرى Importsعبارات في أعلى الملف:

    Imports System.Xml
    
  4. قم بإضافة التعليمات البرمجية التالية إلى Sub Main.

    Sub Main()
       Dim applicationManifestPath As String
       applicationManifestPath = My.Application.CommandLineArgs(0)
       Console.WriteLine("Application Manifest Path: " & applicationManifestPath.ToString)
    
       'Get version name
       Dim osVersion As Version
       If My.Application.CommandLineArgs.Count >= 2 Then
          osVersion = New Version(My.Application.CommandLineArgs(1).ToString)
       Else
          Throw New ArgumentException("OS Version not specified.")
       End If
       Console.WriteLine("Desired OS Version: " & osVersion.ToString())
    
    
       Dim document As XmlDocument
       Dim namespaceManager As XmlNamespaceManager
       namespaceManager = New XmlNamespaceManager(New NameTable())
       With namespaceManager
          .AddNamespace("asmv1", "urn:schemas-microsoft-com:asm.v1")
          .AddNamespace("asmv2", "urn:schemas-microsoft-com:asm.v2")
       End With
    
       document = New XmlDocument()
       document.Load(applicationManifestPath)
    
       Dim baseXPath As String
       baseXPath = "/asmv1:assembly/asmv2:dependency/asmv2:dependentOS/asmv2:osVersionInfo/asmv2:os"
    
       'Change minimum required OS Version.
       Dim node As XmlNode
       node = document.SelectSingleNode(baseXPath, namespaceManager)
       node.Attributes("majorVersion").Value = osVersion.Major.ToString()
       node.Attributes("minorVersion").Value = osVersion.Minor.ToString()
       node.Attributes("buildNumber").Value = osVersion.Build.ToString()
       node.Attributes("servicePackMajor").Value = osVersion.Revision.ToString()
    
       document.Save(applicationManifestPath)
    End Sub
    

    يأخذ الأمر الوسيطتين. الوسيطة الأولى هو المسار إلى بيان التطبيق على (أي، المجلد فيه عملية البنية ببنية ملف البيان Projectname.ينشر عادة). الوسيطة الثانية هو نظام تشغيل الجديد الإصدار.

  5. من القائمة Build (إنشاء)، انقر فوق Build Solution (إنشاء الحل).

  6. نسخ ملف .exe إلى الدليل مثل C:\TEMP\ChangeOSVersionVB.exe.

بعد ذلك، استدعاء هذا الأمر في ينشر-حدث البنية لتغيير بيان التطبيق.

استدعاء ينشر-حدث البنية لتغيير بيان التطبيق

  1. إنشاء تطبيقات Windows للمشروع إلى ليتم نشره. من القائمة File، انقر فوق New، ثم انقر فوق Project.

  2. تحديد في مشروع جديد مربع حوار في العقدة Visual Basic Windows ثم تحديد القالب تطبيق وحدة تحكم. اسم المشروع VBWinApp.

  3. مع مشروع مختار في Solution Explorerعلى قائمة Project انقر Properties.

  4. في مصمم المشروع, انتقل إلى الصفحة نشر وتعيين الموقع النشر C:\TEMP\ إلى.

  5. ينشر المشروع عن طريق النقر فوق أنشر الآن.

    سيتم إنشاء ملف بيان ووضع في C:\TEMP\VBWinApp_1_0_0_0\VBWinApp.exe.manifest. إلى عرض البيان, ينقر على اليمين الملف ثم انقر فوق فتح باستخدام, ثم انقر فوق تحديد البرنامج من قائمةثم انقر فوق المفكرة.

    البحث في هذا الملف للحصول على سلسلة <osVersionInfo>. على سبيل المثال، قد يكون الإدخال

    <os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
    
  6. في مصمم المشروع, انتقل إلى التبويب ترجمة ثم انقر فوق الزر أحداث البناء لفتح مربع حوار أحداث البناء.

  7. في المربع خط أوامر حدث ينشر-بنية Enter الزر الزر الأمر التالي:

    C:\TEMP\ChangeOSVersionVB.exe "(TargetPath) $ .بيان" 5.1.2600.0

    عند بنية المشروع هذا الأمر تغيير نظام تشغيل الأدنى الإصدار في التطبيق البيان 5.1.2600.0.

    $(TargetPath)الماكرو يعبر عن مسار كامل للعملية التنفيذية الجاري إنشاؤه. لذلك، سوف .manifest (TargetPath) $ تحديد بيان التطبيق الذي تم إنشاؤه في سلة الدليل. سينسخ النشر هذا البيان إلى الموقع النشر التي تم تعيينها مسبقًا.

  8. قم بينشر المشروع مرة أخرى. انقر فوق صفحة نشر ، ثم انقر فوق انشر الآن.

    عرض البيان مرة أخرى. لعرض الملف الظاهر انتقل إلى الدليل الينشر ينقر على اليمين الملف ثم فوق فتح باستخدام تحديد الرنامج من قائمة, ثم انقر فوق المفكرة.

    يجب الآن قراءة الإصدار:

    <os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />
    

راجع أيضًا:

المهام

كيفية القيام بما يلي: تحديد أحداث بناء (C#)

المرجع

صفحة التحويل البرمجي، مصمم المشروع (Visual Basic)

صفحة النشر، مصمم المشروع

مربع حوار سطر أوامر حدث قبل البناء/حدث بعد البناء

موارد أخرى

إدارة خصائص التجميع