MSBuild のコマンドとプロパティの一般的なマクロCommon macros for MSBuild commands and properties

インストールオプションによっては、visual studio プロジェクトで (MSBuild に基づいて) 何百ものマクロを使用できるようになります。Depending on your installation options, Visual Studio can make hundreds of macros available to you in a Visual Studio project (based on MSBuild). これらは、既定で設定されている MSBuild プロパティ、または、またはプロジェクト設定で設定された MSBuild プロパティに対応します。They correspond to the MSBuild properties that are set by default, or in .props or .targets files, or in your project settings. 次のマクロは、プロジェクトの [プロパティ ページ] ダイアログ ボックス内の、文字列を入力できるどの場所にも使用できます。You can use these macros anywhere in a project's Property Pages dialog box where strings are accepted. これらのマクロでは大文字と小文字が区別されません。These macros aren't case-sensitive.

現在のプロパティとマクロを表示するView the current properties and macros

現在使用可能なすべてのマクロを表示するには、 [プロパティページ] ダイアログの [VC + + ディレクトリ] で、プロパティ行の末尾にあるドロップダウン矢印をクリックします。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. [編集] をクリックし、編集 ダイアログボックスで [マクロ] ボタンを選択します。Click on Edit and then in the edit dialog box, choose the Macros button. Visual Studio に表示されているプロパティとマクロの現在のセットが、それぞれの現在の値と共に表示されます。The current set of properties and macros visible to Visual Studio is listed along with the current value for each. 詳細については、「 C++プロジェクトプロパティページの参照」の「ユーザー定義の値の指定」セクションを参照してください。For more information, see the Specifying User-Defined Values section of C++ project property page reference.

VC + + マクロボタンVC++ macros button

一般的なマクロの一覧List of common macros

次の表は、使用可能なマクロのよく使用されるサブセットを示しています。ここには他に多くのものがあります。This table describes a commonly used subset of the available macros; there are many more not listed here. [マクロ] ダイアログにアクセスして、プロジェクトのすべてのプロパティとその現在の値を確認します。Go to the Macros dialog to see all of the properties and their current values in your project. MSBuild プロパティ定義がどのように作成され、.props、.targets、および .vcxproj ファイル内でマクロとして使用されるかについて詳しくは、「MSBuild プロパティ」を参照してください。For details on how MSBuild property definitions are created and used as macros in .props, .targets, and .vcxproj files, see MSBuild Properties.

