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 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 |
---|---|
Temel Proje dosyası artımlı olarak, yalnızca bir metin kullanarak Düzenleyici nasıl oluşturulacağını gösterir. |
|
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 dört temel yapıtaşları gösterir: özellikleri, öğeleri, hedefleri ve görevleri. |
|
Genel kavramları açıklar MSBuild dosya biçimi ve nasıl parçaları birlikte Sığdır. |
|
Özellikler ve özellik koleksiyonları tanıtır.Özellikleri yapılandırmak için kullanılan anahtar/değer çiftlerinin yapılar ' dir. |
|
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. |
|
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. |
|
Nasıl kullanılacağını açıklar Condition bir MSBuild öğesinde özniteliği. |
|
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. |
|
Hataları, iletileri ve yapı olayları günlüğe kaydetmek nasıl açıklar. |
|
Topluluk ve Destek kaynakları MSBuild hakkında daha fazla bilgi için listeler. |
Başvuru
MSBuild Başvurusu
Başvuru bilgileri içeren konulara bağlantılar.MSBuild Sözlüğü
Ortak MSBuild terimleri tanımlar.