Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Visual Basic'te derleme olayları, derleme işleminin bir parçası olarak betikleri, makroları veya diğer eylemleri çalıştırmak için kullanılabilir. Derleme öncesi olaylar derlemeden önce gerçekleşir; derleme sonrası olaylar derlemeden sonra gerçekleşir.
Derleme öncesi ve derleme sonrası olayları nasıl belirtirsiniz?
Visual Basic .NET Core veya .NET 5 ve üzeri bir projenin derleme olaylarını görüntülemek veya değiştirmek için proje düğümüne sağ tıklayın ve Özellikler'i seçin (veya Alt+Enter tuşuna basın), ardından Derleme>Olayları'na gidin. İstediğiniz komut satırını girin. Çalışma dizini çıkış dizinidir.
.NET Framework projeleri için şu adımları izleyin:
Çözüm Gezgini'nde bir proje seçiliyken, Proje menüsünde Özellikler'e tıklayın.
Derle sekmesine tıklayın.
Olayları Derle düğmesine tıklayarak Derleme Olayları iletişim kutusunu açın.
Derleme öncesi veya sonrası eylemleriniz için komut satırı bağımsız değişkenlerini girin ve ardından Tamam düğmesine tıklayın.
Derleme olayları, Proje Tasarımcısı'nınDerleme sayfasında bulunan Derleme Olayları iletişim kutusunda belirtilir.
Derleme öncesi ve derleme sonrası olayları nasıl belirtirsiniz?
Derleme olayı belirtmek için
Çözüm Gezgini'nde bir proje seçiliyken, Proje menüsünde Özellikler'e tıklayın.
Derle sekmesine tıklayın.
Olayları Derle düğmesine tıklayarak Derleme Olayları iletişim kutusunu açın.
Derleme öncesi veya sonrası eylemleriniz için komut satırı bağımsız değişkenlerini girin ve ardından Tamam düğmesine tıklayın.
Uyarı
Dosyaları çalıştıran call tüm derleme sonrası komutlarının önüne bir .bat deyim ekleyin. Örneğin, call C:\MyFile.bat veya call C:\MyFile.bat call C:\MyFile2.bat.
Uyarı
Derleme öncesi veya derleme sonrası olayınız başarıyla tamamlanmazsa, olay eyleminizin sıfır (0) dışında bir kodla çıkışını yaparak derlemeyi sonlandırabilirsiniz ve bu da başarılı bir eylemi gösterir.
Betiklerde "makrolara" (bunlar aslında MSBuild özellik adlarıdır) başvurabilirsiniz. Bir özelliğe başvurmak için, olay betiği yürütülürken özellik değeriyle değiştirilen $(PropertyName) söz dizimini kullanın. Yaygın olarak kullanılan değerlerin listesi için bkz. MSBuild ortak özellikleri. Proje dosyasında, proje dosyasındaki içeri aktarılan dosyalarda, ortam değişkenlerinde tanımlanan veya komut satırı derlemeleri sırasında MSBuild anahtarı kullanılarak -p komut satırına geçirilen başka özellikler de olabilir.
Örnek: Derleme sonrası olayı kullanarak bildirim bilgilerini değiştirme
Aşağıdaki yordamda, proje dizinindeki .exe dosyasından gelen bir derleme sonrası olayda kullanılan .exe.manifest adlı bir komutla uygulama bildiriminde en düşük işletim sistemi sürümünün nasıl ayarlanacağı gösterilmektedir. En düşük işletim sistemi sürümü, 4.10.0.0 gibi dört parçalı bir sayıdır. Bunu yapmak için komut bildirimin <dependentOS> bölümünü değiştirir:
<dependentOS>
<osVersionInfo>
<os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
</osVersionInfo>
</dependentOS>
Uygulama bildirimini değiştirmek üzere bir .exe komutu oluşturmak için
komutu için bir konsol uygulaması oluşturun. Dosya menüsünde Yeni'ye ve ardından Proje'ye tıklayın.
Yeni Proje iletişim kutusundaki Visual Basic düğümünde Windows'a ve ardından Konsol Uygulaması şablonuna tıklayın. Projeyi
ChangeOSVersionVBolarak adlandırın.Module1.vb dosyasının en üstündeki diğer
Importsdeyimlere aşağıdaki satırı ekleyin:Imports System.Xmliçine aşağıdaki kodu
Sub Mainekleyin: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 SubKomut iki argüman alır. İlk bağımsız değişken, uygulama bildiriminin yoludur (yani, derleme işleminin bildirimi oluşturduğu klasör, genellikle <ProjectName.publish>). Yeni işletim sistemi sürümü ikinci argümandır.
Yapı menüsünde Yapı Çözümü’ne tıklayın.
.exe dosyasını C:\TEMP\ChangeOSVersionVB.exegibi bir dizine kopyalayın.
Ardından, uygulama bildirimini değiştirmek için bu komutu derleme sonrası olayda çağırın.
Uygulama bildirimini değiştirmek için sonrası oluşturma etkinliğini çağırmak
Projenin yayımlanması için bir Windows uygulaması oluşturun. Dosya menüsünde Yeni'ye ve ardından Proje'ye tıklayın.
Yeni Proje iletişim kutusundaki Visual Basic düğümünde Windows Masaüstü'nü ve ardından Windows Forms Uygulama şablonunu seçin. Projeyi
VBWinAppolarak adlandırın.Proje Çözüm Gezgini'nde seçili durumdayken, Proje menüsünde Özellikler'e tıklayın.
Proje Tasarımcısı'ndaYayımla sayfasına gidin ve Yayımlama konumunuC:\TEMP olarak ayarlayın.
Şimdi Yayımla'ya tıklayarak projeyi yayımlayın.
Bildirim dosyası derlenir ve C:\TEMP\VBWinApp_1_0_0_0\VBWinApp.exe.manifest dosyasına eklenir. Bildirimi görüntülemek için dosyaya sağ tıklayın ve Birlikte aç'a tıklayın, ardından Listeden programı seçin'e ve ardından Not Defteri'ne tıklayın.
Dosya içinde
<osVersionInfo>öğesini arayın. Örneğin, sürüm şu olabilir:<os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />Proje Tasarımcısı'nda, Derle sekmesine gidin ve Olayları Derle düğmesine tıklayarak Derleme Olayları iletişim kutusunu açın.
Derleme Sonrası Olay Komut Satırı kutusuna aşağıdaki komutu girin:
C:\TEMP\ChangeOSVersionVB.exe "$(TargetPath).manifest" 5.1.2600.0Projeyi oluşturduğunuzda, bu komut uygulama bildirimindeki en düşük işletim sistemi sürümünü 5.1.2600.0 olarak değiştirir.
Makro,
$(TargetPath)oluşturulan yürütülebilir dosyanın tam yolunu gösterir. Bu nedenle,$(TargetPath).manifestbin dizininde oluşturulan uygulama bildirimini belirtir. Yayımlama, bu manifestoyu daha önce ayarladığınız yayımlama konumuna kopyalayarak gönderir.Projeyi yeniden yayımlayın. Yayımla sayfasına gidin ve Şimdi Yayımla'ya tıklayın.
Bildirimi yeniden görüntüleyin. Bildirimi görüntülemek için yayımlama dizinine gidin, dosyaya sağ tıklayın, Birlikte aç'a tıklayın ve ardından Listeden programı seçin ve ardından Not Defteri'ne tıklayın.
Sürüm artık şu şekilde olmalıdır:
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />