首先什么是MSBuild属性?
<PropertyGroup>
<BuildDir>Build</BuildDir>
</PropertyGroup>
综上可得,属性必须是
- PropertyGroup 的子元素
- 是一个 xml 元素
如何引用属性 BuildDir
的值?
使用 $(BuildDir)
即可。
引用项用 @ 符号,属性用 $ 符号。
MSBuild 的属性有哪些呢?
保留的和已知属性:https://docs.microsoft.com/zh-cn/visualstudio/msbuild/msbuild-reserved-and-well-known-properties?view=vs-2022
常用的 MSBuild 项目属性:https://docs.microsoft.com/zh-cn/visualstudio/msbuild/common-msbuild-project-properties?view=vs-2022
比如我们程序的 OutputPath,OutDir,OutputType,TargetFramework等等等等。
如何使用环境属性?
重要:每个 MSBuild 项目都有一个独立环境块,它只能识别对自己块的读写操作。 在计算或生成项目文件之前,MSBuild 只在初始化属性集合时读取环境变量。
如何使用环境变量属性呢?
<FinalOutput>$(BIN_PATH)\MyAssembly.dll</FinalOutput>
如何使用注册表属性?
设置值
$(registry:Hive\MyKey\MySubKey@Value)
获取值
$(registry:Hive\MyKey\MySubKey)
如何设置全局属性?
msbuild.exe MyProj.proj -p:Configuration=DEBUG
msbuild -p:TargetFramework=net45
-p 指定需要设置的属性,这回覆盖项目文件中设置的属性值。
注意:保留属性是不能更改的哦!
更多信息参考:
https://docs.microsoft.com/zh-cn/visualstudio/msbuild/msbuild-properties?view=vs-2022
属性函数:https://docs.microsoft.com/zh-cn/visualstudio/msbuild/property-functions?view=vs-2022