Aracılığıyla paylaş


Nasıl Yapılır: MSBuild Projelerinde Yapılandırma Olaylarını Kullanma

Bir komut oluşturma bir olay olduğunu, MSBuild yapı işlemi içindeki belirli bir aşamada gerçekleştirir.Oluşturma öncesi olayı oluşur yapı başlamadan önce; ön bağlantı olayı oluşur bağlantı adım başlamadan önce; ve oluşturma sonrası olayı başarıyla oluşturma bittikten sonra oluşur.Yalnızca ilişkili oluşturma adım oluşursa, bir olay oluşur.Örneğin, bağlantı adım çalışmazsa ön bağlantı olayı oluşmaz.

Her üç yapý olaylarý madde tanım grubundaki komut öğesi tarafından temsil edilir (<Command>), gerçekleştirilir ve ileti öğesi (<Message>) yani ne zaman görüntülenen MSBuild yapı olayı gerçekleştirir.Her öğe isteğe bağlıdır ve aynı öğe birden fazla kez belirtirseniz, son olarak ortaya çıkışından önceliğe sahiptir.

İsteğe bağlı kullanım yapısı öğe (<build-eventUseInBuild>) olay yürütülür olup olmadığını belirtmek için bir özellik grubu belirtilebilir.İçeriği değerini bir kullanım yapısı öğesidir ya da true veya false.Sürece varsayılan olarak, bir olay yürütülür, karşılık gelen kullanım yapısı öğeyi ayarlamak false.

Her yapı olay XML öğesi aşağıdaki tabloda listelenmektedir:

XML Öğesi

Açıklama

PreBuildEvent

Yapı başlamadan önce bu olay yürütür.

PreLinkEvent

Bağlantı adım başlamadan önce bu olay yürütür.

PostBuildEvent

Bu olay, yapı tamamlandıktan sonra yürütülür.

Aşağıdaki tabloda her listeler kullanım yapısı öğe:

XML Öğesi

Açıklama

PreBuildEventUseInBuild

Yürütülecek belirtir oluşturma öncesi olay.

PreLinkEventUseInBuild

Yürütülecek belirtir ön bağlantı olay.

PostBuildEventUseInBuild

Yürütülecek belirtir oluşturma sonrası olay.

Örnek

Aşağıdaki örnek myproject.vcxproj dosyasının içinde oluşturulan proje öğesi içinde eklenebilir İzlenecek yol: Visual C++ Projesi Oluşturmak için MSBuild Kullanma.A oluşturma öncesi olayı main.cpp; bir kopyasını yapar bir ön bağlantı olayı main.obj; bir kopyasını yapar ve bir oluşturma sonrası olayı myproject.exe bir kopyasını oluşturur.Projenin Sürüm yapılandırma oluşturulursa, yapý olaylarý yürütülür.Projenin hata ayıklama Yapılandırması kullanılarak oluşturulursa, yapý olaylarý yürütülmez.

  <ItemDefinitionGroup>
    <PreBuildEvent>
      <Command>copy $(ProjectDir)main.cpp $(ProjectDir)copyOfMain.cpp</Command>
      <Message>Making a copy of main.cpp </Message>
    </PreBuildEvent>
    <PreLinkEvent>
   <Command>copy $(ProjectDir)$(Configuration)\main.obj $(ProjectDir)$(Configuration)\copyOfMain.obj</Command>
      <Message>Making a copy of main.obj</Message>
    </PreLinkEvent>
    <PostBuildEvent>
   <Command>copy $(ProjectDir)$(Configuration)\$(TargetFileName) $(ProjectDir)$(Configuration)\copyOfMyproject.exe</Command>
      <Message>Making a copy of myproject.exe</Message>
    </PostBuildEvent>
  </ItemDefinitionGroup>
 
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <PreBuildEventUseInBuild>true</PreBuildEventUseInBuild>
    <PreLinkEventUseInBuild>true</PreLinkEventUseInBuild>
    <PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <PreBuildEventUseInBuild>false</PreBuildEventUseInBuild>
    <PreLinkEventUseInBuild>false</PreLinkEventUseInBuild>
    <PostBuildEventUseInBuild>false</PostBuildEventUseInBuild>
  </PropertyGroup>

Ayrıca bkz.

Görevler

İzlenecek yol: Visual C++ Projesi Oluşturmak için MSBuild Kullanma

Diğer Kaynaklar

MSBuild (Visual C++)