マクロMacro 説明Description
$(Configuration)$(Configuration) 現在のプロジェクト構成の名前 ("Debug" など)。The name of the current project configuration, for example, "Debug".
$(DevEnvDir)$(DevEnvDir) Visual Studio のインストール ディレクトリ (ドライブ + パスで定義) です。最後に円記号 (\) が含まれます。The installation directory of Visual Studio (defined as drive + path); includes the trailing backslash '\'.
$(FrameworkDir)$(FrameworkDir) .NET Framework をインストールしたディレクトリです。The directory into which the .NET Framework was installed.
$(FrameworkSDKDir)$(FrameworkSDKDir) .NET Framework をインストールしたディレクトリです。The directory into which you installed the .NET Framework. .NET Framework は、Visual Studio 一部としてインストールされている場合も、個別にインストールされている場合もあります。The .NET Framework could have been installed as part of Visual Studio or separately.
$(FrameworkVersion)$(FrameworkVersion) Visual Studio が使用する .NET Framework のバージョンです。The version of the .NET Framework used by Visual Studio. $(FrameworkDir) と組み合わせると、Visual Studio が使用する .NET Framework のバージョンへの完全なパスになります。Combined with $(FrameworkDir), the full path to the version of the .NET Framework use by Visual Studio.
$(FxCopDir)$(FxCopDir) fxcop.cmd ファイルへのパスです。The path to the fxcop.cmd file. Fxcop ファイルは、Visual Studio のすべてのエディションと共にインストールされるわけではありません。The fxcop.cmd file is not installed with all Visual Studio editions.
$(IntDir)$(IntDir) 中間ファイルに指定されたディレクトリへのパスです。Path to the directory specified for intermediate files. 相対パスの場合、中間ファイルは、プロジェクトディレクトリに追加されたこのパスに移ります。If it's a relative path, intermediate files go to this path appended to the project directory. このパスの末尾にはスラッシュが必要です。This path should have a trailing slash. この値は、中間ディレクトリプロパティの値に解決されます。It resolves to the value for the Intermediate Directory property. $ (OutDir) を使用してこのプロパティを定義しないでください。Don't use $(OutDir) to define this property.
$(OutDir)$(OutDir) 出力ファイルのディレクトリへのパスです。Path to the output file directory. 相対パスの場合、出力ファイルはプロジェクトディレクトリに追加されたこのパスに移ります。If it's a relative path, output files go to this path appended to the project directory. このパスの末尾にはスラッシュが必要です。This path should have a trailing slash. これは、出力ディレクトリプロパティの値に解決されます。It resolves to the value for the Output Directory property. $ (Intdir) を使用してこのプロパティを定義しないでください。Don't use $(IntDir) to define this property.
$(Platform)$(Platform) 現在のプロジェクト プラットフォームの名前 (例: "Win32") です。The name of current project platform, for example, "Win32".
$ (PlatformShortName)$(PlatformShortName) 現在のアーキテクチャの短い名前 ("x86"、"x64" など)。The short name of current architecture, for example, "x86" or "x64".
$(ProjectDir)$(ProjectDir) プロジェクトのディレクトリ (ドライブ + パスで定義) です。最後に円記号 (\) が含まれます。The directory of the project (defined as drive + path); includes the trailing backslash '\'.
$(ProjectExt)$(ProjectExt) プロジェクトのファイル拡張子。The file extension of the project. ファイル拡張子の前にピリオド '.' が付きます。It includes the '.' before the file extension.
$(ProjectFileName)$(ProjectFileName) プロジェクトのファイル名 (基本名 + ファイル拡張子で定義) です。The file name of the project (defined as base name + file extension).
$(ProjectName)$(ProjectName) プロジェクトの基本名です。The base name of the project.
$(ProjectPath)$(ProjectPath) プロジェクトの絶対パス名 (ドライブ + パス + 基本名 + ファイル拡張子で定義) です。The absolute path name of the project (defined as drive + path + base name + file extension).
$ (PublishDir)$(PublishDir) 発行先の出力場所。末尾の円記号 '\' が含まれています。The output location for the publish target; includes the trailing backslash '\'. 既定値は $ (OutDir) app. publish\ フォルダーです。Defaults to the $(OutDir)app.publish\ folder.
$(RemoteMachine)$(RemoteMachine) [デバッグ] プロパティ ページで Remote Machine プロパティの値を設定します。Set to the value of the Remote Machine property on the Debug property page. 詳細については、「 C または C++ デバッグ構成のプロジェクト設定 」を参照してください。See Changing Project Settings for a C/C++ Debug Configuration for more information.
$(RootNameSpace)$(RootNameSpace) アプリケーションを含む名前空間 (定義されている場合) です。The namespace, if any, containing the application.
$(SolutionDir)$(SolutionDir) ソリューションのディレクトリ (ドライブ + パスで定義) です。最後に円記号 (\) が含まれます。The directory of the solution (defined as drive + path); includes the trailing backslash '\'. IDE でソリューションをビルドする場合にのみ定義されます。Defined only when building a solution in the IDE.
$(SolutionExt)$(SolutionExt) ソリューションのファイル拡張子です。The file extension of the solution. ファイル拡張子の前にピリオド '.' が付きます。It includes the '.' before the file extension. IDE でソリューションをビルドする場合にのみ定義されます。Defined only when building a solution in the IDE.
$(SolutionFileName)$(SolutionFileName) ソリューションのファイル名 (基本名 + ファイル拡張子で定義) です。The file name of the solution (defined as base name + file extension). IDE でソリューションをビルドする場合にのみ定義されます。Defined only when building a solution in the IDE.
$(SolutionName)$(SolutionName) ソリューションの基本名です。The base name of the solution. IDE でソリューションをビルドする場合にのみ定義されます。Defined only when building a solution in the IDE.
$(SolutionPath)$(SolutionPath) ソリューションの絶対パス名 (ドライブ + パス + 基本名 + ファイル拡張子で定義) です。The absolute path name of the solution (defined as drive + path + base name + file extension). IDE でソリューションをビルドする場合にのみ定義されます。Defined only when building a solution in the IDE.
$(TargetDir)$(TargetDir) ビルドのプライマリ出力ファイルのディレクトリ (ドライブ + パスで定義) です。最後に円記号 (\) が含まれます。The directory of the primary output file for the build (defined as drive + path); includes the trailing backslash '\'.
$(TargetExt)$(TargetExt) ビルドのプライマリ出力ファイルのファイル拡張子。The file extension of the primary output file for the build. ファイル拡張子の前にピリオド '.' が付きます。It includes the '.' before the file extension.
$(TargetFileName)$(TargetFileName) ビルドのプライマリ出力ファイルの名前 (基本名 + ファイル拡張子で定義) です。The file name of the primary output file for the build (defined as base name + file extension).
$(TargetName)$(TargetName) ビルドのプライマリ出力ファイルの基本名です。The base name of the primary output file for the build.
$(TargetPath)$(TargetPath) ビルドのプライマリ出力ファイルの絶対パス名 (ドライブ + パス + 基本名 + ファイル拡張子で定義) です。The absolute path name of the primary output file for the build (defined as drive + path + base name + file extension).
$(VCInstallDir)$(VCInstallDir) Visual Studio インストールの C++ コンテンツを格納するディレクトリ。The directory that contains the C++ content of your Visual Studio installation. このプロパティには、対象となる Microsoft C++ (MSVC) ツールセットのバージョンが含まれていますが、ホストの Visual Studio とは異なる場合があります。This property contains the version of the targeted Microsoft C++ (MSVC) toolset, which might be different that the host Visual Studio. たとえば、を使用$(PlatformToolset) = v140してビルドする場合、 $ (VCInstallDir) には Visual Studio 2015 インストールのパスが含まれます。For example, when building with $(PlatformToolset) = v140, $(VCInstallDir) contains the path to the Visual Studio 2015 installation.
$(VSInstallDir)$(VSInstallDir) Visual Studio をインストールしたディレクトリです。The directory into which you installed Visual Studio. このプロパティにはターゲットの Visual Studio ツールセットのバージョンが含まれますが、ホストの Visual C++ とは異なることがあります。This property contains the version of the targeted Visual Studio toolset, which might be different that the host Visual Studio. たとえば、 $(PlatformToolset) = v110を設定してビルドした場合、 $(VSInstallDir) には Visual Studio 2012 インストールへのパスが含まれます。For example, when building with $(PlatformToolset) = v110, $(VSInstallDir) contains the path to the Visual Studio 2012 installation.
$(WebDeployPath)$(WebDeployPath) Web 配置のルートから、プロジェクト出力が存在するディレクトリへの相対パスです。The relative path from the web deployment root to where the project outputs belong. RelativePathと同じ値を返します。Returns the same value as RelativePath.
$(WebDeployRoot)$(WebDeployRoot) <localhost> への絶対パスです。The absolute path to the location of <localhost>. たとえば、c:\inetpub\wwwroot などです。For example, c:\inetpub\wwwroot.

