访问项目中的 MS 生成参数

本文关键字:参数 MS 项目 访问 | 更新日期: 2023-09-27 18:36:06

我在解决方案中有一个项目,以及一个生成解决方案的 MS Build。作为构建的一部分,我可以添加 MS 构建参数。无论如何,我可以在项目内的代码中引用该构建参数吗?

访问项目中的 MS 生成参数

我以前实现过的一种"快速而肮脏"的方法是在 MSBuild 中动态生成源文件并将其添加到Compile项组中。

这是假设你的意思是"MS 生成参数"的 MSBuild 属性,指定/p:MyProperty=foo命令行上的参数。

<Target Name="WriteToFile" BeforeTargets="PrepareForBuild">
  <ItemGroup>
    <_Lines Include='// auto-generated!' />
    <_Lines Include='public class MyProperties {' />
    <_Lines Include='  public string Property1="$(Property1)"'; />
    <_Lines Include='}'; />
  </ItemGroup>
  <WriteLinesToFile
    File="autogen.cs"
    Lines="@(_Lines)"
    Overwrite="true" />
  </Target>
  <ItemGroup>
    <Compile Include="autogen.cs">
  </ItemGroup>
  </Target>