MSBuild komutları ve özellikleri için genel makrolarCommon macros for MSBuild commands and properties

Visual Studio, yükleme seçeneklerinize bağlı olarak, Visual Studio projesinde (MSBuild 'e göre) yüzlerce makro kullanabilir.Depending on your installation options, Visual Studio can make hundreds of macros available to you in a Visual Studio project (based on MSBuild). Bunlar, varsayılan olarak veya. props veya. targets dosyalarında ya da proje ayarlarınızda ayarlanan MSBuild özelliklerine karşılık gelir.They correspond to the MSBuild properties that are set by default, or in .props or .targets files, or in your project settings. Bu makroları, dizelerin kabul edildiği bir projenin Özellik sayfaları iletişim kutusunda herhangi bir yerde kullanabilirsiniz.You can use these macros anywhere in a project's Property Pages dialog box where strings are accepted. Bu makrolar büyük/küçük harfe duyarlı değildir.These macros aren't case-sensitive.

Geçerli özellikleri ve makroları görüntülemeView the current properties and macros

Mevcut olan tüm makroları göstermek için, Özellik sayfaları iletişim kutusunda, VC + + dizinleri altında, bir özellik satırının sonundaki açılan oku seçin.To display all of the currently available macros, in the Property Pages dialog, under VC++ Directories, choose the drop-down arrow at the end of a property row. Düzenle ' ye tıklayın ve ardından Düzenle Iletişim kutusunda makrolar düğmesini seçin.Click on Edit and then in the edit dialog box, choose the Macros button. Visual Studio tarafından görülebilen geçerli özellikler ve makrolar kümesi, her biri için geçerli değer ile birlikte listelenir.The current set of properties and macros visible to Visual Studio is listed along with the current value for each. Daha fazla bilgi için bkz. C++ proje özelliği sayfa başvurusunun User-Defined değerleri belirtme bölümü.For more information, see the Specifying User-Defined Values section of C++ project property page reference.

VC + + makroları düğmesiVC++ macros button

Ortak makro listesiList of common macros

Bu tabloda, kullanılabilir makroların yaygın olarak kullanılan bir alt kümesi açıklanmaktadır; Burada listelenen pek çok daha fazla bilgi vardır.This table describes a commonly used subset of the available macros; there are many more not listed here. Tüm özellikleri ve projenizdeki geçerli değerlerini görmek için makrolar iletişim kutusuna gidin.Go to the Macros dialog to see all of the properties and their current values in your project. MSBuild özellik tanımlarının. props,. targets ve. vcxproj dosyalarında makro olarak nasıl oluşturulduğu ve kullanıldığı hakkında ayrıntılı bilgi için bkz. MSBuild özellikleri.For details on how MSBuild property definitions are created and used as macros in .props, .targets, and .vcxproj files, see MSBuild Properties.

MakroyaMacro AçıklamaDescription
$ (Yapılandırma)$(Configuration) Geçerli proje yapılandırmasının adı, örneğin "Debug".The name of the current project configuration, for example, "Debug".
$ (DevEnvDir)$(DevEnvDir) Visual Studio yükleme dizini (sürücü + yol olarak tanımlanır); ' ' sonunda ters eğik çizgi içerir \ .The installation directory of Visual Studio (defined as drive + path); includes the trailing backslash '\'.
$ (FrameworkDir)$(FrameworkDir) .NET Framework yüklendiği dizin.The directory into which the .NET Framework was installed.
$ (FrameworkSDKDir)$(FrameworkSDKDir) .NET Framework yüklediğiniz dizin.The directory into which you installed the .NET Framework. .NET Framework, Visual Studio 'nun bir parçası olarak veya ayrı olarak yüklenmiş olabilir.The .NET Framework could have been installed as part of Visual Studio or separately.
$ (FrameworkVersion)$(FrameworkVersion) Visual Studio tarafından kullanılan .NET Framework sürümü.The version of the .NET Framework used by Visual Studio. $ (FrameworkDir) ile birlikte kullanıldığında, Visual Studio tarafından kullanılan .NET Framework sürümünün tam yoludur.Combined with $(FrameworkDir), the full path to the version of the .NET Framework use by Visual Studio.
$ (FxCopDir)$(FxCopDir) FxCop. cmd dosyasının yolu.The path to the fxcop.cmd file. FxCop. cmd dosyası tüm Visual Studio sürümleriyle birlikte yüklenmez.The fxcop.cmd file is not installed with all Visual Studio editions.
$ (IntDir)$(IntDir) Ara dosyalar için belirtilen dizinin yolu.Path to the directory specified for intermediate files. Göreli bir yol ise, ara dosyalar proje dizinine eklenen bu yola gider.If it's a relative path, intermediate files go to this path appended to the project directory. Bu yolun sonunda eğik çizgi olmalıdır.This path should have a trailing slash. Ara dizin özelliği için değer olarak çözümlenir.It resolves to the value for the Intermediate Directory property. Bu özelliği tanımlamak için $ (OutDir) kullanmayın.Don't use $(OutDir) to define this property.
$ (OutDir)$(OutDir) Çıkış dosyası dizininin yolu.Path to the output file directory. Göreli bir yol ise, çıkış dosyaları proje dizinine eklenen bu yola gider.If it's a relative path, output files go to this path appended to the project directory. Bu yolun sonunda eğik çizgi olmalıdır.This path should have a trailing slash. Çıkış dizini özelliğinin değerine çözümlenmektedir.It resolves to the value for the Output Directory property. Bu özelliği tanımlamak için $ (IntDir) kullanmayın.Don't use $(IntDir) to define this property.
$ (Platform)$(Platform) Geçerli proje platformunun adı, örneğin "Win32".The name of current project platform, for example, "Win32".
$ (PlatformShortName)$(PlatformShortName) Geçerli mimarinin kısa adı (örneğin, "x86" veya "x64").The short name of current architecture, for example, "x86" or "x64".
$ (ProjectDir)$(ProjectDir) Projenin dizini (sürücü + yol olarak tanımlanır); ' ' sonunda ters eğik çizgi içerir \ .The directory of the project (defined as drive + path); includes the trailing backslash '\'.
$ (ProjectExt)$(ProjectExt) Projenin dosya uzantısı.The file extension of the project. Dosya uzantısından önce '. ' içerir.It includes the '.' before the file extension.
$ (ProjectFileName)$(ProjectFileName) Projenin dosya adı (taban adı + dosya uzantısı olarak tanımlanır).The file name of the project (defined as base name + file extension).
$ (ProjectName)$(ProjectName) Projenin temel adı.The base name of the project.
$ (ProjectPath)$(ProjectPath) Projenin mutlak yol adı (sürücü + yol + taban adı + dosya uzantısı olarak tanımlanır).The absolute path name of the project (defined as drive + path + base name + file extension).
$ (PublishDir)$(PublishDir) Yayımla hedefi için çıkış konumu; ' ' sonunda ters eğik çizgi içerir \ .The output location for the publish target; includes the trailing backslash '\'. $ (OutDir) App. Publish \ klasörünü varsayılan olarak belirler.Defaults to the $(OutDir)app.publish\ folder.
$ (RemoteMachine)$(RemoteMachine) Hata ayıklama özelliği sayfasında, uzak makine özelliğinin değerine ayarlanır.Set to the value of the Remote Machine property on the Debug property page. Daha fazla bilgi için bkz. C/C++ hata ayıklama yapılandırması Için proje ayarlarını değiştirme .See Changing Project Settings for a C/C++ Debug Configuration for more information.
$ (RootNameSpace)$(RootNameSpace) Varsa, uygulamayı içeren ad alanı.The namespace, if any, containing the application.
$ (SolutionDir)$(SolutionDir) Çözümün dizini (sürücü + yol olarak tanımlanır); ' ' sonunda ters eğik çizgi içerir \ .The directory of the solution (defined as drive + path); includes the trailing backslash '\'. Yalnızca IDE 'de bir çözüm oluşturulurken tanımlanır.Defined only when building a solution in the IDE.
$ (SolutionExt)$(SolutionExt) Çözümün dosya uzantısı.The file extension of the solution. Dosya uzantısından önce '. ' içerir.It includes the '.' before the file extension. Yalnızca IDE 'de bir çözüm oluşturulurken tanımlanır.Defined only when building a solution in the IDE.
$ (SolutionFileName)$(SolutionFileName) Çözümün dosya adı (temel ad + dosya uzantısı olarak tanımlanır).The file name of the solution (defined as base name + file extension). Yalnızca IDE 'de bir çözüm oluşturulurken tanımlanır.Defined only when building a solution in the IDE.
$ (SolutionName)$(SolutionName) Çözümün temel adı.The base name of the solution. Yalnızca IDE 'de bir çözüm oluşturulurken tanımlanır.Defined only when building a solution in the IDE.
$ (SolutionPath)$(SolutionPath) Çözümün mutlak yol adı (sürücü + yol + taban adı + dosya uzantısı olarak tanımlanır).The absolute path name of the solution (defined as drive + path + base name + file extension). Yalnızca IDE 'de bir çözüm oluşturulurken tanımlanır.Defined only when building a solution in the IDE.
$ (TARGETDIR)$(TargetDir) Derleme için birincil çıkış dosyasının dizini (sürücü + yol olarak tanımlanır); ' ' sonunda ters eğik çizgi içerir \ .The directory of the primary output file for the build (defined as drive + path); includes the trailing backslash '\'.
$ (TargetExt)$(TargetExt) Derleme için birincil çıkış dosyasının dosya uzantısı.The file extension of the primary output file for the build. Dosya uzantısından önce '. ' içerir.It includes the '.' before the file extension.
$ (TargetFileName)$(TargetFileName) Derleme için birincil çıkış dosyasının dosya adı (temel ad + dosya uzantısı olarak tanımlanır).The file name of the primary output file for the build (defined as base name + file extension).
$ (TargetName)$(TargetName) Derleme için birincil çıkış dosyasının temel adı.The base name of the primary output file for the build.
$ (TargetPath)$(TargetPath) Derleme için birincil çıkış dosyasının mutlak yol adı (sürücü + yol + taban adı + dosya uzantısı olarak tanımlanır).The absolute path name of the primary output file for the build (defined as drive + path + base name + file extension).
$ (VCInstallDir)$(VCInstallDir) Visual Studio yüklemenizin C++ içeriğini içeren dizin.The directory that contains the C++ content of your Visual Studio installation. Bu özellik, Visual Studio 'Nun barındırından farklı olabilecek hedeflenen Microsoft C++ (MSVC) araç takımının sürümünü içerir.This property contains the version of the targeted Microsoft C++ (MSVC) toolset, which might be different that the host Visual Studio. Örneğin, ile derleme yaparken $(PlatformToolset) = v140 , $ (VCInstallDir) , Visual Studio 2015 yüklemesinin yolunu içerir.For example, when building with $(PlatformToolset) = v140, $(VCInstallDir) contains the path to the Visual Studio 2015 installation.
$ (VSInstallDir)$(VSInstallDir) Visual Studio 'Yu yüklediğiniz dizin.The directory into which you installed Visual Studio. Bu özellik hedeflenen Visual Studio araç takımının sürümünü içerir ve bu, Visual Studio 'nun barındırıcı farklı olabilir.This property contains the version of the targeted Visual Studio toolset, which might be different that the host Visual Studio. Örneğin, ile derleme yaparken $(PlatformToolset) = v110 , $ (VSInstallDir) , Visual Studio 2012 yüklemesinin yolunu içerir.For example, when building with $(PlatformToolset) = v110, $(VSInstallDir) contains the path to the Visual Studio 2012 installation.
$ (WebDeployPath)$(WebDeployPath) Web Dağıtım kökünden proje çıkışların ait olduğu yere göreli yol.The relative path from the web deployment root to where the project outputs belong.
$ (WebDeployRoot)$(WebDeployRoot) Konumunun mutlak yolu <localhost> .The absolute path to the location of <localhost>. Örneğin, c:\inetpub\wwwroot.For example, c:\inetpub\wwwroot.

Kullanılmayan makrolarObsolete macros

C++ derleme sistemi, Visual Studio 2008 ile Visual Studio 2010 arasında önemli ölçüde değiştirilmiştir.The build system for C++ was significantly changed between Visual Studio 2008 and Visual Studio 2010. Daha önceki proje türlerinde kullanılan birçok makro yeni olanlarla değiştirilmiştir.Many macros used in earlier project types have been changed to new ones. Bu makrolar artık kullanılmıyor veya bir veya daha fazla eşdeğer özellik ya da öğe meta veri makrosu (%(ad)) değeri tarafından değiştirildi.These macros are no longer used or have been replaced by one or more equivalent properties or item metadata macro (%(name)) values. "Geçirilmiş" olarak işaretlenen makrolar, proje geçiş aracı tarafından güncelleştirilebilen olabilir.Macros that are marked "migrated" can be updated by the project migration tool. Makroyu içeren proje Visual Studio 2008 veya daha eski bir sürümden Visual Studio 2010 ' ye geçirilirse, Visual Studio makroyu eşdeğer geçerli makroya dönüştürür.If the project that contains the macro is migrated from Visual Studio 2008 or earlier to Visual Studio 2010, Visual Studio converts the macro to the equivalent current macro. Visual Studio 'nun sonraki sürümleri, projeleri Visual Studio 2008 ve önceki sürümlerden yeni proje türüne dönüştüremiyor.Later versions of Visual Studio can't convert projects from Visual Studio 2008 and earlier to the new project type. Bu projeleri iki adımda dönüştürmeniz gerekir; önce bunları Visual Studio 2010 ' e dönüştürün ve sonra sonucu Visual Studio 'nun daha yeni sürümüne dönüştürün.You must convert these projects in two steps; first convert them to Visual Studio 2010, and then convert the result to your newer version of Visual Studio. Daha fazla bilgi için bkz. olası yükseltme sorunlarına genel bakış.For more information, see Overview of potential upgrade issues.

MakroyaMacro AçıklamaDescription
$ (InputDir)$(InputDir) (Geçirilmiş.) Giriş dosyasının dizini (sürücü + yol olarak tanımlanır); ' ' sonunda ters eğik çizgi içerir \ .(Migrated.) The directory of the input file (defined as drive + path); includes the trailing backslash '\'. Eğer proje giriş ise, bu makro $ (ProjectDir) ile eşdeğerdir.If the project is the input, then this macro is equivalent to $(ProjectDir).
$ (InputExt)$(InputExt) (Geçirilmiş.) Giriş dosyasının dosya uzantısı.(Migrated.) The file extension of the input file. Dosya uzantısından önce '. ' içerir.It includes the '.' before the file extension. Eğer proje giriş ise, bu makro $ (ProjectExt) ile eşdeğerdir.If the project is the input, then this macro is equivalent to $(ProjectExt). Kaynak dosyaları için % (uzantı).For source files, this is %(Extension).
$ (Inputfilename)$(InputFileName) (Geçirilmiş.) Giriş dosyasının dosya adı (taban adı + dosya uzantısı olarak tanımlanır).(Migrated.) The file name of the input file (defined as base name + file extension). Proje giriş ise, bu makro $ (ProjectFileName) ile eşdeğerdir.If the project is the input, then this macro is equivalent to $(ProjectFileName). Kaynak dosyaları için bu değer % (kimlik).For source files, this is %(Identity).
$ (Inputname)$(InputName) (Geçirilmiş.) Giriş dosyasının temel adı.(Migrated.) The base name of the input file. Eğer proje giriş ise, bu makro $ (ProjectName) ile eşdeğerdir.If the project is the input, then this macro is equivalent to $(ProjectName). Kaynak dosyaları için % (filename).For source files, this is %(Filename).
$ (Inputpath)$(InputPath) (Geçirilmiş.) Giriş dosyasının mutlak yol adı (sürücü + yol + taban adı + dosya uzantısı olarak tanımlanır).(Migrated.) The absolute path name of the input file (defined as drive + path + base name + file extension). Eğer proje giriş ise, bu makro $ (ProjectPath) ile eşdeğerdir.If the project is the input, then this macro is equivalent to $(ProjectPath). Kaynak dosyaları için bu değer % (FullPath).For source files, this is %(FullPath).
$ (ParentName)$(ParentName) Bu proje öğesini içeren öğenin adı.Name of the item containing this project item. Bu, üst klasör adı veya proje adı olacaktır.This will be the parent folder name, or project name.
$ (Safeınputname)$(SafeInputName) Dosyanın adı geçerli bir sınıf adı, eksi dosya uzantısı.The name of the file as a valid class name, minus file extension. Bu özelliğin tam bir eşdeğeri yoktur.This property does not have an exact equivalent.
$ (SafeParentName)$(SafeParentName) Geçerli ad biçiminde hemen üst öğenin adı.The name of the immediate parent in valid name format. Örneğin, bir form. resx dosyasının üst öğesidir.For example, a form is the parent of a .resx file. Bu özelliğin tam bir eşdeğeri yoktur.This property does not have an exact equivalent.
$ (SafeRootNamespace)$(SafeRootNamespace) Proje sihirbazlarının kod ekleneceği ad alanı adı.The namespace name in which the project wizards will add code. Bu ad alanı adı, yalnızca geçerli bir C++ tanımlayıcıda izin verilen karakterler içerir.This namespace name will only contain characters that would be permitted in a valid C++ identifier. Bu özelliğin tam bir eşdeğeri yoktur.This property does not have an exact equivalent.

Ayrıca bkz.See also

Visual Studio projeleri-C++Visual Studio Projects - C++
Visual C++ taşıma ve Yükseltme KılavuzuVisual C++ porting and upgrading guide
Olası yükseltme sorunlarına genel bakışOverview of potential upgrade issues