古いマクロObsolete macros

C++ のビルド システムは、Visual Studio 2008 と Visual Studio 2010 の間で大幅に変更されました。The build system for C++ was significantly changed between Visual Studio 2008 and Visual Studio 2010. 以前のプロジェクトの種類で使用されていた多くのマクロは、新しいものに変更されています。Many macros used in earlier project types have been changed to new ones. これらのマクロは使用されなくなったか、あるいは 1 つまたは複数の同等のプロパティまたは項目メタデータ マクロ ( %( 名前 ) ) 値に置き換えられました。These macros are no longer used or have been replaced by one or more equivalent properties or item metadata macro (%(name)) values. "移行済み" とマークされたマクロは、プロジェクトの移行ツールによって更新できます。Macros that are marked "migrated" can be updated by the project migration tool. そのマクロを含むプロジェクトが Visual Studio 2008 以前から Visual Studio 2010 に移行された場合、Visual Studio はそのマクロを同等の現在のマクロに変換します。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 は、プロジェクトを Visual Studio 2008 以前から新しいプロジェクトの種類に変換できません。Later versions of Visual Studio can't convert projects from Visual Studio 2008 and earlier to the new project type. 2 つの手順でこれらのプロジェクトを変換する必要があります。まず Visual Studio 2010 に変換し、Visual Studio の新しいバージョンにその結果を変換します。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. 詳細については、「Overview of potential upgrade issues」 (アップグレードの潜在的な問題の概要) を参照してください。For more information, see Overview of potential upgrade issues.

