Nasıl yapılır: yapý olaylarý (C#) belirtin
Yapý olaylarý yapı başlamadan önce veya yapı tamamlandıktan sonra Çalıştır komutları belirtmek için kullanın. Yalnızca yapı Bu noktalar oluşturma işlemi başarıyla erişirse, yapý olaylarý yürütülür.
Bir projesi oluþturulduðunda, pre-build olaylar PreBuildEvent.bat adlı bir dosyaya eklenir ve post-build olay PostBuildEvent.bat adlı bir dosyaya eklenir. Hata denetimi sağlamak istiyorsanız, kendi hata denetimi komutları oluşturma adımları ekleyin.
Not
Bilgisayarınızda, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazılarının adı veya konumu farklı gösterilebilir. Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler. Daha fazla bilgi için bkz: Visual Studio ayarları.
Nasıl Pre-Build belirtin ve Post-Build olay
Bir yapý olayý belirtmek için
İçinde Solution Explorer, yapý olayý belirtmek istediğiniz projeyi seçin.
Proje menüsündeki Özellikler’i tıklayın.
Seçin Build Events sekmesi.
De Pre-build olay komut satırı kutusunda, yapý olayý sözdizimi belirtin.
Not
Projenin güncel olduğundan ve hiçbir yapı harekete Pre-Build olayları çalıştırmayın.
İçinde Post-build olay komut satırı kutusunda, yapý olayý sözdizimi belirtin.
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.
İçinde Çalıştır post-build olay kutusunda, ne post-build olay çalıştırmak için koşullar altında belirtin.
Not
Uzun sözdizimi eklemek veya seçmek için herhangi bir gelen makroları oluşturmak Olay/Post-build olay komut satırı iletişim kutusu pre-build, üç nokta düğmesini (…) düzenleme kutusu görüntülemek için.
Yapı olay sözdizimini komut isteminde veya .bat dosyası geçerli olan herhangi bir komut ekleyebilirsiniz. Bir toplu iş dosyasının adını koyarak call sonraki tüm komutlar yürütülür emin olmak için.
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ı sonlandırabilirsiniz.
Örnek: Nasıl değiştirileceği bildirimi kullanarak Post-Build olay bilgileri
Aşağıdaki yordamda bir post-build olay adı verilen bir .exe komutunu kullanarak uygulama bildiriminde en düşük işletim sistemi sürümü ayarlama 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
Komut için bir konsol uygulaması oluşturun. Dan Dosya menüsü, Yenive ardından Proje.
İçinde Yeni proje iletişim kutusunda, genişletme Visual C#, tıklatın Windowsve ardından Console Application şablonu. Proje adı ChangeOSVersionCS.
Program.cs aşağıdaki satırı ekleyin using dosyasının üst deyimleri:
using System.Xml;
De ChangeOSVersionCS Ad Değiştir Program sınıf uygulaması yerine aşağıdaki kodu:
class Program { /// <summary> /// This function will set the minimum operating system version for a ClickOnce application. /// </summary> /// <param name="args"> /// Command Line Arguments: /// 0 - Path to application manifest (.exe.manifest). /// 1 - Version of OS ///</param> static void Main(string[] args) { string applicationManifestPath = args[0]; Console.WriteLine("Application Manifest Path: " + applicationManifestPath); // Get version name. Version osVersion = null; if (args.Length >=2 ){ osVersion = new Version(args[1]); }else{ throw new ArgumentException("OS Version not specified."); } Console.WriteLine("Desired OS Version: " + osVersion.ToString()); XmlDocument document; XmlNamespaceManager namespaceManager; namespaceManager = new XmlNamespaceManager(new NameTable()); namespaceManager.AddNamespace("asmv1", "urn:schemas-microsoft-com:asm.v1"); namespaceManager.AddNamespace("asmv2", "urn:schemas-microsoft-com:asm.v2"); document = new XmlDocument(); document.Load(applicationManifestPath); string baseXPath; baseXPath = "/asmv1:assembly/asmv2:dependency/asmv2:dependentOS/asmv2:osVersionInfo/asmv2:os"; // Change minimum required operating system version. XmlNode node; 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); } }
Komut iki baðýmsýz deðiþken alýr: uygulama bildirimi yolunu (içinde oluşturma işlemi yaratır bildirimde, genellikle Projectname.publish, diğer bir deyişle, klasör) ve yeni işletim sistemi sürümü.
Projeyi yapılandırın. Yapı menüsünde, Çözümü Derle'yi tıklatın.
.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
Yayımlanmak üzere proje için bir Windows uygulaması yaratmak. Dan Dosya menüsü, Yenive ardından Proje.
İçinde Yeni proje iletişim kutusunda, genişletme Visual C#, tıklatın Windows[NULL]'ı Windows Forms uygulamasý şablonu. Proje adı CSWinApp.
Seçilen proje ile Solution Explorer, Proje menüsünde,'ı özelliklerini.
Proje Tasarımcısı'nda bulmak Yayınla sayfa ve set yayımlama konumu için c:\temp\.
Tıklatarak Proje yayınlama Şimdi Yayınla.
Bildirim dosyası yerleşik ve koymak C:\TEMP\CSWinApp_1_0_0_0\CSWinApp.exe.manifest. Liste görüntülemek için dosyayı sağ tıklatın, ile açıkseçin Listeden programı seçmekve ardından 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" />
Proje Tasarımcısı'nda tıklatın Build Events sekmesinde Düzenleme Post-build düğme.
İçinde Post-build olay komut satırı kutusuna aşağıdaki komutu yazın:
C:\TEMP\ChangeOSVersionCS.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.
Çünkü $(TargetPath) makro oluşturulmakta, yürütülebilir dosyanın tam yolunu ifade eder $(TargetPath).manifest bölme dizininde oluşturulan uygulama bildirimi belirtmek. Yayımlama bu bildirimi daha önce ayarlanmış yayımlama konumuna kopyalar.
Projeyi yeniden yayımlayın. Gidin Yayınla 'i tıklatın ve sayfa Şimdi Yayınla.
Liste yeniden görüntüleyin. Liste görüntülemek için yayımlama dizinini açın, dosyayı sağ tıklatın,'ı birlikte açseçin 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: (Visual Basic) yapý olaylarý belirtin
Başvuru
Build Events sayfası, proje Tasarımcısı (C#)
Olay/Post-build olay komut satırı iletişim kutusu pre-build