Menentukan peristiwa build (Visual Basic)
Peristiwa build di Visual Basic dapat digunakan untuk menjalankan skrip, makro, atau tindakan lain sebagai bagian dari proses kompilasi. Peristiwa pra-build terjadi sebelum kompilasi; peristiwa pasca-build terjadi setelah kompilasi.
Peristiwa build ditentukan dalam kotak dialog Peristiwa Build, tersedia dari halaman Kompilasi Perancang Proyek.
Catatan
Visual Basic Express tidak mendukung entri peristiwa build. Ini hanya didukung dalam produk Visual Studio lengkap.
Cara menentukan peristiwa pra-build dan pasca-build
Untuk menentukan peristiwa build
Dengan proyek yang dipilih di Penjelajah Solusi, pada menu Proyek, klik Properti.
Klik tab Kompilasi.
Klik tombol Bangun Acara untuk membuka kotak dialog Bangun Peristiwa .
Masukkan argumen baris perintah untuk tindakan pra-build atau pasca-build Anda, lalu klik OK.
Catatan
call
Tambahkan pernyataan sebelum semua perintah pasca-build yang menjalankan file .bat. Misalnya,call C:\MyFile.bat
ataucall C:\MyFile.bat call C:\MyFile2.bat
.Catatan
Jika peristiwa pra-build atau pasca-build Anda tidak berhasil diselesaikan, Anda dapat mengakhiri build dengan meminta tindakan peristiwa Anda keluar dengan kode selain nol (0), yang menunjukkan tindakan yang berhasil.
Contoh: Cara mengubah informasi manifes menggunakan peristiwa pasca-build
Prosedur berikut menunjukkan cara mengatur versi sistem operasi minimum dalam manifes aplikasi menggunakan perintah .exe yang dipanggil dari peristiwa pasca-build (file .exe.manifest di direktori proyek). Versi sistem operasi minimum adalah nomor empat bagian seperti 4.10.0.0. Untuk melakukan ini, perintah akan mengubah bagian <dependentOS>
manifes:
<dependentOS>
<osVersionInfo>
<os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
</osVersionInfo>
</dependentOS>
Untuk membuat perintah .exe untuk mengubah manifes aplikasi
Buat aplikasi konsol untuk perintah . Pada menu File, klik Baru, lalu klik Project.
Dalam kotak dialog Proyek Baru, di simpul Visual Basic , pilih Windows lalu templat Aplikasi Konsol. Beri nama proyek
ChangeOSVersionVB
.Di Module1.vb, tambahkan baris berikut ke pernyataan lain
Imports
di bagian atas file:Imports System.Xml
Tambahkan kode berikut ke
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
Perintah mengambil dua argumen. Argumen pertama adalah jalur ke manifes aplikasi (yaitu, folder tempat proses build membuat manifes, biasanya ProjectName.publish>).< Argumen kedua adalah versi sistem operasi baru.
Pada menu Build, klik Solusi Build.
Salin file .exe ke direktori seperti C:\TEMP\ChangeOSVersionVB.exe.
Selanjutnya, panggil perintah ini dalam peristiwa pasca-build untuk mengubah manifes aplikasi.
Untuk memanggil peristiwa pasca-build untuk mengubah manifes aplikasi
Buat aplikasi Windows untuk proyek yang akan diterbitkan. Pada menu File, klik Baru, lalu klik Project.
Dalam kotak dialog Proyek Baru, di simpul Visual Basic, pilih Windows Desktop lalu templat aplikasi Formulir Windows. Beri nama proyek
VBWinApp
.Dengan proyek dipilih di Penjelajah Solusi, pada menu Proyek, klik Properti.
Di Perancang Proyek, buka halaman Terbitkan dan atur Lokasi penerbitan ke C:\TEMP.
Terbitkan proyek dengan mengklik Terbitkan Sekarang.
File manifes akan dibangun dan dimasukkan ke dalam C:\TEMP\VBWinApp_1_0_0_0\VBWinApp.exe.manifest. Untuk melihat manifes, klik kanan file dan klik Buka dengan, lalu klik Pilih program dari daftar, lalu klik Notepad.
Cari di file untuk
<osVersionInfo>
elemen . Misalnya, versinya mungkin:<os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
Di Perancang Proyek, buka tab Kompilasi dan klik tombol Bangun Peristiwa untuk membuka kotak dialog Bangun Peristiwa.
Dalam kotak Baris Perintah Peristiwa Pasca-build, masukkan perintah berikut ini:
C:\TEMP\ChangeOSVersionVB.exe "$(TargetPath).manifest" 5.1.2600.0
Saat Anda membangun proyek, perintah ini akan mengubah versi sistem operasi minimum dalam manifes aplikasi menjadi 5.1.2600.0.
$(TargetPath)
Makro mengekspresikan jalur lengkap untuk executable yang sedang dibuat. Oleh karena itu, $(TargetPath).manifest akan menentukan manifes aplikasi yang dibuat di direktori bin . Penerbitan akan menyalin manifes ini ke lokasi penerbitan yang Anda tetapkan sebelumnya.Terbitkan proyek lagi. Buka halaman Terbitkan dan klik Terbitkan Sekarang.
Lihat manifes lagi. Untuk melihat manifes, buka direktori terbitkan, klik kanan file dan klik Buka dengan lalu Pilih program dari daftar, lalu klik Notepad.
Versi sekarang harus dibaca:
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk