Aracılığıyla paylaş


MSBuild

Microsoft Build Engine Uygulamaları geliştirmek için bir platformdur.Olarak da bilinir MSBuild olduğundan, bu altyapısı nasıl yapı platformunu işler ve yazılım yapılar denetleyen bir proje dosyası için XML Şeması sağlar.Visual Studio MSBuild kullanır, ancak bu Visual Studio bağlı değil. Proje veya çözüm dosyanız MSBuild.exe'yi çağırarak yönetmek ve Visual Studio yüklü olduğu değil ortamlarda ürünleri oluşturun.

Visual Studio Yük ve yönetilen projeleri oluşturmak için MSBuild kullanır.Proje dosyası (.csproj, .vbproj, vcxproj ve diğerleri) Visual Studio IDE kullanarak bir proje oluşturma sırasında yürütülen MSBuild XML kodu içerir.Visual Studio projeleri gerekli tüm ayarları içeri aktarabilir ve tipik geliştirme iş yapmak için işlemler oluşturun, ancak genişletme veya bunları Visual Studio içinde veya bir XML düzenleyicisini kullanarak değiştirin.

C++ için MSBuild hakkında bilgi için bkz MSBuild (Visual C++).

Visual Studio IDE yerine bir MSBuild komut satırını kullanarak yapılar çalıştırdığınızda, aşağıdaki örnekler gösterir.

  • Visual Studio yüklü değil.

  • MSBuild 64-bit sürümü kullanmak istediğiniz.Bu sürümü MSBuild genellikle gerekli değildir, ancak daha fazla bellek erişmek MSBuild sağlar.

  • Bir yapı içinde birden çok işlemleri çalıştırmak istediğiniz.Ancak, C++ ve C# projelerde aynı sonucu elde etmek için IDE kullanabilirsiniz.

  • Yapı sistemi değiştirmek istediğiniz.Örneğin, aşağıdaki eylemleri etkinleştirmek isteyebilirsiniz:

    • Bunlar derleyici ulaşmadan önce dosyaları önişlem.

    • Yapı çıktıları farklı bir konuma kopyalayın.

    • Sıkıştırılmış dosya yapı çıktıları oluşturun.

    • Bir işlem sonrası adımı yapın.Örneğin, farklı bir sürümü ile bir derlemeyi damgasının isteyebilirsiniz.

Visual Studio IDE içinde kod yazabilirsiniz ancak Çalıştır MSBuild kullanarak oluşturur.Başka bir alternatif olarak, geliştirme bilgisayarda IDE kodda oluşturun, ancak bir MSBuild komut satırında birden çok geliştiricilerden tümleşik kod oluşturmak için kullanın.

[!NOT]

Team Foundation Yapısı otomatik olarak derlemek, test ve uygulamanızı dağıtmak için kullanabilirsiniz.Otomatik olarak geliştiricilerine kodda (örneğin, stratejisinin bir parçası sürekli tümleştirme) iade ederken yapılar çalıştırmak veya bir zamanlama (örneğin, bir gece yapı doğrulama testi yapı) göre yapı sistem can.Team Foundation Yapısı, MSBuild kullanarak kodunuzu derler.Daha fazla bilgi için bkz. Uygulama oluşturma.

Bu konu MSBuild genel bir bakış sağlar.Bir giriş için bkz İzlenecek Yol: MSBuild Kullanma.

Bu konuda

  • Bir Komut İsteminde MSBuild Kullanma

  • Proje Dosyası

    • Özellikler

    • Öğeler

    • Görevler

    • Hedefler

  • Günlükleri Oluşturma

  • Visual Studio'da MSBuild Kullanma

  • Çoklu Sürüm Desteği

Bir Komut İsteminde MSBuild Kullanma

Çalıştırmak için MSBuild bir komut isteminde, proje dosyası MSBuild.exe'yi için uygun komut satırı seçenekleri ile birlikte geçirin.Komut satırı seçenekleri özelliklerini ayarlamak için belirli hedefleri yürütün ve yapı işlemini denetleyen diğer seçeneklerini ayarlama olanak tanır.Örneğin, dosyasını oluşturmak için aşağıdaki komut satırı sözdizimi kullanırsınız MyProj.proj ile Configuration özelliğini Debug.

MSBuild.exe MyProj.proj /property:Configuration=Debug

Hakkında daha fazla bilgi için MSBuild komut satırı seçenekleri bakın MSBuild Komut Satırı Başvurusu.

Güvenlik NotuGüvenlik Notu

Bir proje karşıdan yüklemeden önce kod parçalarıdır belirleyin.

Proje Dosyası

MSBuildkolay ve Genişletilebilir bir proje XML tabanlı dosya biçimi kullanır.MSBuild Proje dosya biçimi oluşturulacak olan öğeleri açıklayan geliştiriciler sağlar ve ayrıca nasıl oldukları farklı işletim sistemleri ve yapılandırmaları için oluşturulacak.Ayrıca, proje dosya biçimi ayrı dosyalara çarpanlarına ve böylece yapılar üründeki farklı projeler arasında tutarlı bir şekilde gerçekleştirilebilir geliştiriciler Yazar yeniden kullanılabilir yapı kuralları sağlar.

Aşağıdaki bazı temel öğelerini bölümlerde MSBuild proje dosya biçimi. Temel Proje dosyası oluşturma hakkında bir eğitim için bkz İzlenecek Yol: Sıfırdan MSBuild Proje Dosyası Oluşturma.

Özellikler

Özellikler yapılar yapılandırmak için kullanılan anahtar/değer çiftlerinin temsil eder.Özellikler, özelliğin adını PropertyGroup öğesinin bir alt öğesi olarak içeren bir öğe oluşturularak bildirilir.Örneğin, aşağıdaki kod adında bir özellik oluşturur BuildDir değeri olan Build.

<PropertyGroup>
    <BuildDir>Build</BuildDir>
</PropertyGroup>

Yerleştirerek bir özellik koşullu tanımlayabilirsiniz bir Condition öğesindeki özniteliği.Koşullu öğeler içeriğini için koşulu değerlendirir yoksayılır true.Aşağıdaki örnekte, Configuration öğesi henüz tanımlanmamışsa tanımlanır.

<Configuration  Condition=" '$(Configuration)' == '' ">Debug</Configuration>

Özellikler başvurulabilir proje dosyası biçiminde bir sözdizimi kullanarak (PropertyName).Örneğin, kullanarak önceki örneklerde özellikleri başvuruda bulunabilir $(BuildDir) ve $(Configuration).

Özellikler hakkında daha fazla bilgi için bkz: MSBuild Özellikleri.

Öğeler

Öğeler Yapı sisteme girdileri ve genellikle dosyaları temsil eder.Öğeleri öğesi türlerini, kullanıcı tanımlı öğe adları göre gruplanmıştır.Bu öğe türleri adımları yapı işlemi gerçekleştirmek için ayrı ayrı öğeleri kullanın görevleri için parametre olarak kullanılabilir.

Öğeleri bildirilmiş proje dosyasında öğe türü adı bir alt öğesi olarak sahip bir öğe oluşturarak bir ItemGroup öğesi.Örneğin, aşağıdaki kod adlı bir öğe türü oluşturur Compile, iki dosyaları içerir.

<ItemGroup>
    <Compile Include = "file1.cs"/>
    <Compile Include = "file2.cs"/>
</ItemGroup>

Öğe türleri başvurulabilir proje dosyası sözdizimini kullanarak @(ItemType).Örneğin, örnekte öğe türü kullanarak başvurulabilir @(Compile).

MSBuild öğe ve öznitelik adları duyarlıdır.Ancak, özelliği, öğe ve meta veri adları değildir.Aşağıdaki örnek, öğe türü oluşturur Compile, comPile, veya herhangi diğer örnek değişimi ve öğe türü "one.cs;two.cs" değeri verir.

<ItemGroup>
  <Compile Include="one.cs" />
  <comPile Include="two.cs" />
</ItemGroup>

Öğeler joker karakterleri kullanarak bildirilebilir ve daha fazla Gelişmiş yapı senaryolar için ek meta veriler içerebilir.Öğeleri hakkında daha fazla bilgi için bkz: MSBuild Öğeleri.

Görevler

下面介绍了与适用于 birimleri yürütülebilir dosyanın kodu MSBuild projeleri yapı işlemlerini gerçekleştirmek için kullanın.Örneğin, bir görev bir giriş dosyalarını derlemek veya harici bir aracı çalıştırın.Görevleri yeniden kullanılabilir ve bunlar farklı projelerde farklı geliştiriciler tarafından paylaşılabilir.

Bir görev yürütme mantığını yönetilen kod içinde yazılmış ve eşlenen MSBuild kullanarak UsingTask öğesi.Kendi görev uygulayan yönetilen türü yazma tarafından yazabilirsiniz ITask arabirimi.Yazma görevleri hakkında daha fazla bilgi için bkz Görev Yazma.

MSBuildgereksinimlerinizi karşılayacak şekilde değiştirebilirsiniz yaygın görevleri içerir.Örnekler kopyalama, dosyalar, kopyalar MakeDir, dizinler, oluşturur ve Csc, Visual C# kaynak kodu dosyaları derler.Kullanım bilgileri ile birlikte kullanılabilir görevleri listesi için bkz MSBuild Görev Başvurusu.

Bir görev içerisinde bir MSBuild görev adı bir alt öğesi olarak sahip bir öğe oluşturarak proje dosyası bir hedef öğesi.Görevleri öğenin öznitelikleri geçirilen parametreleri, genellikle kabul edin.Her ikisi de MSBuild özellikleri ve öğeleri parametre olarak kullanılır.Örneğin, aşağıdaki çağrıları kod MakeDir görev ve değerini geçirir BuildDir önceki örnekte bildirildi özelliği.

<Target Name="MakeBuildDirectory">
    <MakeDir  Directories="$(BuildDir)" />
</Target>

Görevler hakkında daha fazla bilgi için bkz: MSBuild Görevleri.

Hedefler

Hedefleri görevleri belirli bir sırada gruplamak ve proje dosyası bölümlerine geliştirme sürecine giriş noktalarını kullanıma sunmak.Hedefleri mantıksal bölümler için genişletme izin veren ve okunurluğu artırmak için genellikle gruplanmıştır.Yapı adımları hedefleri ayırmak her hedef içinde kod ilgili bölümünü kopyalama olmadan arama diğer hedeflerini yapı sürecinin bir parçası olanak sağlar.Örneğin, birkaç giriş noktalarını yapı sürecinin içine oluşturulacak başvuruları gerektiriyorsa, başvuruları oluşturan bir hedef oluşturmak ve sonra hedefleyen nerede gerekli her giriş noktasından çalıştırın.

Hedefleri proje dosyasında kullanarak bildirilen hedef öğesi.Örneğin, aşağıdaki kod adlı bir hedef oluşturur Compile, ardından hangi çağrıları Csc önceki örnekte bildirildi öğe listesi olan bir görev.

<Target Name="Compile">
    <Csc Sources="@(Compile)" />
</Target>

Daha fazla Gelişmiş senaryolarında hedefleri başka bir arasındaki ilişkileri tanımlayın ve böylece hedefleyen güncel ise tam bölümleri oluşturma işlemi atlandı bağımlılık analiz gerçekleştirmek için kullanılabilir.Hedefleri hakkında daha fazla bilgi için bkz: MSBuild Hedefleri.

Günlükleri Oluşturma

Yapı hataları, uyarıları ve iletileri konsolunu veya başka bir çıkış aygıt için oturum açabilir.Daha fazla bilgi için bkz. MSBuild ile Yapı Günlükleri Alma ve MSBuild'de Günlük Kaydı.

Visual Studio'da MSBuild Kullanma