マクロMacro 説明Description
$(InputDir)$(InputDir) (移行済み)入力ファイルのディレクトリ (ドライブ + パスで定義) です。最後に円記号 (\) が含まれます。(Migrated.) The directory of the input file (defined as drive + path); includes the trailing backslash '\'. プロジェクトが入力の場合、このマクロは $(ProjectDir) と同等です。If the project is the input, then this macro is equivalent to $(ProjectDir).
$(InputExt)$(InputExt) (移行済み)入力ファイルのファイル拡張子。(Migrated.) The file extension of the input file. ファイル拡張子の前にピリオド '.' が付きます。It includes the '.' before the file extension. プロジェクトが入力の場合、このマクロは $(ProjectExt) と同等です。If the project is the input, then this macro is equivalent to $(ProjectExt). ソース ファイルの場合、これは %(Extension) です。For source files, this is %(Extension).
$(InputFileName)$(InputFileName) (移行済み)入力ファイルの名前 (基本名 + ファイル拡張子で定義) です。(Migrated.) The file name of the input file (defined as base name + file extension). プロジェクトが入力の場合、このマクロは $(ProjectFileName) と同等です。If the project is the input, then this macro is equivalent to $(ProjectFileName). ソース ファイルの場合、これは %(Identity) です。For source files, this is %(Identity).
$(InputName)$(InputName) (移行済み)入力ファイルの基本名です。(Migrated.) The base name of the input file. プロジェクトが入力の場合、このマクロは $(ProjectName) と同等です。If the project is the input, then this macro is equivalent to $(ProjectName). ソース ファイルの場合、これは %(Filename) です。For source files, this is %(Filename).
$(InputPath)$(InputPath) (移行済み)入力ファイルの絶対パス名 (ドライブ + パス + 基本名 + ファイル拡張子で定義) です。(Migrated.) The absolute path name of the input file (defined as drive + path + base name + file extension). プロジェクトが入力の場合、このマクロは $(ProjectPath) と同等です。If the project is the input, then this macro is equivalent to $(ProjectPath). ソース ファイルの場合、これは %(FullPath) です。For source files, this is %(FullPath).
$(ParentName)$(ParentName) このプロジェクト項目を含む項目の名前です。Name of the item containing this project item. これは、親フォルダー名またはプロジェクト名になります。This will be the parent folder name, or project name.
$(SafeInputName)$(SafeInputName) 有効なクラス名としてのファイル名です。ファイル拡張子は除きます。The name of the file as a valid class name, minus file extension. このプロパティには、正確に等しいものはありません。This property does not have an exact equivalent.
$(SafeParentName)$(SafeParentName) 有効な名前形式で指定された、直接の親の名前です。The name of the immediate parent in valid name format. たとえば、フォームは .resx ファイルの親です。For example, a form is the parent of a .resx file. このプロパティには、正確に等しいものはありません。This property does not have an exact equivalent.
$(SafeRootNamespace)$(SafeRootNamespace) プロジェクト ウィザードでコードが追加される名前空間の名前です。The namespace name in which the project wizards will add code. この名前空間名には、有効な C++ 識別子で許可される文字列だけが含まれます。This namespace name will only contain characters that would be permitted in a valid C++ identifier. このプロパティには、正確に等しいものはありません。This property does not have an exact equivalent.

関連項目See also

Visual Studio プロジェクト-C++Visual Studio Projects - C++
視覚的C++な移植とアップグレードのガイドVisual C++ porting and upgrading guide
アップグレード時の潜在的な問題の概要Overview of potential upgrade issues