简单了.NET项目文件中的属性

首先什么是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

上一篇:使用Certbot实现阿里云泛域名证书的自动续期


下一篇:多款Siemens NET CP产品不受控制的资源耗尽漏洞