Visual Studiokullanır MSBuild hakkında yapı bilgilerini depolamak için dosya biçimi proje yönetilen projeleri.Proje eklenen ya da kullanarak değiştirilen ayarları Visual Studio arabirimi yansıtılır. * her proje için üretilen proj dosyası.Visual Studiobarındırılan bir örneği kullanan MSBuild yönetilen projeleri oluşturmak üzere.Yönetilen bir proje oluşturulabilir, yani Visual Studio veya bir komut isteminde (bile Visual Studio yüklü değil), ve sonuçları özdeş olmalıdır.

Visual Studio'da MSBuild kullanma hakkında bir eğitim için bkz İzlenecek Yol: MSBuild Kullanma.

Çoklu Sürüm Desteği

Visual Studio kullanarak, .NET Framework'ün birkaç sürümlerini birini çalıştırmak için bir uygulama hazırlayabilirsiniz.Örneğin, .NET Framework 2.0 32 bit bir platforma çalıştırmak için bir uygulama hazırlayabilirsiniz ve 64 bit bir platforma üzerinde .NET Framework 4.5 çalıştırmak için aynı uygulama hazırlayabilirsiniz.Özelliği derlemek için birden fazla framework çoklu sürüm desteği adlandırılır.

Bu, çoklu sürüm desteği ve avantajları bazıları şunlardır:

  • Önceki sürümlerinde .NET Framework, örneğin, sürüm 2.0, 3.0 ve 3.5 hedefleyen uygulamalar geliştirebilirsiniz.

  • .NET Framework, örneğin, Silverlight dışında çerçeveleri hedefleyebilir.

  • Hedef alabilirsiniz bir framework profili, önceden tanımlanmış bir alt hedef framework'ün.

  • .NET Framework'ün geçerli sürümü için bir hizmet paketi yayımlanırsa hedef olabilir.

  • Bir uygulamayı hedef çerçevesi ve platform kullanılabilir işlevselliği kullanan çoklu sürüm desteği sağlar.

Daha fazla bilgi için bkz. MSBuild Çoklu Sürüm Desteğine Genel Bakış.

İlgili Konular

Başlık

Açıklama

İzlenecek Yol: Sıfırdan MSBuild Proje Dosyası Oluşturma

Temel Proje dosyası artımlı olarak, yalnızca bir metin kullanarak Düzenleyici nasıl oluşturulacağını gösterir.

İzlenecek Yol: MSBuild Kullanma

MSBuild temel yapıtaşları tanıtır ve yazma, işlemek ve Visual Studio IDE kapatmadan MSBuild projelerin hatalarını ayıklayın nasıl kullanılacağı gösterilmektedir.

MSBuild Kavramları

MSBuild dört temel yapıtaşları gösterir: özellikleri, öğeleri, hedefleri ve görevleri.

MSBuild Öğeleri

Genel kavramları açıklar MSBuild dosya biçimi ve nasıl parçaları birlikte Sığdır.

MSBuild Özellikleri

Özellikler ve özellik koleksiyonları tanıtır.Özellikleri yapılandırmak için kullanılan anahtar/değer çiftlerinin yapılar ' dir.

MSBuild Hedefleri

Belirli bir sırada görevleri gruplandırın ve komut satırında çağrılacak yapı sürecinin bölümlerine etkinleştir açıklar.

MSBuild Görevleri

Bir birim tarafından kullanılan yürütülebilir kod nasıl oluşturulacağını gösterir MSBuild atomik yapı işlemlerini gerçekleştirmek için.

MSBuild Koşulları

Nasıl kullanılacağını açıklar Condition bir MSBuild öğesinde özniteliği.

MSBuild Gelişmiş Kavramları

Toplu işlem, dönüşümler, çoklu sürüm desteği ve diğer gelişmiş teknikleri gerçekleştirme sayısını gösterir.

MSBuild'de Günlük Kaydı

Hataları, iletileri ve yapı olayları günlüğe kaydetmek nasıl açıklar.

Ek MSBuild Kaynakları

Topluluk ve Destek kaynakları MSBuild hakkında daha fazla bilgi için listeler.

Başvuru