Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
IDE'de proje özelliklerini ayarladığınızda ve sonra projeyi kaydettiğinizde, Visual Studio proje ayarlarını proje dosyanıza yazar. Proje dosyası, projenize özgü ayarlar içerir. Ancak, projenizi oluşturmak için gereken tüm ayarları içermez. Proje dosyası, ek destek dosyaları ağı içeren öğeler içerirImport. Destek dosyaları, projeyi oluşturmak için gereken kalan özellikleri, hedefleri ve ayarları içerir.
Destek dosyalarındaki hedeflerin ve özelliklerin çoğu yalnızca derleme sistemini uygulamak için mevcuttur. Bu makalede, MSBuild komut satırında belirtebileceğiniz yararlı hedefler ve özellikler ele alınmaktadır. Daha fazla hedefi ve özelliği keşfetmek için destek dosyası dizinlerindeki dosyaları inceleyin.
Destek Dosyası Dizinleri
Varsayılan olarak, birincil Visual Studio destek dosyaları aşağıdaki dizinlerde bulunur. Bu bilgiler sürüme özgüdür.
Visual Studio 2022 ve 2019
%VSINSTALLDIR%MSBuild\Microsoft\VC\<version>\Hedefler tarafından kullanılan birincil hedef dosyaları (
.targets) ve özellik dosyalarını (.props) içerir. Varsayılan olarak,$(VCTargetsPath)makro bu dizine başvurur. Yer<version>tutucu Visual Studio sürümüne başvurur: Visual Studio 2022 için v170, Visual Studio 2019 için v160 veya Visual Studio 2017 için v150.%VSINSTALLDIR%MSBuild\Microsoft\VC\<version>\Platforms\<platform>\Üst dizinindeki hedefleri ve özellikleri geçersiz kılan platforma özgü hedef ve özellik dosyalarını içerir. Bu dizin, bu dizindeki hedefler tarafından kullanılan görevleri tanımlayan bir DLL de içerir. Yer
<platform>tutucu ARM, ARM64, Win32 veya x64 alt dizinini temsil eder.%VSINSTALLDIR%MSBuild\Microsoft\VC\<version>\Platforms\<platform>\PlatformToolsets\<toolset>\Derlemenin belirtilen
<toolset>kullanarak C++ uygulamaları oluşturmasını sağlayan dizinleri içerir. Yer<platform>tutucu ARM, ARM64, Win32 veya x64 alt dizinini temsil eder. Yer tutucu araç<toolset>takımı alt dizinini temsil eder.
Visual Studio 2017
%VSINSTALLDIR%Common7\IDE\VC\VCTargets\Hedefler tarafından kullanılan birincil hedef dosyaları (
.targets) ve özellik dosyalarını (.props) içerir. Varsayılan olarak,$(VCTargetsPath)makro bu dizine başvurur.%VSINSTALLDIR%Common7\IDE\VC\VCTargets\Platforms\<platform>\Üst dizinindeki hedefleri ve özellikleri geçersiz kılan platforma özgü hedef ve özellik dosyalarını içerir. Bu dizin, bu dizindeki hedefler tarafından kullanılan görevleri tanımlayan bir DLL de içerir. Yer
<platform>tutucu ARM, ARM64, Win32 veya x64 alt dizinini temsil eder.%VSINSTALLDIR%Common7\IDE\VC\VCTargets\Platforms\<platform>\PlatformToolsets\<toolset>\Derlemenin belirtilen
<toolset>kullanarak C++ uygulamaları oluşturmasını sağlayan dizinleri içerir. Yer<platform>tutucu ARM, Win32 veya x64 alt dizinini temsil eder. Yer tutucu araç<toolset>takımı alt dizinini temsil eder.
Visual Studio 2015 ve öncesi
<drive>:\Program Files[ (x86)]\MSBuild\Microsoft.Cpp\v4.0\<version>\Hedefler tarafından kullanılan birincil hedef dosyaları (
.targets) ve özellik dosyalarını (.props) içerir. Varsayılan olarak, $(VCTargetsPath) makro bu dizine başvurur.<drive>:\Program Files[ (x86)]\MSBuild\Microsoft.Cpp\v4.0\<version>\Platforms\<platform>\Üst dizinindeki hedefleri ve özellikleri geçersiz kılan platforma özgü hedef ve özellik dosyalarını içerir. Bu dizin, bu dizindeki hedefler tarafından kullanılan görevleri tanımlayan bir DLL de içerir. Yer
<platform>tutucu ARM, Win32 veya x64 alt dizinini temsil eder.<drive>:\Program Files[ (x86)]\MSBuild\Microsoft.Cpp\v4.0\<version>\Platforms\<platform>\PlatformToolsets\<toolset>\Derlemenin belirtilen
<toolset>kullanarak C++ uygulamaları oluşturmasını sağlayan dizinleri içerir. Yer<version>tutucu, Visual Studio 2012 için V110, Visual Studio 2013 için V120 ve Visual Studio 2015 için V140'tır. Yer<platform>tutucu ARM, Win32 veya x64 alt dizinini temsil eder. Yer tutucu araç<toolset>takımı alt dizinini temsil eder. Örneğin, Visual Studio 2015 araç takımını kullanarak Windows uygulamaları oluşturmak için v140'tır. Veya Visual Studio 2013 araç takımını kullanarak Windows XP için derlemeye v120_xp.<drive>:\Program Files[ (x86)]\MSBuild\Microsoft.Cpp\v4.0\Platforms\<platform>\PlatformToolsets\<toolset>\Derlemenin Visual Studio 2008 veya Visual Studio 2010 uygulamaları oluşturmasını sağlayan yollar içermez
<version>. Bu sürümlerde yer<platform>tutucu Itanium, Win32 veya x64 alt dizinini temsil eder. Yer tutucusu<toolset>v90 veya v100 araç kümesi alt dizinini temsil eder.
Destek Dosyaları
Destek dosyası dizinleri şu uzantılara sahip dosyaları içerir:
| Dahili | Açıklama |
|---|---|
.targets |
Hedef tarafından yürütülen görevleri belirten XML öğelerini içerir Target . Görev parametrelerine dosya ve komut satırı seçenekleri atamak için kullanılan , , ve kullanıcı tanımlı PropertyGroup öğeler de içerebilirItemGroup. ItemDefinitionGroupItemDaha fazla bilgi için bkz Target . Öğe (MSBuild). |
.props |
Derleme sırasında kullanılan dosya ve parametre ayarlarını belirten ve kullanıcı tanımlı Property Group XML öğelerini içerirProperty.Ayrıca ek ayarlar belirten ve kullanıcı tanımlı ItemDefinitionGroup XML öğeleri de içerebilirItem. Öğe tanımı grubunda tanımlanan öğeler özelliklere benzer, ancak komut satırından erişilemiyor. Visual Studio proje dosyaları genellikle ayarları göstermek için özellikler yerine öğeleri kullanır.Daha fazla bilgi için bkz ItemGroup. Öğe (MSBuild),ItemDefinitionGroupÖğe (MSBuild)veItemÖğesi (MSBuild). |
.xml |
IDE kullanıcı arabirimi öğelerini bildiren ve başlatan XML öğelerini içerir. Örneğin, özellik sayfaları, özellik sayfaları, metin kutusu denetimleri ve liste kutusu denetimleri. Dosyalar .xml MSBuild'i değil doğrudan IDE'yi destekler. Ancak, IDE özelliklerinin değerleri derleme özelliklerine ve öğelerine atanır.Dosyaların çoğu .xml yerel ayara özgü bir alt dizindedir. Örneğin, İngilizce-ABD bölgesi dosyaları içindedir $(VCTargetsPath)\1033\. |
Kullanıcı hedefleri ve özellikleri
MSBuild'i etkili bir şekilde kullanmak için, hangi özelliklerin ve hedeflerin yararlı ve ilgili olduğunu bilmenize yardımcı olur. Özelliklerin ve hedeflerin çoğu Visual Studio derleme sisteminin uygulanmasına yardımcı olur ve kullanıcıyla ilgili değildir. Bu bölümde, kullanıcı odaklı özellikler ve bilinmeye değer hedefler açıklanmaktadır.
PlatformToolset mülk
özelliği, PlatformToolset derlemede hangi Microsoft C++ (MSVC) araç takımının kullanıldığını belirler. Varsayılan olarak, geçerli araç takımı kullanılır. Bu özellik ayarlandığında, değeri yolu oluşturmak için değişmez dizelerle birleştirilir. Belirli bir platform için proje oluşturmak için gereken özellik ve hedef dosyaları içeren dizindir. Platform araç takımının bu platform araç takımı sürümü kullanılarak derlenebilmesi için yüklenmesi gerekir.
Örneğin, uygulamanızı derlemek PlatformToolset için özelliğini Visual Studio 2015 araçlarını ve kitaplıklarını kullanacak şekilde ayarlayınv140:
msbuild myProject.vcxproj /p:PlatformToolset=v140
PreferredToolArchitecture mülk
özelliği, PreferredToolArchitecture derlemede 32 bit veya 64 bit derleyici ve araçların kullanılıp kullanılmadığını belirler. Bu özellik çıkış platformu mimarisini veya yapılandırmasını etkilemez. Varsayılan olarak, bu özellik ayarlı değilse MSBuild derleyici ve araçların x86 sürümünü kullanır.
Örneğin, uygulamanızı derlemek PreferredToolArchitecture için 64 bit derleyici ve araçları kullanmak için özelliğini olarak ayarlayınx64:
msbuild myProject.vcxproj /p:PreferredToolArchitecture=x64
UseEnv mülk
Varsayılan olarak, geçerli projenin platforma özgü ayarları , , , PATH, , INCLUDEve LIB ortam değişkenlerini geçersiz kılarLIBPATH. CONFIGURATIONPLATFORM
UseEnv Ortam değişkenlerinin geçersiz kılınmamasını sağlamak için özelliğini true olarak ayarlayın.
msbuild myProject.vcxproj /p:UseEnv=true
Hedefler
Visual Studio destek dosyalarında yüzlerce hedef vardır. Ancak, çoğu kullanıcının yoksayabileceği sistem odaklı hedeflerdir. Sistem hedeflerinin çoğuna bir alt çizgi ()_ eklenmiştir veya , , PrepareFor, ComputeBefore, Afterveya Preile Postbaşlayan bir ada sahiptir.
Aşağıdaki tabloda birkaç kullanışlı kullanıcı odaklı hedef listelenmiştir.
| Hedef | Açıklama |
|---|---|
BscMake |
Microsoft Gözatma Bilgileri Bakım Yardımcı Programı aracını bscmake.exeyürütür. |
Build |
Projeyi oluşturur. Bu hedef, bir proje için varsayılandır. |
ClCompile |
MSVC derleyici aracını cl.exeyürütür. |
Clean |
Geçici ve ara derleme dosyalarını siler. |
Lib |
Microsoft 32 Bit Kitaplık Yöneticisi aracını lib.exeyürütür. |
Link |
MSVC bağlayıcı aracını link.exeyürütür. |
ManifestResourceCompile |
Bir bildirimdeki kaynakların listesini ayıklar ve ardından Microsoft Windows Kaynak Derleyicisi aracını rc.exeyürütür. |
Midl |
Microsoft Arabirim Tanım Dili (MIDL) derleyici aracını midl.exeyürütür. |
Rebuild |
Projenizi temizler ve sonra oluşturur. |
ResourceCompile |
Microsoft Windows Kaynak Derleyicisi aracını rc.exeyürütür. |
XdcMake |
XML Belgeleri aracını xdcmake.exeyürütür. |
Xsd |
XML Şema Tanımı aracını xsd.exeyürütür.
Nota bakın. |
Not
Visual Studio 2017 ve sonraki sürümlerde dosyalar için .xsd C++ proje desteği kullanım dışıdır. GaC'ye el ile ekleyerek Microsoft.VisualC.CppCodeProvider kullanmaya CppCodeProvider.dll devam edebilirsiniz.
Ayrıca bkz.
MSBuild görev başvurusu
BscMake görev
CL görev
CPPClean görev
LIB görev
Link görev
MIDL görev
MT görev
RC görev
SetEnv görev
VCMessage görev
XDCMake görev