MSBuild 内置变量列表

Posted

技术标签:

【中文标题】MSBuild 内置变量列表【英文标题】:List of MSBuild built-in variables 【发布时间】:2010-11-29 23:48:34 【问题描述】:

如何获取内置 MSBuild 变量的列表?

我需要知道如何确定当前项目的 csproj 名称,并认为了解在 MSBuild 中还能找到什么可能会很有用。

【问题讨论】:

【参考方案1】:

来自 Microsoft Docs(新文档)的综合列表:

Common macros for MSBuild commands and properties

来自 MSDN(旧版文档)的综合列表:

MSBuild reserved properties Common MSBuild properties Macros for Build Commands and Properties

其他有用的列表:

Well-known item metadata MSBuild special characters

第一个链接显示项目名称的 MSBuild 属性:

MSBuildProjectName 不带文件的项目文件的文件名 扩展名

【讨论】:

我还会包括docs.microsoft.com/en-us/dotnet/core/tools/…。这些属性在迁移到新的 csproj 格式时非常有用。【参考方案2】:

http://msdn.microsoft.com/en-us/library/c02as0cs(loband).aspx

【讨论】:

这是后面问题中提到的宏列表的链接。我相信这些是 VS 设置的属性,所以请注意,如果从命令行构建 - 这些值将不会被设置。【参考方案3】:

这些属性也可以由 3rd-party 工具定义,以便获得我刚刚使用的完整列表(例如在 C++ 项目中):属性 -> 配置属性 -> 常规 -> 然后在输出或中间目录下拉向下选择 Edit...,您应该会看到所有已定义属性的列表。

【讨论】:

【参考方案4】:

这似乎是一个非常详尽的列表:Common macros for MSBuild commands and properties

【讨论】:

【参考方案5】:

还有用于管道的 Agent 和 Build 预定义变量:https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml。这些是我在看到这篇文章时一直在寻找的变量,所以当我最终找到它们时,我想我会传递链接。

【讨论】:

【参考方案6】:

我还将为 MSBuild 包括一个 Common Properties and Parameters 列表。

此外,这些属性取决于您使用的 MSBuild 版本。有3个版本。

【讨论】:

以上是关于MSBuild 内置变量列表的主要内容,如果未能解决你的问题,请参考以下文章

Nginx核心模块内置变量

Postman 内置的动态变量

msbuild、dotnet sdks、azure、kudu等使用的环境变量列表

Python数据结构与算法(1.2)——Python基础之变量与内置数据类型

FGL内置函数大全

shader的内置矩阵和一些变量