用于生成命令和属性的宏

更新:2010 年 12 月

可以在项目的**“属性页”**对话框中任何接受字符串的位置使用这些宏。 这些宏不区分大小写。

若要显示当前可用宏,请在某个属性名称的右侧列中单击下拉箭头。 如果**“编辑”可用,请单击此项,然后在编辑对话框中单击“宏”。 有关更多信息,请参见属性页 (C++)Specifying User-Defined Values**一节。

标记为“已否决”的宏不再使用,或已由等效的项元数据宏%(名称))所替代。 标记为“已否决;已迁移”的宏也已弃用。 此外,如果项目包含从 Visual Studio 2008 中迁移过来的宏,则 Visual Studio 会将该宏转换为等效的 Visual Studio 2010 宏。

说明

$(RemoteMachine)

在“调试”属性页上设置为 Remote Machine 属性的值。 有关更多信息,请参见更改用于 C/C++ 调试配置的项目设置

$(Configuration)

当前项目配置的名称(例如“Debug”)。

$(Platform)

当前项目平台的名称(例如“Win32”)。

$(ParentName)

(已否决。)包含此项目项的项的名称。 该名称将是父文件夹名称或项目名称。

$(RootNameSpace)

包含应用程序的命名空间(如果有)。

$(IntDir)

为中间文件指定的相对于项目目录的目录路径。 此路径应具有尾部斜杠。 这解析为 Intermediate Directory 属性的值。

$(OutDir)

输出文件目录的路径,相对于项目目录。 此路径应具有尾部斜杠。 这解析为 Output Directory 属性的值。

$(DevEnvDir)

Visual Studio 2010 的安装目录(定义为驱动器 + 路径);包括尾部反斜杠“\”。

$(InputDir)

(已否决;已迁移。)输入文件的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。 如果项目为输入,则此宏等效于 $(ProjectDir)

$(InputPath)

(已否决;已迁移。)输入文件的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。 如果项目为输入,则此宏等效于 $(ProjectPath)

$(InputName)

(已否决;已迁移。)输入文件的基本名称。 如果项目为输入,则此宏等效于 $(ProjectName)

$(InputFileName)

(已否决;已迁移。)输入文件的文件名(定义为基本名称 + 文件扩展名)。 如果项目为输入,则此宏等效于 $(ProjectFileName)

$(InputExt)

(已否决;已迁移。)输入文件的文件扩展名。 它在文件扩展名的前面包括“.”。 如果项目为输入,则此宏等效于 $(ProjectExt)

$(ProjectDir)

项目的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。

$(ProjectPath)

项目的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。

$(ProjectName)

项目的基名称。

$(ProjectFileName)

项目的文件名(定义为基本名称 + 文件扩展名)。

$(ProjectExt)

项目的文件扩展名。 它在文件扩展名的前面包括“.”。

$(SolutionDir)

解决方案的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。

$(SolutionPath)

解决方案的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。

$(SolutionName)

解决方案的基名称。

$(SolutionFileName)

解决方案的文件名(定义为基本名称 + 文件扩展名)。

$(SolutionExt)

解决方案的文件扩展名。 它在文件扩展名的前面包括“.”。

$(TargetDir)

生成的主输出文件的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。

$(TargetPath)

生成的主输出文件的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。

$(TargetName)

生成的主输出文件的基本名称。

$(TargetFileName)

生成的主输出文件的文件名(定义为基本名称 + 文件扩展名)。

$(TargetExt)

生成的主输出文件的文件扩展名。 它在文件扩展名的前面包括“.”。

$(VSInstallDir)

安装 Visual Studio 2010 的目录。 

此属性包含目标 Visual Studio 的版本,该版本可能与宿主 Visual Studio 不同。 例如,在使用 $(PlatformToolset) = v90 进行生成时,$(VSInstallDir) 包含 Visual Studio 2008 安装位置的路径。

$(VCInstallDir)

安装 Visual C++ 2010 的目录。 

此属性包含目标 Visual C++ 的版本,该版本可能与宿主 Visual Studio 不同。 例如,在使用 $(PlatformToolset) = v90 进行生成时,$(VCInstallDir) 包含 Visual C++ 2008 安装位置的路径。

$(FrameworkDir)

安装 .NET Framework 的目录。

$(FrameworkVersion)

Visual Studio 使用的 .NET Framework 版本。 与 $(FrameworkDir) 相结合,就是 Visual Studio 使用的 .NET Framework 版本的完整路径。

$(FrameworkSDKDir)

安装 .NET Framework 的目录。 .NET Framework 可能已作为 Visual Studio 2010 的一部分安装,也可能单独安装。

$(WebDeployPath)

从 Web 部署根到项目输出所属于的位置的相对路径。 返回与 RelativePath 相同的值。

$(WebDeployRoot)

指向 <localhost> 位置的绝对路径。 例如,c:\inetpub\wwwroot。

$(SafeParentName)

(已否决。)有效名称格式的直接父级的名称。 例如,窗体是 .resx 文件的父级。

$(SafeInputName)

(已否决。)作为有效类名的文件的名称,但不包括文件扩展名。

$(SafeRootNamespace)

(已否决。)项目向导将在其中添加代码的命名空间名称。 此命名空间名称将只包含在有效的 C++ 标识符中允许的字符。

$(FxCopDir)

fxcop.cmd 文件的路径。 fxcop.cmd 文件不和所有的 Visual C++ 版本一起安装。

请参见

其他资源

在 Visual Studio 中生成 C++ 项目

修订记录

日期

修订记录

原因

2010 年 12 月

描述一种显示当前可用宏的方法。

客户反馈

2010 年 7 月

链接到“项元数据宏”主题,并且改进了宏表示法原型。

内容 Bug 修复