Aracılığıyla paylaş


Nasıl Yapılır: Yapı Olaylarını Belirtme (Visual Basic)

Yapý olaylarý Visual Basic komut dosyaları, makrolar veya başka eylemler derleme işleminin bir parçası çalıştırmak için kullanılır.Pre-Build derleme önce oluşur; Post-Build olay sonra derleme oluşur.

Build olayları içinde belirtilen Build Events iletişim kutusunda, kullanılabilir derleme sayfası Proje Tasarımcısı.

[!NOT]

Visual Basic Express yapý olaylarý girişini desteklemez.Bu tam Visual Studio ürün yalnızca desteklenir.

Nasıl Pre-Build belirtin ve Post-Build olay

Bir yapý olayý belirtmek için

  1. Çözüm Gezgini içinde seçili bir proje ile, Proje menüsünde, Özellikler'i tıklayın.

  2. Tıklatın derleme sekmesi.

  3. Tıklatın Build Events açmak için düğmeyi Build Events iletişim kutusu.

  4. Pre-build veya post-build eylem komut satırı bağımsız değişkenleri girin ve ardından Tamam.

    [!NOT]

    Ekleme bir call deyimi .bat dosyaları tüm post-build komutları önce.For example, call C:\MyFile.bat or call C:\MyFile.bat call C:\MyFile2.bat.

    [!NOT]

    Pre-build veya post-build olay başarıyla tamamlanmazsa, başarılı bir eylem belirten bir kod ile sıfır (0), dışında exit olayı eyleminizi sağlayarak yapı işten çıkarabilirsiniz.

Örnek: Nasıl değiştirileceği bildirimi kullanarak Post-Build olay bilgileri

Aşağıdaki yordamda bir post-build olay adında bir .exe komut kullanarak uygulama bildirimi en düşük işletim sistemi sürümü ayarlamak gösterilmiştir (. exe.manifest dosya proje dizininde).Minimum işletim sistemi sürümü, 4.10.0.0 gibi değeri aygıtınkiyle tam olarak bir sayıdır.Bunu yapmak için komut değiştirir <dependentOS> bildirimi bölümü:

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

Uygulama bildirimi değiştirmek için bir .exe komut oluşturmak için

  1. Komut için bir konsol uygulaması oluşturun.Dan Dosya menüsünde'ı Yenive ardından Proje.

  2. İçinde Yeni bir proje iletişim kutusunda Visual Basic düğümü seçin Windows ve Console Application şablonu.Proje adı ChangeOSVersionVB.

  3. Module1.vb dosyasında aşağıdaki satırı ekleyin Imports dosyasının üst deyimleri:

    Imports System.Xml
    
  4. İçinde aşağıdaki kodu ekleyip 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
    

    Komut iki baðýmsýz deðiþken alýr.İlk bağımsız değişken uygulama bildirimi yoludur (diğer bir deyişle, klasör içinde oluşturma işlemi yaratır bildirimde, genellikle Projectname.publish).İkinci bağımsız değişken yeni bir işletim sistemi sürümüdür.

  5. Yapı menüsünde, Çözümü Derle'yi tıklatın.

  6. .Exe dosyası gibi bir dizine kopyalayın C:\TEMP\ChangeOSVersionVB.exe.

Ardından, uygulama bildirimi değiştirmek için bu komutu post-build olay harekete geçirmek.

Uygulama bildirimi değiştirmek için bir post-build olay harekete geçirmek için

  1. Yayımlanmak üzere proje için bir Windows uygulaması yaratmak.Dan Dosya menüsünde'ı Yenive ardından Proje.

  2. İçinde Yeni bir proje iletişim kutusunda Visual Basic düğümü seçin Windows ve Windows Application şablonu.Proje adı VBWinApp.

  3. Seçilen proje ile Solution Explorer, Proje menüsünde,'ı özelliklerini.

  4. Proje Tasarımcısı'nda gidin Yayınla sayfa ve set yayımlama konumu için c:\temp\.

  5. Tıklatarak Proje yayınlama Şimdi Yayınla.

    Bildirim dosyası yerleşik ve koymak C:\TEMP\VBWinApp_1_0_0_0\VBWinApp.exe.manifest.Liste görüntülemek için dosyayı sağ tıklatın ve ile açık, i Listeden programı seçmek[NULL]'ı Not.

    Dosyasında arama <osVersionInfo> öğesi.Örneğin, sürüm aşağıdaki gibi olabilir:

    <os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
    
  6. Proje Tasarımcısı'nda gidin derleme sekmesinde Build Events açmak için düğmeyi Build Events iletişim kutusu.

  7. İçinde Post-build olay komut satırı kutusunda, aşağıdaki komutu girin:

    C:\TEMP\ChangeOSVersionVB.exe "$ (TargetPath) .manifest" 5.1.2600.0

    Proje oluştururken, bu komut için 5.1.2600.0 uygulama bildirimi en düşük işletim sistemi sürümünde değiştirin.

    $(TargetPath) Makro oluşturulan yürütülebilir dosyanın tam yolunu ifade eder.Bu nedenle, $(TargetPath) .manifest bölme dizininde oluşturulan uygulama bildirimi belirleyeceksiniz.Yayımlama bu bildirimi daha önce ayarlanmış yayımlama konumuna kopyalar.

  8. Projeyi yeniden yayımlayın.Gidin Yayınla 'i tıklatın ve sayfa Şimdi Yayınla.

    Liste yeniden görüntüleyin.Yayımlama dizini için dosyayı sağ tıklatıp liste görüntülemek için Git birlikte aç ve Listeden programı seçmek[NULL]'ı Not.

    Sürüm şöyle olmalıdır:

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

Ayrıca bkz.

Görevler

Nasıl Yapılır: Yapı Olaylarını Belirtme (C#)

Başvuru

Derleme Sayfası, Proje Tasarımcısı (Visual Basic)

Yayın Sayfası, Proje Tasarımcısı

Oluşturma Öncesi Olay/Oluşturma Sonrası Olay Komut Satırı İletişim Kutusu

Diğer Kaynaklar

Derleme özelliklerini yönetme