Aracılığıyla paylaş


MSBuild (Visual C++) genel bakış

MSBuild standart yapı sistemi için Visual C++ projelerinin ' dir.Visual Studio tümleşik geliştirme ortamını (IDE) bir proje oluştururken,: msbuild.exe aracı, bir xml tabanlı proje dosyası ve isteğe bağlı ayar dosyalarını kullanır.: Msbuild.exe ve proje dosyasını komut satırında kullanabilmenize karşın, IDE böylece daha kolay ayarlarını yapılandırmak ve bir proje oluşturmak için bir kullanıcı arabirimi sağlar.Bu genel bakış, Visual C++ MSBuild sistem nasıl kullandığını açıklar.

Önkoşullar

MSBuild hakkında aşağıdaki belgeleri okuyun.

Komut satırında MSBuild

Aşağıdaki ifadesini MSBuild Komut Satırı Başvurusu belge göstermektedir: msbuild.exe aracı örtülü veya açık alır project file bağımsız değişkeni (Visual C++ projeler için .vcxproj dosyası) ve sıfır veya daha fazla komut satırı options.

msbuild.exe [project file] [options]

Use /target (veya /t) ve /property (veya /p) özellikleri ve proje dosyasında belirtilen hedef geçersiz kılmak için komut satırı seçenekleri.

Belirtmek için proje dosyasının önemli bir işlevi olan bir hedef, projenize ve girdi ve bu işlemi gerçekleştirmek için gerekli çıkışları uygulanan belirli bir işlem olduğu.Proje dosyası, varsayılan hedef içerebilen bir veya daha fazla hedefleri belirtebilirsiniz.

Her hedef oluşan bir dizi bir veya daha fazla görevleri.Her görev tarafından temsil edilen bir.net Framework sınıf bir yürütülebilir komutu içerir.Örneğin, cl görev içeren cl.exe komut.

A görev parametre sınıfı görevi özelliğidir ve genellikle bir komut satırı seçeneği yürütülebilir komut temsil eder.Örneğin, FavorSizeOrSpeed parametresi CL karşılık gelen görev /Os ve /Ot derleyici seçenekleri.

Görevle ilgili ek parametreler MSBuild altyapısı desteği.Örneğin, Sources görev parametresi, diğer görevlere göre tüketilen görev kümesini belirtir.MSBuild görevler hakkında daha fazla bilgi için bkz: MSBuild görevi başvurusu.

Giriş ve çıkış, dosya adları, yollar ve dize, sayısal veya Boolean parametrelerini gibi görevlerin çoğu gerektirir.Örneğin, genel bir giriş derlemeye .cpp kaynak dosyasının adıdır.Önemli bir girdi parametresini yapý yapýlandýrmasý ve platform, örneğin, "Debug| belirten bir dizedirWin32 ".Giriş ve çıkış bir veya daha fazla kullanıcı tanımlı xml belirtilmiş Item öğeleri bulunan bir ItemGroup öğesi.

Kullanıcı tanımlı bir proje dosyasını da belirtebilirsiniz özelliklerini ve Madde tanım grubuöğeleri.Özellikleri ve öğeleri Yapı değişkenleri olarak kullanılan ad/değer çiftleri oluşturuyor.Çiftinin ad bileşeni tanımlayan bir makro, değer bileşen bildirir ve makro değeri.Özelliği makro kullanarak erişilen (ad) gösterim ve madde makro erişildiğinde kullanarak %(ad) gösterim.

Diğer xml öğeleri project dosyasındaki makrolar, test ve sonra koşullu olarak herhangi bir makro değerini ayarlayabilir veya yapı yürütülmesini denetlemek.Makro adları ve harflerden oluşan dizeler bir yol ve dosya adı gibi yapılar oluşturmak için birleştirilmiş.Komut satırında /property seçenek ayarlar veya proje özelliği geçersiz kılar.Komut satırında maddeleri başvurulamaz.

