Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
Cara menentukan event pra-build dan pasca-build
Untuk melihat atau mengubah peristiwa build untuk proyek Visual Basic .NET Core atau .NET 5 dan yang lebih baru, klik kanan pada simpul proyek, dan pilih Properti (atau tekan Alt+Enter), lalu buka Peristiwa Kompilasi>. Masukkan baris perintah yang diinginkan. Direktori kerja adalah direktori output.
Untuk proyek .NET Framework, ikuti langkah-langkah berikut:
Dengan proyek yang dipilih di Solution Explorer, pada menu Proyek, klik Properties.
Klik tab Kompilasi.
Klik tombol Build Events untuk membuka kotak dialog Build Events.
Masukkan argumen baris perintah untuk tindakan pra-build atau pasca-build Anda, lalu klik OK.
Peristiwa build ditentukan dalam kotak dialog Build Events, tersedia dari halaman Kompilasi pada Project Designer.
Cara menentukan event pra-build dan pasca-build
Untuk menentukan peristiwa build
Dengan proyek yang dipilih di Solution Explorer, pada menu Proyek, klik Properties.
Klik tab Kompilasi.
Klik tombol Build Events untuk membuka kotak dialog Build Events.
Masukkan argumen baris perintah untuk tindakan pra-build atau pasca-build Anda, lalu klik OK.
Nota
call Tambahkan pernyataan sebelum semua perintah pasca-build yang menjalankan .bat file. Misalnya, call C:\MyFile.bat atau call C:\MyFile.bat call C:\MyFile2.bat.
Nota
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.
Anda dapat mereferensikan "makro" (sebenarnya nama properti MSBuild) dalam skrip. Untuk mereferensikan properti, gunakan sintaks $(PropertyName), yang diganti dengan nilai properti saat skrip peristiwa dijalankan. Untuk daftar nilai yang umum digunakan, lihat Properti umum MSBuild. Mungkin ada properti lain yang didefinisikan dalam file proyek, dalam file yang diimpor ke dalam file proyek, dalam variabel lingkungan, atau diteruskan melalui baris perintah menggunakan sakelar MSBuild saat build dilakukan melalui baris perintah.
Contoh: Cara mengubah informasi manifes menggunakan peristiwa pasca-build
Prosedur berikut menunjukkan cara mengatur versi minimum sistem operasi 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 . Dari menu File, klik Baru, lalu klik Proyek.
Dalam kotak dialog Proyek Baru, di simpul Visual Basic, pilih Windows dan kemudian templat Aplikasi Konsol. Beri nama proyek
ChangeOSVersionVB.Di Module1.vb, tambahkan baris berikut ke pernyataan
Importslainnya di bagian atas file:Imports System.XmlTambahkan kode berikut di
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 SubPerintah 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 Build Solution.
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. Dari menu File, klik Baru, lalu klik Proyek.
Dalam kotak dialog Proyek Baru, di simpul Visual Basic, pilih Windows Desktop lalu templat Aplikasi Windows Forms. Beri nama proyek
VBWinApp.Dengan proyek yang dipilih di Penjelajah Solusi, pada menu Proyek, klik Properti.
Di Project Designer, buka halaman Terbitkan dan atur Lokasi Penerbitan ke C:\TEMP.
Terbitkan proyek dengan mengklik Terbitkan Sekarang.
File manifes akan dibangun dan dimasukkan ke 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 elemen
<osVersionInfo>. Misalnya, versinya mungkin:<os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />Di Project Designer , buka tab Kompilasi dan klik tombol Build Events untuk membuka kotak dialog Build Events.
Dalam kotak Baris Perintah Peristiwa pasca-build, masukkan perintah berikut:
C:\TEMP\ChangeOSVersionVB.exe "$(TargetPath).manifest" 5.1.2600.0Saat Anda membangun proyek, perintah ini mengubah versi sistem operasi minimum dalam manifes aplikasi menjadi 5.1.2600.0.
Makro
$(TargetPath)mengekspresikan jalur lengkap untuk executable yang sedang dibuat. Oleh karena itu,$(TargetPath).manifestmenentukan manifes aplikasi yang dibuat di direktori bin . Penerbitan menyalin manifes ini ke lokasi penerbitan yang Anda tetapkan sebelumnya.Terbitkan proyek lagi. Pergi ke 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" />