Pre和Post Build事件参数

时间:2012-05-31 13:31:10

标签: c# visual-studio build post-build-event pre-build-event

在Visual Studio中,有人可以向我指出可用的构建前和构建后事件参数列表吗? 例如。 $(TargetDir)等等。

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:5)

link提供完整且更新的列表。但是,如果它中断,则answer将丢失。

目前,对于VS 2015,我们有:

<强> $(ConfigurationName)
当前项目配置的名称,例如&#34; Debug | Any CPU&#34;。

<强> $(OUTDIR)
输出文件目录的路径,相对于项目目录。这解析为Output Directory属性的值。它包括尾随反斜杠&#39; \。

<强> $(DevEnvDir)
Visual Studio 2005的安装目录(用驱动器和路径定义);包括尾随反斜杠&#39; \。

<强> $(PlatformName)
当前目标平台的名称。例如,&#34; AnyCPU&#34;。

<强> $(PROJECTDIR)
项目目录(用驱动器和路径定义);包括尾随反斜杠&#39; \。

<强> $(ProjectPath)
项目的绝对路径名(使用驱动器,路径,基本名称和文件扩展名定义)。

<强> $(项目名)
项目的基本名称。

<强> $(ProjectFileName)
项目的文件名(使用基本名称和文件扩展名定义)。

<强> $(ProjectExt)
项目的文件扩展名。它包括&#39;。&#39;在文件扩展名之前。

<强> $(SolutionDir)
解决方案的目录(使用驱动器和路径定义);包括尾随反斜杠&#39; \。

<强> $(SolutionPath)
解决方案的绝对路径名(使用驱动器,路径,基本名称和文件扩展名定义)。

<强> $(解决方案名称)
解决方案的基本名称。

<强> $(SolutionFileName)
解决方案的文件名(使用基本名称和文件扩展名定义)。

<强> $(SolutionExt)
解决方案的文件扩展名。它包括&#39;。&#39;在文件扩展名之前。

<强> $(TARGETDIR)
构建的主输出文件的目录(使用驱动器和路径定义)。它包括尾随反斜杠&#39; \。

<强> $(TARGETPATH)
构建的主输出文件的绝对路径名(使用驱动器,路径,基本名称和文件扩展名定义)。

<强> $(的TargetName)
构建的主输出文件的基本名称。

<强> $(TargetFileName)
构建的主输出文件的文件名(定义为基本名称和文件扩展名)。

<强> $(TargetExt)
构建的主输出文件的文件扩展名。它包括&#39;。&#39;在文件扩展名之前。

答案 2 :(得分:1)

以下是Visual Studio 2015的构建前和构建后事件参数(构建命令和属性的通用宏)的最新列表:https://msdn.microsoft.com/en-us/library/c02as0cs.aspx

$(远程机器)

在“调试”属性页上设置为“远程计算机” 属性的值。有关更多信息,请参见Changing Project Settings for a C/C++ Debug Configuration

$(配置)

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

$(平台)

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

$(父母姓名)

(不建议使用。)包含该项目项目的项目名称。这将是父文件夹名称或项目名称。

$(RootNameSpace)

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

$(IntDir)

指向为中间文件指定的目录的路径。如果这是相对路径,则中间文件将转到此路径,该路径将附加到项目目录中。此路径应带有斜线。解析为中间目录属性的值。请勿使用 $(OutDir)定义此属性。

$(OutDir)

输出文件目录的路径。如果这是相对路径,则输出文件将转到此路径,该路径将附加到项目目录中。此路径应带有斜线。这将解析为 Output Directory 属性的值。请勿使用 $(IntDir)定义此属性。

$(DevEnvDir)

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

$(InputDir)

(不建议使用;已迁移。)输入文件的目录(定义为drive + path);包括结尾的反斜杠“ \”。如果项目是输入,则此宏等效于 $(ProjectDir)

$(InputPath)

(不建议使用;已迁移。)输入文件的绝对路径名(定义为驱动器+路径+基本名称+文件扩展名)。如果项目是输入,则此宏等效于 $(ProjectPath)

$(输入名称)

(不建议使用;已迁移。)输入文件的基本名称。如果项目是输入,则此宏等效于 $(ProjectName)

$(InputFileName)

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

$(InputExt)

(不建议使用;已迁移。)输入文件的文件扩展名。它包含“。”文件扩展名之前。如果项目是输入,则此宏等效于 $(ProjectExt)

$(ProjectDir)

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

$(ProjectPath)

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

$(项目名称)

项目的基本名称。

$(ProjectFileName)

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

$(ProjectExt)

项目的文件扩展名。它包含“。”在文件扩展名之前。

$(SolutionDir)

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

$(SolutionPath)

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

$(解决方案名称)

解决方案的基本名称。

$(SolutionFileName)

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

$(SolutionExt)

解决方案的文件扩展名。它包含“。”在文件扩展名之前。

$(TargetDir)

构建的主要输出文件的目录(定义为drive + path);包括结尾的反斜杠“ \”。

$(TargetPath)

用于构建的主输出文件的绝对路径名(定义为驱动器+路径+基本名称+文件扩展名)。

$(TargetName)

构建的主要输出文件的基本名称。

$(TargetFileName)

用于构建的主要输出文件的文件名(定义为基本名称+文件扩展名)。

$(TargetExt)

构建的主要输出文件的文件扩展名。它包含“。”在文件扩展名之前。

$(VSInstallDir)

安装Visual Studio的目录。

此属性包含目标Visual Studio的版本,该版本可能与宿主Visual Studio不同。例如,使用$(PlatformToolset) = v110进行构建时, $(VSInstallDir)包含Visual Studio 2012安装的路径。

$(VCInstallDir)

安装Visual C ++的目录。

此属性包含目标Visual C ++的版本,该版本可能与宿主Visual Studio不同。例如,使用$(PlatformToolset) = v140构建时, $(VCInstallDir)包含Visual C ++ 2015安装的路径。

$(FrameworkDir)

.NET Framework的安装目录。

$(FrameworkVersion)

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

$(FrameworkSDKDir)

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

$(WebDeployPath)

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

$(WebDeployRoot)

位置的绝对路径。例如,c:\ inetpub \ wwwroot。

$(SafeParentName)

(不建议使用。)直接父级的名称,采用有效的名称格式。例如,表单是.resx文件的父级。

$(SafeInputName)

(不建议使用。)作为有效类名的文件名,减去文件扩展名。

$(SafeRootNamespace)

(不建议使用。)项目向导将在其中添加代码的名称空间名称。此名称空间名称将仅包含有效C ++标识符中允许的字符。

$(FxCopDir)

fxcop.cmd文件的路径。并非所有Visual C ++版本都安装了fxcop.cmd文件。