Önce veya sonra başka bir hedef MSBuild sistem hedef koşullu olarak çalıştırabilirsiniz.Ayrıca, sistem mi hedef tüketir dosyaları onu gösterir dosyalarından daha yeni olan bağlı bir hedef oluşturabilirsiniz.

IDE içindeki MSBuild

IDE içinde proje özelliklerini ayarlamak ve projeyi kaydetmek, Visual C++ proje ayarlarını proje dosyasına yazar.Proje dosyası projenize özgü ayarlarını içerir, ancak projenizde oluşturmak için gereken tüm ayarları içermez.Proje dosyasını içeren Import ek bir ağ içeren öğelerini Destek dosyaları. Destek dosyaları kalan özellikler, hedefleri ve proje oluşturmak için gerekli ayarları içerir.

Çoğu hedefleri ve Destek dosyalarını özelliklerinde yalnızca oluþturma sistemi uygulamak için mevcut.Aşağıdaki bölümde, bazı yararlı hedefleri ve MSBuild komut satırında belirlediğiniz özellikleri açıklanır.Daha fazla hedefleri ve Özellikleri keşfetmek için destek dosya dizinlerdeki dosyaları keşfedin.

Ee662426.collapse_all(tr-tr,VS.110).gifDestek dosya dizinleri

Varsayılan olarak, birincil Visual C++ destek dosyaları aşağıdaki dizinlerde bulunur.

Dizin

Description

Sürücü: \Program Files\MSBuild\Microsoft.Cpp\v4.0\

Birincil hedef dosyaları (.targets) içeren ve hedefleri tarafından kullanılan özellik dosyaları (.props).Varsayılan olarak, bu dizin $(VCTargetsPath) makro başvuruyor.

Sürücü: \Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\platform\

Hedefler ve üst dizinin özelliklerini geçersiz kıl platforma özel hedef ve özellik dosyaları içerir.Bu dizin, bu dizindeki hedefleri tarafından kullanılan görevleri tanımlayan bir .dll dosyası da içerir.

Platform gösteren yer tutucu Itanium, Win32, veya x64 alt dizini.

Sürücü: \Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\platform\ PlatformToolsets\toolset\

9.0 Veya Visual C++ 10.0 uygulamalar oluşturmak yapı etkinleştirmek dizinleri içerir.

Platform gösteren yer tutucu Itanium, Win32, veya x64 alt dizini.Toolset gösteren yer tutucu v90 veya v100 toolset alt.

Ee662426.collapse_all(tr-tr,VS.110).gifDestek dosyaları

Destek dosya dizinleri aşağıdaki uzantılara sahip dosyalar içerir.

Extension

Description

.TARGETS

İçeren Target hedef tarafından yürütülen görevleri belirlemenize xml öğeleri.Ayrıca içerebilir Property Group, Item Group, Item Definition Grouphem de kullanıcı tanımlı Item dosyaları ve komut satırı seçenekleri için parametreler görev atamak için kullanılan öğeleri.

Daha fazla bilgi için bkz. Hedef öğe (MSBuild).

.props

İçeren Property Group ve kullanıcı tanımlı Property bir yapı oluşturma sırasında kullanılan dosya ve parametre ayarları belirten xml öğeleri.

Ayrıca içerebilir Item Definition Group ve kullanıcı tanımlı Item xml öğeleri ek ayarları belirtin.Bir madde tanım grubuna tanımlanan öğelerin özellikleri benzer, ancak komut satırından erişilemiyor.Visual C++ proje dosyalarını sık kullandığı maddeler yerine özellikleri ayarlarını göstermek için.

Daha fazla bilgi için, bkz. ItemGroup öğesi (MSBuild), ItemDefinitionGroup öğesi (MSBuild) ve İtem öðesini (MSBuild)

.XML

Bildirip IDE kullanıcı arabirimi öğelerinin özellik sayfaları ve özellik sayfaları ve metin kutusu ve liste kutusu denetimleri gibi atayacak xml öğeleri içerir.

.Xml dosyaları, IDE, MSBuild değil doğrudan destekler.Ancak, IDE özelliklerinin değerlerini, özellikleri ve öğeleri oluşturmak için atanır.

Çoğu .xml dosyaları bölgeye özgü alt dizininde bulunur.Örneğin, İngilizce (ABD) bölgesi için $(VCTargetsPath) \1033\ dosyalarıdır.

Kullanıcı hedefleri ve özellikleri

Komut satırında MSBuild en verimli şekilde kullanmak için hangi özellikleri ve hedefleri yararlı ve ilgili olduğunu bilmek yardımcı.Çoğu özellikleri ve hedefleri Visual C++ oluþturma sistemi uygulamaya yardımcı olur ve bunun sonucunda kullanıcıyla ilgili değildir.Bu bölümde, bazı kullanıcı odaklı düşünmek faydalı özellikleri ve hedefleri açıklanmaktadır.

Ee662426.collapse_all(tr-tr,VS.110).gifPlatformToolset özelliği

PlatformToolset Özelliği olup olmadığını Visual C++ 2010 veya Visual C++ 2008 toolset yapısında kullanılır.Özelliğinin değeri, belirli bir platform için bir proje oluşturmak için gereken özellik ve hedef dosyalarını içeren dizinin yolunu oluşturmak üzere harflerden oluşan dizeler ile birleştirilir.

Set PlatformToolset özelliğine v100 kullanmak için Visual C++ 2010 uygulama oluşturmak için Araçlar.

msbuild myProject.vcxproj /p:PlatformToolset=v100

Set PlatformToolset özelliğine v90 uygulama geliştirmek için Visual C++ 2008 araçlarını kullanma.Visual C++ 2008 toolset zaten bu özelliğin etkin olabilmesi için bilgisayarınızda yüklü olmalıdır.

msbuild myProject.vcxproj /p:PlatformToolset=v90

Ee662426.collapse_all(tr-tr,VS.110).gifUseEnv özelliği

Varsayılan olarak, yol, Ekle, LIB, LIBPATH, yapılandırma ve platform ortam değişkenleri geçerli proje için platforma özgü ayarları geçersiz kılar.Set UseEnv özelliğine true ortam değişkenleri değil kılınır emin olmaktır.

msbuild myProject.vcxproj /p:UseEnv=true

Ee662426.collapse_all(tr-tr,VS.110).gifHedefler

Visual C++ destek dosyalarını hedeflerini yüzlerce vardır.Ancak, çoğu kullanıcının sayabilirsiniz sistem odaklı hedefler aittir.Çoğu sistem hedeflerin bir altçizgi (_) öneki veya "" Hesaplamak", PrepareFor ile", "Önce", "Öncesi" veya "Post" "Sonra" başlayan bir ada sahip.

Birkaç kullanılmadıkça kullanıcı odaklı hedefleri aşağıdaki tabloda listelenmektedir.

Target

Description

BscMake

Microsoft göz bilgi bakım yardımcı aracı yürütür bscmake.exe.

Derleme

Proje oluşturur.

Bir proje için varsayılan hedef budur.

ClCompile

Visual C++ Derleyici aracını yürütür cl.exe.

Temizleme

Dosyaları siler, geçici ve Ara oluşturun.

Lib

Microsoft 32-Bit Kitaplık Yöneticisi aracını yürütür lib.exe.

Bağlantı

Visual C++ Bağlantı Oluşturucu aracını yürütür link.exe.

ManifestResourceCompile

Yayılma dosyasından kaynakların listesini ayıklar ve sonra Microsoft Windows Kaynak derleyici aracını yürütür RC.exe dosyasını.

Midl

Arabirim tanımı dili (MIDL) derleyici aracını yürütür midl.exe.

Yeniden oluşturma

Temizler ve proje oluşturur.

ResourceCompile

Microsoft Windows Kaynak derleyici aracını yürütür RC.exe dosyasını.

XdcMake

xml belgeleri aracını yürütür xdcmake.exe.

XSD

xml şema tanımı aracını yürütür xsd.exe.

Ayrıca bkz.

Diğer Kaynaklar

MSBuild (Visual C++)